:root{
  --bg:#06101a;
  --bg-deep:#040b12;
  --panel:#08131e;
  --panel-2:#0a1622;
  --line:#293846;
  --line-bright:#445463;
  --text:#f1f3f4;
  --muted:#8996a2;
  --gold:#c3a05a;
  --gold-soft:#d4bb82;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg-deep);color:var(--text)}
body{font:14px/1.5 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#050c13 0,#07121d 52%,#050b11 100%) fixed}
.wrap{max-width:1180px;margin:auto;padding:0 30px}.hidden{display:none!important}
button,input,select,textarea{font:inherit}

.catalog-header{border-bottom:1px solid var(--line);padding:30px 0 24px;background:rgba(5,12,19,.92)}
.catalog-head-inner{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:end}
.brand,.footer-brand{font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:.27em;line-height:1;color:#f2f0e9;text-shadow:0 0 20px rgba(195,160,90,.035)}
.brand-sub,.footer-sub{margin-top:8px;font-size:9px;letter-spacing:.38em;color:#afb7bf}
.header-rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:5px;opacity:.75}
.header-note{font-size:10px;letter-spacing:.19em;color:#b7b1a4;text-align:right;white-space:nowrap}.header-note::after{content:"";display:inline-block;width:16px;height:1px;background:var(--gold);margin-left:10px;vertical-align:middle;opacity:.7}

.toolbar{position:sticky;top:0;z-index:10;background:rgba(5,13,21,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.toolbar-inner{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(300px,2fr) auto;gap:14px;align-items:center;padding-top:15px;padding-bottom:15px}
.search-wrap{position:relative}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-52%);font-size:18px;color:#b5bec7}
#q{width:100%;height:42px;border:1px solid var(--line-bright);border-radius:1px;background:#07111b;color:#f0f2f3;padding:0 14px 0 39px;outline:none;font-size:11px;letter-spacing:.06em}
#q::placeholder{color:#788591}#q:focus{border-color:var(--gold)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button,.tabs .btn,button{border:1px solid var(--line-bright);border-radius:1px;background:#08131d;color:#d3d9de;padding:10px 13px;cursor:pointer;font-size:10px;letter-spacing:.09em;text-transform:uppercase;transition:.15s ease}
.tabs button:hover,.tabs button.active{border-color:var(--gold);color:#f0dfb9;background:#0b151f;box-shadow:inset 0 -1px 0 rgba(195,160,90,.55)}.count{font-size:10px;letter-spacing:.13em;color:#aeb7c0;white-space:nowrap;text-transform:uppercase}

.catalog-main{padding-top:28px;padding-bottom:60px;min-height:65vh}.catalog-label-row{display:flex;justify-content:space-between;align-items:center;padding:0 0 9px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.18em;color:#cbd1d6}.catalog-hint{color:#6f7c88;font-size:9px}
.notice{padding:12px 14px;border:1px solid #62512e;background:#101318;color:#d8c9a8;margin-bottom:18px;border-radius:1px}

#cards .card{position:relative;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:17px 0 15px;transition:background .15s ease}
#cards .card:hover{background:linear-gradient(90deg,rgba(195,160,90,.045),transparent 70%)}
#cards .card:first-child{border-top:0}
#cards .title{font-size:16px;font-weight:500;letter-spacing:.015em;color:#f0f2f3}#cards .card:hover .title{color:#f1e3c4}
#cards .pill{display:inline-block;margin:0 8px 7px 0;border:1px solid #334452;border-radius:1px;padding:3px 7px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#9eaab5;background:#07111a}
#cards .desc{max-width:850px;margin:7px 0 11px;color:#aeb8c1;font-size:13px;line-height:1.55}
#cards .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
#cards .tag{border:0;border-radius:0;background:transparent;padding:0 10px 0 0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7f8c97;position:relative}
#cards .tag:not(:last-child):after{content:"/";position:absolute;right:1px;color:#4e5d69}
#cards .tag.mood{color:#b9c2ca}
#cards audio{display:block;width:100%;height:32px;margin-top:13px;filter:saturate(.65) contrast(.95);opacity:.9}
.more-toggle{margin-top:13px;padding:7px 0;border:0;border-top:1px solid #1f2d38;background:transparent;color:#aab4bd;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.18em;text-transform:uppercase;text-align:left}
.more-toggle:hover,.card.open .more-toggle{color:var(--gold-soft)}.toggle-mark{font-size:15px;font-weight:300;color:var(--gold)}
#cards .collapsible-details{display:none;margin-top:0;padding:16px 0 3px;border-top:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
#cards .card.open .collapsible-details{display:grid}
#cards .meta h4{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#687682;margin:0 0 6px;font-weight:600}
#cards .meta div{font-size:12px;color:#c8d0d6;line-height:1.5}

.catalog-footer{border-top:1px solid var(--line);background:#050c12}.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;padding-top:23px;padding-bottom:26px}.footer-brand{font-size:18px}.footer-sub{font-size:8px}.footer-right{display:flex;align-items:flex-end;gap:34px}.contact-block{text-align:right}.contact-label{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:#7f8c97;margin-bottom:5px}.contact-email{font-size:10px;letter-spacing:.08em;color:#d7c69f;text-decoration:none;border-bottom:1px solid rgba(195,160,90,.45);padding-bottom:2px}.contact-email:hover{color:#f1dfb4;border-color:var(--gold)}.footer-tag{font-size:9px;letter-spacing:.31em;line-height:1.85;text-align:right;color:#8f9aa4;border-left:1px solid var(--gold);padding-left:28px}

@media(max-width:820px){.catalog-head-inner{grid-template-columns:1fr}.header-rule,.header-note{display:none}.toolbar-inner{grid-template-columns:1fr}.tabs{order:2}.count{order:3}.catalog-hint{display:none}#cards .collapsible-details{grid-template-columns:1fr 1fr}.wrap{padding-left:20px;padding-right:20px}}
@media(max-width:520px){.brand{font-size:23px}.catalog-header{padding:24px 0 20px}#cards .collapsible-details{grid-template-columns:1fr}.footer-inner{align-items:flex-start;gap:25px;flex-direction:column}.footer-right{width:100%;justify-content:space-between;gap:18px}.contact-block{text-align:left}.footer-tag{padding-left:15px}}

.site-nav{display:flex;gap:28px;padding-top:16px;padding-bottom:16px}.site-nav a{color:#9eabb6;text-decoration:none;font-size:10px;letter-spacing:.17em;text-transform:uppercase;padding-bottom:7px;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a.active{color:#e4d1a6;border-color:var(--gold)}.category-description{padding:16px 0 23px;color:#c6cdd3;font-size:13px;max-width:800px}.composition-intro{color:#b8c4cc;margin:24px 0 32px;max-width:700px}.composition-intro a{color:#d6bb82}.project-grid{display:grid;gap:30px;margin-top:24px}.project-card{display:grid;grid-template-columns:minmax(280px,1.3fr) minmax(220px,1fr);gap:25px;padding-bottom:30px;border-bottom:1px solid var(--line)}.project-video{aspect-ratio:16/9;background:#0b1722;display:flex;align-items:center;justify-content:center}.project-video iframe,.project-video video{width:100%;height:100%;border:0}.project-video a{color:#d6bb82}.project-type{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.project-meta h2{font-size:22px;font-weight:500;margin:10px 0}.project-meta p{color:#aeb8c1;line-height:1.6}@media(max-width:720px){.project-card{grid-template-columns:1fr}.site-nav{gap:18px}}

/* Selected category context, displayed above its tracks */
.category-intro{padding:23px 0 22px;border-bottom:1px solid var(--line);margin-bottom:16px}
.category-intro h2{margin:0;color:#e7e9e9;font-size:23px;font-weight:500;letter-spacing:.015em}
.category-intro .category-description{margin:9px 0 0;padding:0;line-height:1.65;color:#b8c4cc;font-size:13px;max-width:800px}
