.header-audio { display:flex; gap:6px; align-items:center; }
.voice-shortcut[aria-pressed='true'] { color:var(--cream); background:var(--wine); }
.hero__after { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; }
.hero__listen, .hero__album-link { border:0; background:none; color:white; font-size:10px; padding:8px 0; letter-spacing:1px; }
.hero__listen { display:flex; align-items:center; gap:8px; }
.hero__album-link { text-align:right; }
.narration-card { grid-column:1 / -1; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:25px 0 20px; display:grid; grid-template-columns:auto 1fr; column-gap:22px; align-items:center; }
.narration-play { width:64px; height:64px; border:1px solid var(--wine); background:var(--wine); color:var(--cream); border-radius:50%; font-size:22px; display:grid; place-items:center; }
.narration-play[aria-pressed='true'] { background:var(--blue); border-color:var(--blue); }
.narration-title { margin:0 0 8px; font:23px var(--serif); }
.narration-state { margin:0; font-size:10px; color:#95727b; }
.narration-timeline { grid-column:2; display:flex; gap:16px; align-items:center; margin-top:12px; }
.narration-timeline input { flex:1; min-width:40px; accent-color:var(--wine); height:24px; }
.narration-time { font:10px Arial,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
.narration-transcript { grid-column:1 / -1; margin-top:18px; color:#8a6870; font-size:11px; }
.narration-transcript summary { cursor:pointer; padding:6px 0; }
.narration-transcript p { line-height:2; max-width:900px; }
.album { background:#fffdfa; border-top:1px solid var(--line); }
.album__header { display:flex; gap:50px; justify-content:space-between; align-items:end; margin-bottom:60px; }
.album__title { max-width:750px; }
.album__title h2 { font-size:clamp(38px,5vw,68px); }
.album__aside { max-width:280px; padding-bottom:7px; }
.album__aside p { font-size:12px; line-height:1.9; color:#8a6870; }
.album__count { display:block; font:italic 42px var(--serif); color:var(--coral); margin:20px 0; }
.album-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px 36px; align-items:start; }
.album-tile { display:block; position:relative; width:100%; border:0; padding:0; background:none; text-align:left; color:var(--wine); }
.album-tile:first-child,.album-tile:nth-child(4),.album-tile:last-child { grid-column:1 / -1; width:min(100%,740px); justify-self:center; }
.album-tile img { width:100%; height:auto; display:block; aspect-ratio:2 / 3; object-fit:cover; background:#f5e8de; transition:filter .25s; }
.album-tile:hover img { filter:brightness(1.025); }
.album-tile__chapter { display:block; font:8px Arial,sans-serif; letter-spacing:2px; margin:17px 0 9px; opacity:.65; }
.album-tile__caption { display:block; font:clamp(13px,1.5vw,20px) var(--serif); padding-right:24px; line-height:1.7; }
.album-tile__expand { position:absolute; right:12px; top:12px; display:grid; place-items:center; width:33px; height:33px; background:rgba(255,248,239,.88); color:var(--wine); border-radius:50%; font-size:20px; }
.album__tail { text-align:center; margin-top:65px; }
.album__tail p { font:italic 23px var(--serif); color:#b56d77; }
.album-viewer { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; inset:0; margin:0; padding:0; border:0; background:#230e19; color:#fff8ef; overflow:hidden; }
.album-viewer::backdrop { background:#230e19; }
.viewer-layout { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:20px 32px 25px; }
.viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; }
.viewer-count { font:22px var(--serif); letter-spacing:2px; }
.viewer-chapter { font:9px Arial,sans-serif; letter-spacing:3px; color:#d99ba5; }
.viewer-close { width:42px; height:42px; background:none; border:1px solid #c09ba5; border-radius:50%; color:white; font-size:25px; }
.viewer-stage { min-height:0; display:flex; align-items:center; justify-content:center; position:relative; }
.viewer-photo { width:100%; height:100%; object-fit:contain; display:block; user-select:none; -webkit-user-drag:none; touch-action:pan-y; }
.viewer-arrow { position:absolute; z-index:2; top:50%; transform:translateY(-50%); width:45px; height:62px; border:1px solid rgba(255,248,239,.3); background:rgba(35,14,25,.45); color:white; font-size:27px; }
.viewer-arrow--prev { left:0; }
.viewer-arrow--next { right:0; }
.viewer-status { position:absolute; bottom:15px; font-size:11px; padding:6px 10px; background:rgba(35,14,25,.7); }
.viewer-status:empty { display:none; }
.viewer-bottom { padding-top:18px; text-align:center; }
.viewer-caption { font:19px/1.5 var(--serif); margin:0 0 15px; }
.viewer-controls { display:flex; align-items:center; justify-content:center; gap:22px; }
.viewer-pages { display:flex; gap:5px; }
.viewer-pages button { width:30px; height:30px; border:0; border-bottom:1px solid transparent; color:#9c818c; font:10px Arial,sans-serif; background:none; }
.viewer-pages button[aria-pressed='true'] { color:#ffb6b1; border-bottom-color:#ffb6b1; }
.viewer-autoplay { background:none; color:#fff8ef; border:1px solid #84616c; border-radius:30px; padding:10px 16px; min-width:115px; font-size:11px; }
.viewer-hint { display:block; margin-top:13px; font-size:9px; color:#9c818c; letter-spacing:1px; }
.venue-copy-small { font-size:11px; max-width:360px; line-height:1.9; }
.venue__actions .button--navigate { background:var(--wine); color:var(--cream); font-size:13px; }
.venue__actions .text-button { font-size:11px; }
@media (max-width:760px) {
  .masthead__date { letter-spacing:1px; font-size:7px; }
  .header-audio { gap:4px; }
  .header-audio .sound-button { padding:7px 8px; font-size:9px; }
  .hero__bottom { bottom:18px; }
  .hero__after { margin-top:10px; }
  .hero__listen,.hero__album-link { font-size:9px; }
  .narration-card { column-gap:15px; padding:22px 0 17px; }
  .narration-play { width:50px; height:50px; font-size:18px; }
  .narration-title { font-size:20px; }
  .narration-state { font-size:9px; }
  .narration-timeline { grid-column:1 / -1; margin-top:15px; gap:12px; }
  .narration-transcript { margin-top:12px; font-size:10px; }
  .album__header { display:block; margin-bottom:35px; }
  .album__aside { max-width:none; margin-top:24px; }
  .album__aside p { font-size:11px; }
  .album__count { font-size:29px; display:inline-block; margin:0 15px 0 0; vertical-align:middle; }
  .album__aside .text-button { font-size:11px; }
  .album-grid { gap:28px 13px; }
  .album-tile__chapter { font-size:7px; letter-spacing:1px; margin:12px 0 6px; }
  .album-tile__caption { font-size:12px; padding-right:0; }
  .album-tile__expand { width:27px; height:27px; right:9px; top:9px; font-size:18px; }
  .album__tail { margin-top:40px; }
  .album__tail p { font-size:19px; }
  .viewer-layout { padding:12px 13px max(16px,env(safe-area-inset-bottom)); }
  .viewer-toolbar { gap:10px; padding-bottom:12px; }
  .viewer-count { font-size:18px; }
  .viewer-chapter { font-size:7px; letter-spacing:1px; }
  .viewer-close { width:35px; height:35px; font-size:23px; }
  .viewer-arrow { width:32px; height:49px; font-size:21px; background:rgba(35,14,25,.28); }
  .viewer-bottom { padding-top:15px; }
  .viewer-caption { font-size:16px; margin-bottom:12px; }
  .viewer-controls { flex-direction:column; gap:13px; }
  .viewer-pages { gap:4px; }
  .viewer-pages button { width:26px; height:26px; font-size:9px; }
  .viewer-autoplay { font-size:10px; padding:9px 15px; }
  .viewer-hint { font-size:8px; margin-top:10px; }
}
@media (prefers-reduced-motion:reduce) { .album-tile img { transition:none; } }
