.artist-main{min-height:calc(100dvh - var(--header-height));padding-bottom:var(--section-space)}.artist-heading{padding-block:clamp(2rem,5vw,4rem) clamp(2.5rem,5vw,4.5rem)}.back-link{min-height:2.75rem;color:var(--muted);align-items:center;gap:.6rem;font-size:.75rem;display:inline-flex}.back-link:hover{color:var(--accent)}.artist-heading h1{max-width:18ch;font:500 clamp(3.6rem, 7vw, 7rem)/1 var(--serif);letter-spacing:-.045em;margin-top:1.5rem}.artist-section{padding-bottom:2rem}.artist-biography-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.artist-portrait img{width:100%;height:auto}.artist-portrait{top:calc(var(--header-height) + 2rem);position:sticky}.biography-prose{max-width:60ch;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.9}.review-note{border-left:2px solid var(--accent);background:var(--surface);max-width:65ch;color:var(--muted);margin-bottom:2rem;padding:1rem 1.25rem;font-size:.8125rem;line-height:1.7}.artist-media .review-note{margin-top:2rem}.repertoire-note{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.repertoire-note h2{color:var(--muted);font-size:.8125rem;font-weight:500}.repertoire-note p{font:400 2rem/1.4 var(--serif);margin-top:1rem}.performance-row.performance-row-static{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.artist-performances .performance-list{border-top:1px solid var(--line)}.artist-performances .performance-row{min-height:12rem}.section-more{border-bottom:1px solid var(--accent);min-height:2.75rem;color:var(--accent);align-items:center;gap:.75rem;margin-top:2rem;font-size:.8125rem;font-weight:600;display:inline-flex}.section-more:hover{color:var(--ink);border-color:var(--ink)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.photo-grid figure:nth-child(2n){margin-top:4rem}.photo-grid:not(.photo-grid-preview){column-count:2;column-gap:clamp(2rem,4vw,4rem);display:block}.photo-grid:not(.photo-grid-preview) figure{break-inside:avoid;margin:0 0 3rem}.photo-grid-preview img{object-fit:cover;object-position:center 28%;height:clamp(18rem,30vw,28rem)}.photo-grid button{background:var(--surface);cursor:zoom-in;border:0;width:100%;padding:0;display:block}.photo-grid img{width:100%;height:auto;transition:opacity .18s}.photo-grid button:hover img{opacity:.9}.photo-grid figcaption{color:var(--muted);padding-top:.875rem;font-size:.8125rem}.gallery-preview{border-bottom:1px solid var(--line)}.artist-contact-body{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.artist-contact-portrait img{width:100%;height:auto}.direct-email{min-width:0;padding-top:clamp(0rem,3vw,3rem)}.direct-email .button{white-space:nowrap;gap:.75rem}.direct-email .button:active{transform:translateY(1px)}.contact-email-hint{max-width:42ch;color:var(--muted);margin-top:1.5rem;font-size:.875rem}.contact-email-address{overflow-wrap:anywhere;user-select:all;margin-top:.75rem;font-size:clamp(.875rem,1.5vw,1.125rem)}.contact-email-privacy{min-height:2.75rem;color:var(--muted);text-underline-offset:.25rem;align-items:center;margin-top:1.5rem;font-size:.75rem;text-decoration:underline;display:inline-flex}.contact-copy .button{margin-top:2rem}.audio-error{color:var(--accent);grid-column:1/-1;font-size:.875rem}body:has(.gallery-dialog[open]){overflow:hidden}@media (width<=47.99rem){.artist-heading{padding-block:1.25rem 2rem}.artist-heading h1{margin-top:1rem;font-size:clamp(3.3rem,15vw,5rem)}.artist-biography-body,.artist-contact-body,.photo-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.artist-portrait{position:static}.artist-contact-portrait{max-height:20rem;overflow:hidden}.artist-contact-portrait img{object-fit:cover;object-position:center top;height:20rem}.photo-grid figure:nth-child(2n){margin-top:0}.photo-grid:not(.photo-grid-preview){column-count:1}.performance-row.performance-row-static{grid-template-columns:minmax(0,1fr)}.artist-performances .performance-row{min-height:0}.review-note{padding:.875rem 1rem}.direct-email{padding-top:0}}
