.soundmap-page{overflow:hidden;background:#050505}
.soundmap-hero{position:relative;min-height:720px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);background:
  radial-gradient(circle at 72% 40%,rgba(214,168,75,.17),transparent 19%),
  radial-gradient(circle at 17% 18%,rgba(214,168,75,.08),transparent 23%),
  linear-gradient(120deg,#050505 0%,#080705 52%,#030303 100%)}
.soundmap-hero:before{content:"";position:absolute;inset:0;background:url('../images/world-map-preview.webp') center/cover no-repeat;opacity:.18;filter:contrast(1.3) saturate(.5);mix-blend-mode:screen}
.soundmap-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.88) 38%,rgba(5,5,5,.25) 70%,#050505 100%)}
.soundmap-hero-grid{position:absolute;inset:0;z-index:1;opacity:.2;background-image:linear-gradient(rgba(214,168,75,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(214,168,75,.13) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,transparent 5%,#000 35%,#000 75%,transparent)}
.soundmap-hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:70px;align-items:center;padding:95px 0 80px}
.soundmap-kicker{margin:0 0 18px;color:var(--gold2);font-size:.72rem;font-weight:700;letter-spacing:.27em;text-transform:uppercase}
.soundmap-hero h1{margin:0;font-family:Impact,'Arial Narrow Bold',sans-serif;font-size:clamp(6rem,15vw,13.5rem);font-weight:400;letter-spacing:.015em;line-height:.72;text-transform:uppercase;text-shadow:0 14px 45px rgba(0,0,0,.7)}
.soundmap-lead{max-width:720px;margin:35px 0 0;color:#d8d2c8;font-size:clamp(1rem,1.55vw,1.34rem);line-height:1.6}
.soundmap-hero-copy .btn{margin-top:32px}
.soundmap-orbit{position:relative;width:min(46vw,590px);aspect-ratio:1;margin:auto}
.soundmap-orbit:before{content:"";position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle,rgba(214,168,75,.25),rgba(214,168,75,.035) 38%,transparent 70%);filter:blur(3px)}
.soundmap-orbit-ring{position:absolute;inset:8%;border:1px solid rgba(214,168,75,.34);border-radius:50%;box-shadow:0 0 90px rgba(214,168,75,.07),inset 0 0 60px rgba(214,168,75,.03)}
.soundmap-orbit-ring.ring-two{inset:25%;border-style:dashed;animation:soundmap-spin 35s linear infinite reverse}
.soundmap-orbit-ring.ring-one{animation:soundmap-spin 55s linear infinite}
.soundmap-orbit-center{position:absolute;inset:39%;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:#080705;box-shadow:0 0 65px rgba(214,168,75,.3)}
.soundmap-orbit-center span{width:18%;aspect-ratio:1;border-radius:50%;background:var(--gold2);box-shadow:0 0 28px var(--gold)}
.soundmap-orbit i{position:absolute;left:50%;top:50%;width:14px;height:14px;border:2px solid #fff1c7;border-radius:50%;background:var(--gold);box-shadow:0 0 22px var(--gold);transform:rotate(calc(var(--pin) * 45deg)) translateY(-220px) rotate(calc(var(--pin) * -45deg))}
@keyframes soundmap-spin{to{transform:rotate(360deg)}}
.soundmap-stats{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-bottom:0;background:rgba(6,6,6,.82);backdrop-filter:blur(12px)}
.soundmap-stats div{display:flex;align-items:baseline;justify-content:center;gap:14px;padding:23px 20px;border-right:1px solid var(--line)}
.soundmap-stats div:last-child{border-right:0}
.soundmap-stats strong{color:var(--gold2);font-family:Impact,'Arial Narrow Bold',sans-serif;font-size:2.6rem;font-weight:400;line-height:1}
.soundmap-stats span{color:#bdb5aa;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}
.soundmap-explorer-section,.soundmap-archive-section,.soundmap-partner-section{padding:95px 0}
.soundmap-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.soundmap-section-head h2,.soundmap-partner-inner h2{margin:0;font-family:Impact,'Arial Narrow Bold',sans-serif;font-size:clamp(3.3rem,7vw,7rem);font-weight:400;line-height:.88;text-transform:uppercase}
.soundmap-section-head>div>p:last-child{max-width:780px;margin:20px 0 0;color:#c6bfb4;font-size:1rem}
.soundmap-live-count{flex:0 0 auto;padding:13px 17px;border:1px solid var(--line);color:var(--gold2);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.soundmap-controls{position:relative;z-index:5;display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr) auto;gap:15px;align-items:center;padding:14px;border:1px solid var(--line);border-bottom:0;background:#090909}
.soundmap-search input{width:100%;height:50px;border:1px solid rgba(214,168,75,.27);outline:0;background:#050505;color:#f5f1ea;padding:0 17px;font:inherit}
.soundmap-search input:focus{border-color:var(--gold)}
.soundmap-search input::placeholder{color:#777168}
.soundmap-filter-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.soundmap-filter-chips button,.soundmap-reset{min-height:46px;white-space:nowrap;border:1px solid rgba(214,168,75,.28);background:#070707;color:#c8c1b7;padding:0 15px;font:700 .66rem/1 Arial,Helvetica,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.soundmap-filter-chips button:hover,.soundmap-filter-chips button.is-active,.soundmap-reset:hover{border-color:var(--gold);background:linear-gradient(135deg,#b9842c,#e7c466);color:#120d06}
.soundmap-stage{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.65fr);min-height:720px;border:1px solid var(--line);background:#080808;transition:.25s}
.soundmap-map-wrap{position:relative;min-width:0;border-right:1px solid var(--line)}
.soundmap-map{width:100%;height:100%;min-height:720px;background:#070707}
.soundmap-fullscreen{position:absolute;z-index:600;right:16px;top:16px;min-height:42px;border:1px solid var(--gold);background:rgba(5,5,5,.9);color:var(--gold2);padding:0 15px;font:700 .65rem/1 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px)}
.soundmap-map-note{position:absolute;z-index:500;left:16px;bottom:12px;max-width:560px;margin:0;padding:8px 11px;background:rgba(5,5,5,.84);color:#aaa39a;font-size:.63rem;letter-spacing:.03em;backdrop-filter:blur(8px)}
.soundmap-stage.is-fullscreen{position:fixed;z-index:10050;inset:0;grid-template-columns:minmax(0,1fr) minmax(330px,430px);min-height:100vh;border:0}
.soundmap-stage.is-fullscreen .soundmap-map{min-height:100vh}
.soundmap-panel{display:flex;min-width:0;flex-direction:column;background:linear-gradient(155deg,#151006,#090909 53%,#050505)}
.soundmap-panel-visual{position:relative;aspect-ratio:16/10;background-position:center;background-size:cover;border-bottom:1px solid var(--line)}
.soundmap-panel-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(5,5,5,.96))}
.soundmap-panel-visual.is-placeholder{background:radial-gradient(circle at 50% 38%,rgba(214,168,75,.18),transparent 22%),linear-gradient(135deg,#15110b,#060606)}
.soundmap-panel-visual.is-placeholder:before{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border:4px solid #fff0c1;border-radius:50%;background:var(--gold);box-shadow:0 0 35px var(--gold)}
.soundmap-panel-body{display:flex;flex:1;flex-direction:column;padding:30px}
.soundmap-panel-kicker{margin:0 0 10px;color:var(--gold);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.soundmap-panel h3{margin:0;font-size:clamp(2rem,3vw,3.6rem);line-height:.96;text-transform:uppercase}
.soundmap-panel-meta{min-height:20px;margin:13px 0 0;color:var(--gold2);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.soundmap-panel-description{margin:18px 0;color:#c9c2b8;font-size:.9rem;line-height:1.6}
.soundmap-panel-episodes{display:grid;gap:9px;margin:4px 0 20px}
.soundmap-panel-episode{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(214,168,75,.2);background:#080808}
.soundmap-panel-episode img{width:58px;height:58px;object-fit:cover}
.soundmap-panel-episode strong{display:block;font-size:.78rem;line-height:1.25}
.soundmap-panel-episode span{display:block;margin-top:3px;color:#928a80;font-size:.62rem}
.soundmap-panel-episode a{color:var(--gold2);font-size:1rem}
.soundmap-place-link{align-self:flex-start;margin-top:auto}
.ps-soundmap-pin-wrap{background:none!important;border:0!important}
.ps-soundmap-pin{position:relative;width:34px;height:42px;filter:drop-shadow(0 0 13px rgba(214,168,75,.9))}
.ps-soundmap-pin:before{content:"";position:absolute;left:6px;top:2px;width:22px;height:22px;border:3px solid #fff0c4;border-radius:50% 50% 50% 0;background:var(--gold);transform:rotate(-45deg)}
.ps-soundmap-pin:after{content:attr(data-count);position:absolute;left:8px;top:4px;width:18px;height:18px;display:grid;place-items:center;color:#171006;font:800 10px/1 Arial,sans-serif;transform:rotate(0)}
.leaflet-tooltip.ps-soundmap-tooltip{border:1px solid var(--gold);border-radius:0;background:#070707;color:#f7f1e7;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:.72rem;letter-spacing:.04em}
.leaflet-tooltip-top.ps-soundmap-tooltip:before{border-top-color:var(--gold)}
.soundmap-archive-section{border-top:1px solid rgba(214,168,75,.12);background:linear-gradient(180deg,#050505,#080706)}
.soundmap-archive-head{margin-bottom:38px}
.soundmap-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.soundmap-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#090909;overflow:hidden;transition:transform .22s,border-color .22s}
.soundmap-card:hover{transform:translateY(-4px);border-color:rgba(242,211,124,.65)}
.soundmap-card[hidden]{display:none}
.soundmap-card-image{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.soundmap-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.9))}
.soundmap-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}
.soundmap-card:hover .soundmap-card-image img{transform:scale(1.035)}
.soundmap-card-image span{position:absolute;z-index:2;left:18px;bottom:15px;color:var(--gold2);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}
.soundmap-card-body{display:flex;flex:1;flex-direction:column;padding:23px}
.soundmap-card-place{margin:0;color:var(--gold);font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}
.soundmap-card h3{margin:7px 0 10px;font-size:1.45rem;line-height:1.06}
.soundmap-card-meta{margin:0 0 16px;color:#9d958a;font-size:.67rem;letter-spacing:.04em;text-transform:uppercase}
.soundmap-card-body>p:not(.soundmap-card-place):not(.soundmap-card-meta){margin:0 0 22px;color:#c6bfb5;font-size:.84rem;line-height:1.56}
.soundmap-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}
.soundmap-card-actions .btn{min-height:44px;padding:0 17px;font-size:.63rem}
.soundmap-card-actions button{font-family:inherit}
.soundmap-no-results{padding:38px;border:1px solid var(--line);text-align:center;color:#c5beb4}
.soundmap-partner-section{border-top:1px solid var(--line);background:radial-gradient(circle at 80% 50%,rgba(214,168,75,.12),transparent 28%),#070707}
.soundmap-partner-inner{display:grid;grid-template-columns:minmax(0,1.15fr) auto;gap:60px;align-items:end}
.soundmap-partner-inner p:not(.soundmap-kicker){max-width:760px;color:#c9c1b7;font-size:1rem}
.soundmap-partner-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.soundmap-lock{overflow:hidden}
@media(max-width:1180px){
  .soundmap-hero-inner{grid-template-columns:1fr minmax(300px,.65fr);gap:25px}
  .soundmap-orbit i{transform:rotate(calc(var(--pin) * 45deg)) translateY(-170px) rotate(calc(var(--pin) * -45deg))}
  .soundmap-controls{grid-template-columns:1fr auto}.soundmap-filter-chips{grid-column:1/-1;grid-row:2}
  .soundmap-stage{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}
  .soundmap-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .soundmap-hero{min-height:auto}.soundmap-hero-inner{grid-template-columns:1fr;padding:82px 0 35px}.soundmap-orbit{width:min(80vw,480px)}
  .soundmap-stage{grid-template-columns:1fr}.soundmap-map-wrap{border-right:0;border-bottom:1px solid var(--line)}.soundmap-map{min-height:620px}.soundmap-panel{min-height:500px}
  .soundmap-stage.is-fullscreen{grid-template-columns:1fr;overflow-y:auto}.soundmap-stage.is-fullscreen .soundmap-map{min-height:70vh}.soundmap-stage.is-fullscreen .soundmap-panel{min-height:30vh}
  .soundmap-partner-inner{grid-template-columns:1fr;gap:25px}.soundmap-partner-actions{justify-content:flex-start}
}
@media(max-width:680px){
  .soundmap-hero h1{font-size:clamp(5.2rem,25vw,8rem)}.soundmap-orbit{display:none}.soundmap-hero-inner{padding-bottom:70px}
  .soundmap-stats{grid-template-columns:1fr}.soundmap-stats div{justify-content:flex-start;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}.soundmap-stats div:last-child{border-bottom:0}
  .soundmap-explorer-section,.soundmap-archive-section,.soundmap-partner-section{padding:62px 0}
  .soundmap-section-head{display:block}.soundmap-live-count{display:inline-block;margin-top:20px}
  .soundmap-controls{grid-template-columns:1fr}.soundmap-filter-chips{grid-column:auto;grid-row:auto}.soundmap-reset{width:100%}
  .soundmap-map{min-height:500px}.soundmap-panel-body{padding:24px 20px}.soundmap-panel-episode{grid-template-columns:52px minmax(0,1fr) auto}.soundmap-panel-episode img{width:52px;height:52px}
  .soundmap-card-grid{grid-template-columns:1fr}.soundmap-map-note{right:12px;max-width:none}.soundmap-fullscreen{right:10px;top:10px}
  .soundmap-partner-actions{display:grid}.soundmap-partner-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.soundmap-orbit-ring{animation:none}.soundmap-card,.soundmap-card-image img{transition:none}}
