.albums-page nav a[aria-current="page"] { color:var(--berry); }
.albums-page nav a[aria-current="page"]::after { transform:scaleX(1); }
.albums-page h1 em { display:inline; }
.albums-hero h1 em { color:var(--berry); }
.albums-hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:65px; padding-block:76px 65px; }
.albums-hero h1 { font-size:clamp(44px,4.8vw,66px); line-height:1.28; letter-spacing:-3px; margin-block:24px; }
.albums-intro { color:var(--muted); font-size:13px; line-height:2.1; }
.albums-stats { display:flex; gap:34px; margin-block:30px; }
.albums-stats>div { display:flex; flex-direction:column-reverse; gap:7px; }
.albums-stats dt { font-size:10px; color:var(--muted); }
.albums-stats dd { margin:0; font-family:Georgia,serif; font-size:32px; }
.albums-stats small { font-family:inherit; font-size:11px; color:var(--muted); }
.albums-hero-art { padding:25px 26px 15px; background:#f1e7e1; transform:rotate(3deg); border:1px solid var(--line); box-shadow:8px 10px 0 #e4d6cf70; }
.albums-cover-quilt { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.albums-cover-quilt img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.albums-hero-art>span { display:block; margin-top:16px; font-size:8px; letter-spacing:1.8px; text-align:center; color:var(--muted); }
.albums-scope { display:flex; gap:20px; padding-block:24px; border-block:1px solid var(--line); }
.albums-scope>span { font-size:30px; color:var(--berry); }
.albums-scope p { font-size:11px; line-height:1.95; color:var(--muted); margin:0; }
.albums-scope p+p { margin-top:7px; }
.albums-scope strong { color:var(--ink); font-weight:600; }
.album-collection { padding-block:38px 60px; }
.albums-controls { padding:25px; background:#f3ede5; border:1px solid var(--line); }
.albums-query { display:block; }
.albums-controls label>span,.albums-filters label { font-size:10px; color:var(--muted); }
.albums-query input,.albums-filters select { width:100%; display:block; font:inherit; color:var(--ink); border:1px solid #cbb9b6; border-radius:3px; background:#fffaf6; }
.albums-query input { margin-top:9px; padding:14px; font-size:13px; }
.albums-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:20px; }
.albums-filters select { margin-top:8px; padding:11px 8px; font-size:11px; min-width:0; }
.albums-controls :is(input,select):focus-visible { outline:2px solid var(--berry); outline-offset:2px; }
.albums-results { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-block:24px; }
.albums-results p { font-size:11px; color:var(--muted); }
.albums-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:30px 24px; }
.album-card { min-width:0; border:1px solid var(--line); background:#fffaf6; scroll-margin-top:150px; }
.album-card:target { outline:2px solid #b47086; outline-offset:5px; }
.album-cover { position:relative; background:#ece3de; aspect-ratio:1; }
.album-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.album-cover>span { position:absolute; bottom:12px; left:12px; padding:7px 10px; background:#fffaf6f2; font-size:10px; letter-spacing:1px; color:var(--ink); }
.album-cover i { font-style:normal; color:#bb9ba4; padding-inline:4px; }
.album-body { padding:21px; }
.album-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:9px; letter-spacing:.4px; }
.album-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-block:15px 10px; }
.album-title h2 { font-family:Georgia,'Songti SC',serif; font-weight:500; font-size:25px; letter-spacing:-.6px; overflow-wrap:anywhere; }
.album-title>a { color:#b38b96; font:italic 16px Georgia,serif; padding:4px; }
.album-summary { font-size:11px; line-height:1.95; color:var(--muted); min-height:65px; }
.album-highlights { font-size:9px; line-height:1.9; margin-top:15px; color:var(--muted); }
.album-highlights>span { display:block; color:var(--berry); font-size:10px; }
.album-listen { display:flex; flex-wrap:wrap; gap:10px 16px; padding-block:18px; font-size:10px; color:var(--berry); }
.album-listen a,.album-tracks a,.album-details a { text-decoration:underline; text-decoration-color:#d5b5bf; text-underline-offset:4px; }
.album-details { border-top:1px solid var(--line); font-size:10px; line-height:1.9; }
.album-details>summary { display:flex; justify-content:space-between; align-items:baseline; gap:10px; cursor:pointer; padding:14px 0; list-style:none; }
.album-details>summary::-webkit-details-marker { display:none; }
.album-details>summary::before { content:'＋'; color:var(--berry); }
.album-details[open]>summary::before { content:'−'; }
.album-details>summary>span { color:var(--muted); margin-left:auto; font-size:9px; }
.album-details p { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.album-edition { padding-bottom:12px; }
.album-tracks { list-style:none; margin:0; padding:0; }
.album-tracks>li { display:flex; align-items:baseline; gap:9px; padding:9px 0; border-top:1px dashed #e5d9d4; }
.track-number { font:10px Georgia,serif; color:#a5878f; flex-shrink:0; }
.album-tracks>li>div { min-width:0; overflow-wrap:anywhere; }
.album-tracks small { display:block; width:fit-content; padding:1px 5px; margin-top:3px; color:var(--berry); font-size:8px; background:#f2e6e8; }
.track-duration { margin-left:auto; flex-shrink:0; font:10px Georgia,serif; color:var(--muted); }
.album-solo { color:var(--berry); background:#f7edf0; padding-inline:6px !important; }
.album-alternate { padding-block:8px; border-top:1px solid var(--line); }
.album-alternate>summary { cursor:pointer; color:var(--berry); }
.album-alternate>summary>span { color:var(--muted); font-size:9px; }
.album-version-note { padding-block:12px 15px; }
.album-videos ul,.album-sources ul { padding-left:15px; margin:0 0 14px; }
.album-videos li+li,.album-sources li+li { margin-top:10px; }
.album-videos small { display:block; font-size:9px; color:var(--muted); }
.album-sources p { padding-bottom:12px; }
.albums-empty { padding:65px 20px; text-align:center; border:1px dashed var(--line); }
.albums-empty>span { font-size:40px; color:var(--berry); }
.albums-empty h2 { font-size:20px; font-weight:500; margin-block:18px; }
.albums-empty p { color:var(--muted); font-size:12px; margin-bottom:24px; }
.albums-afterword { padding-block:40px 65px; border-top:1px solid var(--line); }
.albums-afterword h2 { font-size:30px; font-weight:500; margin-block:20px; line-height:1.6; }
.albums-afterword p:not(.eyebrow),.albums-noscript { font-size:12px; line-height:2; color:var(--muted); }
.albums-afterword p a { text-decoration:underline; }
.albums-afterword>div { display:flex; flex-wrap:wrap; gap:20px; margin-top:22px; }
@media (max-width:1050px) { .albums-hero { gap:40px; } .albums-grid { gap:22px 18px; } .album-body { padding:17px; } .album-title h2 { font-size:22px; } }
@media (max-width:900px) { .albums-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .albums-hero { gap:25px; } .albums-hero h1 { font-size:44px; } .albums-hero-art { padding:15px; } .albums-hero-art>span { letter-spacing:.4px; font-size:7px; } }
@media (max-width:600px) {
  .albums-hero { grid-template-columns:1fr; gap:35px; padding-block:42px 45px; }
  .albums-hero h1 { font-size:44px; letter-spacing:-2px; margin-block:20px; }
  .albums-intro { font-size:11px; }
  .albums-stats { gap:35px; margin-block:22px; }
  .albums-hero-art { width:min(100% - 24px,330px); margin-inline:auto; padding:15px 15px 12px; }
  .albums-cover-quilt { gap:7px; }
  .albums-scope { gap:12px; padding-block:20px; }
  .albums-scope>span { font-size:24px; }
  .albums-scope p { font-size:10px; }
  .albums-controls { padding:18px; }
  .albums-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  .albums-filters label:last-child { grid-column:1 / -1; }
  .albums-query input { font-size:12px; }
  .albums-grid { grid-template-columns:1fr; gap:25px; }
  .album-body { padding:22px; }
  .album-title h2 { font-size:28px; }
  .album-summary { min-height:0; font-size:12px; }
  .album-meta,.album-listen,.album-details { font-size:11px; }
  .albums-results { align-items:flex-start; }
  .albums-results p { line-height:1.9; }
  .albums-afterword h2 { font-size:27px; }
}
