.aside-left-wrap  { 
  position: sticky; top: 6.8rem; 
}

.toc-label {
  font-size: .72rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.1rem;
}

.toc-nav {
   list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--ivory-dark); 
}

.toc-nav a {
  display: block; position: relative; padding: .55rem 0 .55rem 1.1rem; margin-left: -1px;
  border-left: 2px solid transparent; font-size: .87rem; color: var(--muted);
  text-decoration: none; line-height: 1.4; transition: color .2s, border-color .2s;
}

.toc-nav a:hover { 
  color: var(--slate); 
}

.toc-nav a.active { 
  color: var(--slate); border-left-color: var(--gold); font-weight: 500; }

.aside-cta { 
  margin-top: 2.2rem; padding: 1.6rem 1.4rem; background: var(--ivory); border-top: 3px solid var(--gold);
}

.aside-cta p { 
  font-size: .88rem; color: var(--muted); line-height: 1.65; margin-bottom: 1rem; 
}

.aside-cta .btn-primary-custom { 
  font-size: .74rem; padding: .75rem 1.3rem; width: 100%; text-align: center;
}

.toc-mobile { 
  display: none; 
}

@media (max-width: 991.98px) {
  .aside-desktop { display: none; }
  
  .toc-mobile {
    display: block; position: sticky; top: 0; z-index: 50; background: #fff;
    border-bottom: 1px solid var(--ivory-dark); padding: .8rem 0;
  }
  
  .toc-mobile select {
    font-size: .82rem; letter-spacing: .04em; color: var(--slate);
    border: 1px solid var(--ivory-dark); border-radius: 0; padding: .6rem .9rem;
  }
}