/* A small cinema wall: two lead stories, a compact collection, then performances. */
#piano-panel .piano-intro{align-items:center;max-width:1100px;padding-block:34px 22px}
#piano-panel .piano-intro h1{font-size:clamp(44px,7vw,76px);line-height:1.1}
#piano-panel .piano-intro .intro-drawing{width:136px;height:105px;flex:0 0 auto}
#piano-panel .piano-section{max-width:1100px;margin-inline:auto}
#piano-panel .performance-grid{align-items:start}
#piano-panel .performance-grid--featured{max-width:760px;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-inline:auto}
#piano-panel .performance-grid--featured .performance-card.is-portrait :is(.performance-screen,.piano-controls,.piano-status,figcaption){width:100%;max-width:none;margin-inline:0}
#piano-panel .performance-grid--featured .performance-screen{aspect-ratio:9/16}
#piano-panel .performance-grid--featured .performance-card h3{font-size:clamp(21px,2.4vw,29px);line-height:1.35;max-width:22ch}
#piano-panel .piano-section+.piano-section{margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}
#piano-panel .performance-grid--stories{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:26px;row-gap:36px}
#piano-panel .performance-grid--stories .performance-card :is(.performance-screen,.piano-controls,.piano-status,figcaption){width:100%;max-width:none;margin-inline:0}
/* Original square recordings remain square; portrait recordings retain their full frame. */
#piano-panel .performance-grid--stories .performance-card.is-portrait .performance-screen{aspect-ratio:9/16}
#piano-panel .performance-grid--stories .performance-card.is-square .performance-screen{aspect-ratio:1}
#piano-panel .performance-card figcaption{margin-top:8px}
#piano-panel .performance-grid--stories .performance-card h3,#piano-panel .piano-venues .performance-card h3{font-size:20px;line-height:1.35;box-shadow:none;background:var(--paper);width:fit-content;max-width:100%}
#piano-panel .performance-grid--venues{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#piano-panel .piano-venues-line{max-width:780px;font-size:15px;line-height:1.8;margin-bottom:30px}
#piano-panel #piano-classical-videos{max-width:880px;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-inline:auto}
#piano-panel #piano-classical-videos .performance-card h3{font-size:18px;line-height:1.4;box-shadow:none}
#piano-panel .performance-screen{transition:transform .18s ease}
@media(hover:hover) and (pointer:fine){
  #piano-panel .performance-card:hover .performance-screen{transform:rotate(0deg)}
}
@media(max-width:1000px){
  #piano-panel .performance-grid--stories{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
}
@media(max-width:700px){
  #piano-panel .piano-intro{padding-block:22px 18px}
  #piano-panel .piano-intro .intro-drawing{width:95px;height:78px}
  #piano-panel .performance-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  #piano-panel .performance-grid--stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
  #piano-panel .performance-grid--venues{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
  #piano-panel .performance-grid--featured .performance-card h3{font-size:21px}
  #piano-panel .performance-grid--stories .performance-card h3,#piano-panel .piano-venues .performance-card h3{font-size:19px}
  #piano-panel .piano-section+.piano-section{margin-top:40px;padding-top:26px}
  #piano-panel #piano-classical-videos{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;margin-inline:0}
  #piano-panel .piano-controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:2px}
}
@media(max-width:360px){
  #piano-panel .performance-grid--featured,#piano-panel .performance-grid--stories,#piano-panel .performance-grid--venues,#piano-panel #piano-classical-videos{column-gap:18px}
  #piano-panel .performance-grid--featured .performance-card h3{font-size:19px}
  #piano-panel .performance-card h3{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  #piano-panel .performance-screen{transition:none}
}
