body[data-mp-page="repertoire"] {
  --editorial-bg:#09090c;
  --editorial-ink:#f0ede6;
  --editorial-muted:#b9b0a3;
  --editorial-gold:#d4a843;
}
body[data-mp-page="repertoire"] #repertoire { border-top:0; padding:var(--rg-page-title-inset,28px) 0 3rem; }
body[data-mp-page="repertoire"] #repertoire > .section-inner { max-width:1240px; }
body[data-mp-page="repertoire"] .rep-hero { align-items:center; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.92fr); min-height:300px; position:relative; }
body[data-mp-page="repertoire"] .rep-header { margin:0; max-width:640px; padding:0 clamp(1.2rem,4vw,3rem) 2.5rem 0; position:relative; z-index:1; }
body[data-mp-page="repertoire"] .rep-header .section-tag::before { content:none; }
body[data-mp-page="repertoire"] .section-tag { margin:0 0 .8rem; }
body[data-mp-page="repertoire"] .section-tag::after { background:var(--editorial-gold); content:""; display:inline-block; height:1px; margin:0 0 .2em 1rem; opacity:.65; width:3.2rem; }
body[data-mp-page="repertoire"] .rep-title { font-size:clamp(3.2rem,5.4vw,5.3rem); line-height:.98; margin:0 0 1.35rem; max-width:none; }
body[data-mp-page="repertoire"] .rep-editorial-copy { font-size:1rem; line-height:1.55; margin:0; max-width:37rem; }
body[data-mp-page="repertoire"] .rep-hero-image { align-self:stretch; height:300px; overflow:hidden; position:relative; }
body[data-mp-page="repertoire"] .rep-hero-image::after { background:linear-gradient(90deg,#09090c 0%,rgba(9,9,12,.08) 40%,rgba(9,9,12,.05) 75%,#09090c 100%),linear-gradient(0deg,#09090c 0%,transparent 24%,transparent 82%,#09090c 100%); content:""; inset:0; position:absolute; }
body[data-mp-page="repertoire"] .rep-hero-image img { filter:brightness(.76) saturate(.74); height:100%; object-fit:cover; object-position:50% 34%; width:100%; }
body[data-mp-page="repertoire"] .rep-header .rep-title { text-transform:none; }
body[data-mp-page="repertoire"] .rep-search { margin:0; max-width:none; min-width:250px; }
body[data-mp-page="repertoire"] .rep-search-label { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
body[data-mp-page="repertoire"] .rep-search-status { position:absolute; }
body[data-mp-page="repertoire"] .rep-tabs { align-items:stretch; border:1px solid rgba(240,237,230,.17); display:flex; flex:1 1 680px; flex-wrap:nowrap; gap:1px; margin:0; min-width:0; overflow-x:auto; padding:0; scrollbar-width:thin; }
body[data-mp-page="repertoire"] .rep-controls-zone { align-items:center; background:#0d0d12; border:1px solid rgba(240,237,230,.12); display:grid; gap:.4rem 1.4rem; grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr); margin:0 0 2.4rem; padding:.4rem; position:relative; z-index:2; }
body[data-mp-page="repertoire"] .rep-tab { flex:1 0 auto; min-width:max-content; padding:.85rem 1rem; }
body[data-mp-page="repertoire"] .rep-status-filters { grid-column:2; margin:0; padding:.1rem .8rem .2rem; }
body[data-mp-page="repertoire"] .rep-category-subtitle { color:var(--editorial-ink); font:italic 400 clamp(1.65rem,3vw,2.45rem)/1.1 var(--ff-title,Georgia,serif); margin:0 0 1rem; text-transform:none; }
body[data-mp-page="repertoire"] .rep-role-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 2rem; }
body[data-mp-page="repertoire"] .rep-role-card { background:linear-gradient(135deg,#111116,#09090c); border:1px solid rgba(240,237,230,.17); display:flex; min-height:174px; min-width:0; overflow:hidden; position:relative; }
body[data-mp-page="repertoire"] .rep-role-card__image { flex:0 0 40%; max-width:40%; object-fit:cover; object-position:50% 30%; }
body[data-mp-page="repertoire"] .rep-role-card__content { align-self:center; min-width:0; padding:1rem; }
body[data-mp-page="repertoire"] .rep-role-card__role { color:var(--editorial-ink); font:400 clamp(1.35rem,2vw,2rem)/1.05 var(--ff-title,Georgia,serif); margin:0 0 .35rem; overflow-wrap:anywhere; }
body[data-mp-page="repertoire"] .rep-role-card__work { color:var(--editorial-muted); font:italic 400 1.15rem/1.35 var(--ff-title,Georgia,serif); margin:0 0 .45rem; }
body[data-mp-page="repertoire"] .rep-role-card__composer { color:var(--editorial-muted); font:400 .9rem/1.45 var(--ff-body,Arial,sans-serif); letter-spacing:.01em; margin:0 0 .65rem; text-transform:none; }
body[data-mp-page="repertoire"] .rep-role-card .rep-status { display:inline-block; }
body[data-mp-page="repertoire"] .rep-editorial-section-title { align-items:baseline; color:var(--editorial-ink); display:flex; font:italic 400 clamp(2rem,4vw,3rem)/1.1 var(--ff-title,Georgia,serif); gap:1.1rem; margin:0 0 1.15rem; }
body[data-mp-page="repertoire"] .rep-editorial-section-title span { border-bottom:1px solid var(--editorial-gold); color:var(--editorial-gold); font: .7rem var(--ff-caps,Arial,sans-serif); letter-spacing:.12em; padding-bottom:.3rem; }
body[data-mp-page="repertoire"] .rep-table--accessible-data { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
body[data-mp-page="repertoire"] .rep-role-card:focus-within { outline:2px solid var(--editorial-gold); outline-offset:2px; }
body[data-mp-page="repertoire"] .rep-editorial-expand-btn { align-items:center; background:transparent; border:1px solid rgba(212,168,67,.48); color:var(--editorial-gold); cursor:pointer; display:flex; font: .7rem/1.35 var(--ff-caps,Arial,sans-serif); gap:1rem; justify-content:space-between; letter-spacing:.08em; margin:0 0 2rem; min-height:44px; padding:.8rem 1rem; text-align:left; text-transform:uppercase; width:100%; }
body[data-mp-page="repertoire"] .rep-editorial-expand-btn span:nth-child(2) { color:var(--editorial-muted); font: .75rem/1.35 var(--ff-body,Arial,sans-serif); letter-spacing:0; text-transform:none; }
body[data-mp-page="repertoire"] .rep-editorial-expand-btn:focus-visible { outline:2px solid var(--editorial-gold); outline-offset:3px; }
body[data-mp-page="repertoire"] .mp-onward-band { margin-top:2rem; }
body[data-mp-page="repertoire"] .mp-onward-band .section-inner { align-items:center; display:flex; gap:2rem; justify-content:space-between; }
body[data-mp-page="repertoire"] .mp-onward-note { margin:0; max-width:36rem; }
body[data-mp-page="repertoire"] .rep-table { min-width:0; }
body[data-mp-page="repertoire"] .rep-category { overflow-x:auto; }
body[data-mp-page="repertoire"] .rep-table td:first-child { font-family:var(--ff-title,Georgia,serif); font-size:1.02rem; }
body[data-mp-page="repertoire"] .rep-table .rep-cell-work { font-size:1.4rem; }
body[data-mp-page="repertoire"] :is(#repCatArias,#repCatOperetta,#repCatLied,#repCatTango,#repCatSacred) .rep-table:not(.rep-table--operetta-roles) .rep-cell-work { font-size:2.1rem; }
body[data-mp-page="repertoire"] #operaGrid[data-rep-category]:not([data-rep-category="opera"]) .rep-table:not(.rep-table--operetta-roles) .rep-cell-work { font-size:2.1rem; }
body[data-mp-page="repertoire"] :is(.rep-tab,.rep-status-filter-btn,.rep-search-clear,.rep-expand-btn,.mp-onward-ctas a):focus-visible { outline:2px solid var(--editorial-gold)!important; outline-offset:3px!important; box-shadow:0 0 0 3px rgba(212,168,67,.2)!important; z-index:1; }
@media(max-width:850px) {
  body[data-mp-page="repertoire"] .rep-role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-mp-page="repertoire"] .rep-controls-zone { align-items:stretch; flex-direction:column; gap:.55rem; }
  body[data-mp-page="repertoire"] .rep-controls-zone { display:flex; }
  body[data-mp-page="repertoire"] .rep-status-filters { padding:.15rem .55rem; }
  body[data-mp-page="repertoire"] .rep-search { order:-1; }
  body[data-mp-page="repertoire"] .mp-onward-band .section-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:900px) {
  body[data-mp-page="repertoire"] .rep-table .rep-cell-work { font-size:1.25rem; }
  body[data-mp-page="repertoire"] :is(#repCatArias,#repCatOperetta,#repCatLied,#repCatTango,#repCatSacred) .rep-table:not(.rep-table--operetta-roles) .rep-cell-work { font-size:1.875rem; }
  body[data-mp-page="repertoire"] #operaGrid[data-rep-category]:not([data-rep-category="opera"]) .rep-table:not(.rep-table--operetta-roles) .rep-cell-work { font-size:1.875rem; }
}
@media(max-width:600px) {
  body[data-mp-page="repertoire"] #repertoire { padding-top:var(--rg-page-title-inset-mobile,54px); }
  body[data-mp-page="repertoire"] .rep-hero { display:flex; flex-direction:column; gap:0; }
  body[data-mp-page="repertoire"] .rep-header { padding:0 0 1.3rem; }
  body[data-mp-page="repertoire"] .rep-title { font-size:clamp(2.8rem,13vw,4rem); margin-bottom:.8rem; }
  body[data-mp-page="repertoire"] .rep-editorial-copy { font-size:.94rem; }
  body[data-mp-page="repertoire"] .rep-hero-image { height:clamp(170px,55vw,230px); margin:-.4rem -1.1rem 1rem; order:-1; width:calc(100% + 2.2rem); }
  body[data-mp-page="repertoire"] .rep-hero-image::after { background:linear-gradient(0deg,#09090c 0%,rgba(9,9,12,.05) 55%,#09090c 100%),linear-gradient(90deg,rgba(9,9,12,.2),transparent 40%,rgba(9,9,12,.04)); }
  body[data-mp-page="repertoire"] .rep-hero-image img { object-position:50% 29%; }
  body[data-mp-page="repertoire"] .rep-tabs { flex:0 0 auto; max-width:100%; }
  body[data-mp-page="repertoire"] .rep-tab { flex:0 0 auto; min-width:max-content; }
  body[data-mp-page="repertoire"] .rep-role-grid { grid-template-columns:1fr; }
  body[data-mp-page="repertoire"] .rep-role-card { min-height:150px; }
  body[data-mp-page="repertoire"] .rep-role-card__role { font-size:1.7rem; }
  body[data-mp-page="repertoire"] .rep-table th, body[data-mp-page="repertoire"] .rep-table td { padding:.75rem .45rem; }
  body[data-mp-page="repertoire"] .mp-onward-ctas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  body[data-mp-page="repertoire"] .mp-onward-ctas a { min-width:0; padding:.8rem .55rem; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-mp-page="repertoire"] *, body[data-mp-page="repertoire"] *::before, body[data-mp-page="repertoire"] *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* Open editorial controls for the selected repertoire. */
body[data-mp-page="repertoire"] .rep-controls-zone {
  align-items: end;
  background: transparent;
  border: 0;
  display: grid;
  gap: .7rem clamp(1.5rem, 3vw, 3rem);
  grid-template-areas: "search categories" "search statuses";
  grid-template-columns: minmax(19rem, 1fr) minmax(0, 1.6fr);
  margin: 0 0 2.2rem;
  padding: 0;
}
body[data-mp-page="repertoire"] .rep-search {
  grid-area: search;
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100%;
}
body[data-mp-page="repertoire"] .rep-search-field { min-width: 0; }
body[data-mp-page="repertoire"] .rep-search-input {
  background: #292729;
  border-color: rgba(240,237,230,.13);
  border-radius: 1px;
  font-size: .98rem;
  min-width: 0;
  padding: .72rem 2.4rem .72rem 2.35rem;
  text-overflow: clip;
  width: 100%;
}
body[data-mp-page="repertoire"] .rep-search-input:focus {
  background: #302e30;
  border-color: rgba(212,168,67,.58);
}
body[data-mp-page="repertoire"] .rep-search-input::placeholder { font-size: .78rem; }
body[data-mp-page="repertoire"] .rep-search-icon { left: .85rem; }
body[data-mp-page="repertoire"] .rep-tabs {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  flex: initial;
  flex-wrap: nowrap;
  gap: clamp(.8rem, 1.55vw, 1.55rem);
  grid-area: categories;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 .15rem .1rem;
  scrollbar-width: thin;
}
body[data-mp-page="repertoire"] .rep-tab {
  background: transparent;
  border: 0;
  box-shadow: inset 0 -1px 0 transparent;
  color: rgba(229,231,236,.76);
  flex: 0 0 auto;
  font-family: var(--ff-caps, Lato, Arial, sans-serif);
  font-size: .69rem;
  letter-spacing: .11em;
  line-height: 1.4;
  min-height: 2.6rem;
  min-width: 0;
  padding: .5rem 0 .65rem;
  text-align: left;
  white-space: nowrap;
}
body[data-mp-page="repertoire"] .rep-tab:hover {
  background: transparent;
  box-shadow: inset 0 -1px 0 rgba(212,168,67,.48);
  color: var(--editorial-ink);
}
body[data-mp-page="repertoire"] .rep-tab.active {
  background: transparent;
  box-shadow: inset 0 -1px 0 var(--editorial-gold);
  color: var(--editorial-gold);
}
body[data-mp-page="repertoire"] .rep-status-filters {
  align-items: center;
  gap: 1.1rem;
  grid-area: statuses;
  margin: 0;
  padding: .05rem 0 0;
}
body[data-mp-page="repertoire"] .rep-status-filter-btn {
  font-size: .62rem;
  letter-spacing: .12em;
  line-height: 1.5;
}
body[data-mp-page="repertoire"] .rep-status-filter-btn.active {
  border-bottom-color: rgba(212,168,67,.72);
  color: rgba(212,168,67,.9);
}
@media (max-width: 1024px) {
  body[data-mp-page="repertoire"] .rep-controls-zone {
    align-items: center;
    gap: .6rem 1.2rem;
    grid-template-areas: "search statuses" "categories categories";
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body[data-mp-page="repertoire"] .rep-tabs { gap: clamp(.85rem, 2vw, 1.4rem); }
  body[data-mp-page="repertoire"] .rep-status-filters { justify-content: flex-end; }
}
@media (max-width: 600px) {
  body[data-mp-page="repertoire"] .rep-controls-zone {
    align-items: stretch;
    gap: .65rem;
    grid-template-areas: "search" "categories" "statuses";
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 1.8rem;
  }
  body[data-mp-page="repertoire"] .rep-search { order: initial; }
  body[data-mp-page="repertoire"] .rep-search-input {
    font-size: .9rem;
    padding: .68rem .5rem .68rem 2.25rem;
  }
  body[data-mp-page="repertoire"] .rep-search-input::placeholder {
    font-size: clamp(10.7px, 3.1vw, 12.4px);
  }
  body[data-mp-page="repertoire"] .rep-tabs {
    gap: 1.3rem;
    margin-inline: -.15rem;
    max-width: calc(100% + .3rem);
    overscroll-behavior-inline: contain;
    padding: 0 .15rem .15rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body[data-mp-page="repertoire"] .rep-tabs::-webkit-scrollbar { display: none; }
  body[data-mp-page="repertoire"] .rep-tab { font-size: .67rem; }
  body[data-mp-page="repertoire"] .rep-status-filters {
    justify-content: flex-start;
    padding: 0;
  }
}
@media (max-width: 360px) {
  body[data-mp-page="repertoire"] .rep-search {
    margin-inline: -.75rem;
    width: calc(100% + 1.5rem);
  }
  body[data-mp-page="repertoire"] .rep-search-input {
    font-size: .82rem;
    padding-left: 1.75rem;
    padding-right: .35rem;
  }
  body[data-mp-page="repertoire"] .rep-search-input::placeholder { font-size: 10.7px; }
}
