body{margin:0;font-family:graveur-variable,sans-serif;background-color:#f4f4f4}.layout-grid{display:grid;grid-template-columns:220px 1fr;grid-template-rows:50px 1fr 50px;grid-template-areas:"nav header" "nav main" "nav footer";height:100vh}.main-nav{grid-area:nav;padding:2rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;box-sizing:border-box}.logo{width:100%;max-width:150px;margin:0 auto 2rem}.main-nav a{font-variation-settings:"opsz" 36,"wght" 600;display:block;color:#333;text-decoration:none;font-size:2rem;padding:1rem;border-radius:8px;margin-bottom:.5rem;transition:font-variation-settings .1s ease-in-out}.main-nav a:hover,.main-nav a[aria-current=page]{font-variation-settings:"opsz" 36,"wght" 900}.main-header,footer.main-footer{padding:1rem 2rem}.main-header{grid-area:header;border-bottom:1px solid #ddd}main.content{grid-area:main;align-self:center;justify-self:center;padding:2rem;overflow-y:auto}main.content:has(.portfolio-container){align-self:stretch;justify-self:stretch;width:95%}main.content:has(.detail-page){align-self:stretch;justify-self:stretch}main.content:has(.music-index){overflow-y:hidden;padding:0}footer.main-footer{grid-area:footer;border-top:1px solid #ddd;font-size:.9em;color:#333}.red-text{color:#c92c2c}.colored-text-container{margin-block:1rem}.tagline{font-variation-settings:"opsz" 36,"wght" 300;font-size:4rem;font-style:italic}.about{display:flex;justify-content:center}.about p{width:50%;font-size:1.5rem}.music-index{display:grid;grid-template-columns:250px 1fr;grid-gap:2rem;gap:2rem;height:100%;width:100%;padding:2rem;box-sizing:border-box}.portfolio-container{overflow:hidden}.description{font-family:acumin-variable,sans-serif;font-variation-settings:"wght" 250,"wdth" 105,"slnt" 0;font-size:.9rem}.filters{width:250px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;align-self:start}.music-list{overflow-y:auto;height:100%;padding-right:1rem}.filter-group{padding-bottom:.5rem;margin-bottom:.5rem}.filter-group h3{font-size:1.2rem;margin:0 0 .5rem}.filter-btn{background:none;border:none;padding:.3rem 0;margin:0;font-family:acumin-variable,sans-serif;font-variation-settings:"wght" 400,"wdth" 100,"slnt" 0;font-size:.85rem;color:#555;cursor:pointer;display:block;text-align:left;width:100%;transition:color .2s,font-variation-settings .2s ease}.filter-btn:hover{color:#000;font-variation-settings:"wght" 600}.filter-btn.active{color:#c92c2c;font-variation-settings:"wght" 600}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn.chip{display:inline-block;width:auto;background:#f2f2f2;border:1px solid #e6e6e6;border-radius:8px;padding:.3rem .6rem;margin:0;text-align:center;color:#333;font-size:.8rem}.filter-btn.chip:hover{background:#e9e9e9;color:#000;font-weight:400}.filter-btn.chip.active{background:#c92c2c;border-color:#c92c2c;color:#fff;font-weight:400}.item-link,.music-piece-link{display:block;text-decoration:none;color:inherit;transition:transform .2s ease}.music-piece-link:hover{transform:translateY(-3px)}.item,.music-piece{margin-bottom:2.5rem;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:box-shadow .2s ease}.item-link:hover .item,.music-piece-link:hover .music-piece{box-shadow:0 4px 12px rgba(0,0,0,.1)}.item h3,.music-piece h3{font-size:2rem;font-weight:400;margin:0 0 .5rem;color:#333}.item .meta,.music-piece .meta{color:#888;margin-bottom:1rem}.music-piece .view-details{display:inline-block;color:#c92c2c;font-weight:700;margin-top:.5rem}.custom-player{gap:1rem;padding:1rem}.custom-player,.play-btn{display:flex;align-items:center}.play-btn{background-color:#333;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;justify-content:center;flex-shrink:0}.play-btn svg{fill:white}.waveform-container{width:100%;height:150px}.performer-info{text-align:right;font-size:.9rem;color:#888;margin-top:.75rem}.no-results{text-align:center;color:#777;padding:2rem;font-style:italic}.detail-page{max-width:90%;margin:0 auto;padding:2rem}.back-link{display:inline-block;color:#555;text-decoration:none;margin-bottom:2rem;font-size:1rem;transition:color .2s ease,font-weight .2s ease}.back-link:hover{color:#c92c2c;font-weight:700}.piece-title{font-size:3rem;font-weight:400;margin:0 0 1rem;color:#333}.piece-description{font-size:1.2rem;color:#555;margin-bottom:1.5rem}.piece-meta{display:flex;gap:1rem;margin-bottom:2rem;color:#777}.piece-genre:after{content:"•";margin-left:1rem}.piece-player-container{margin:2rem 0}.piece-performer{font-style:italic;color:#666;margin-top:1.5rem;text-align:right}