.performance{margin:24px 0 64px}.video-frame{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:var(--ink-2);border:1px solid var(--line);overflow:hidden}.video-frame iframe,.youtube-slot,.video-poster,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.video-poster,.video-frame video{object-fit:cover}.performance.vertical{width:min(100%,380px);margin:24px auto 64px}.vertical .video-frame{aspect-ratio:9/16}.video-start{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;padding:26px;background:linear-gradient(transparent 65%,rgba(0,0,0,.65));border:0;cursor:pointer;color:#f2ece3;font:inherit;letter-spacing:.12em}.video-start[hidden]{display:none}.play-symbol{font-size:24px;border:1px solid #c8a45c;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;background:rgba(11,11,15,.3)}.video-caption{display:flex;justify-content:space-between;gap:20px;font-size:var(--ui-xs);color:var(--dim);margin-top:12px}.video-caption a{color:var(--gold)}.video-start:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}.profile-nav{flex-wrap:wrap;column-gap:18px;row-gap:0}@media(max-width:680px){.top{row-gap:8px}.profile-nav{order:3;flex-basis:100%;justify-content:center;margin:0}.performance.vertical{max-width:min(100%,38vh)}.video-caption{letter-spacing:0}.video-start{font-size:13px}}
/* Concert dates beside the performance, facts below the introduction. */
.solo-highlights #upcoming-concerts.wrap{width:100%;max-width:none;margin:0;padding:0;text-align:left}
.solo-highlights #upcoming-concerts h2{font-family:var(--sans);font-size:var(--body-size);font-weight:400;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-2);margin:0 0 18px}
.solo-highlights #upcoming-concerts .date{grid-template-columns:minmax(88px,110px) minmax(0,1fr) auto;gap:10px;padding:16px 0}
.solo-highlights #upcoming-concerts .date .d{font-family:var(--sans);font-size:var(--ui-sm);letter-spacing:.04em}
.solo-highlights #upcoming-concerts .date .n{font-size:var(--body-size);line-height:1.4}
.solo-highlights #upcoming-concerts .date .n small{font-size:var(--ui-sm);letter-spacing:.04em;text-transform:none}
.solo-highlights #upcoming-concerts .date .g{font-size:var(--ui-sm);letter-spacing:.04em}
.solo-highlights #upcoming-concerts .upcoming-all{font-size:var(--ui-sm);color:var(--gold-2);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
html[data-profile="artist"] .hero .quick-facts{margin-top:24px}
html[data-profile="artist"] .hero .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-block:1px solid var(--line);padding:16px 0}
html[data-profile="artist"] .hero .stat{text-align:left;min-width:0}
html[data-profile="artist"] .hero .stat b{font-size:32px;line-height:1.2;min-height:39px;display:flex;align-items:center}
html[data-profile="artist"] .hero .stat:last-child b{font-size:24px}
html[data-profile="artist"] .hero .stat span{display:block;margin-top:6px;font-size:14px;line-height:1.4;letter-spacing:0;text-transform:none;text-wrap:balance}
.bio-media{display:grid;gap:clamp(24px,4vw,44px);min-width:0}
.bio-media #video.wrap{width:100%;max-width:none;margin:0;padding:0}
.bio-media #video .performance{width:min(100%,360px);margin:14px 0 24px}
.bio-media #video .video-frame{min-height:0;aspect-ratio:16/9}
@media(max-width:980px){.bio-media #video .performance{margin-inline:auto}}

#video .performance,#baroque-music .performance{width:min(100%,960px);margin-inline:auto}
#concert-video .performance{width:100%;max-width:none;margin-inline:0}
.video-frame video{object-fit:contain}
.video-original-link{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:var(--ink-2);color:var(--gold-2);z-index:2}
/* Matching two-column layouts and 2:3 media frames. */
.solo-highlights.wrap{width:min(1220px,100% - 44px);display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-block:clamp(36px,4vw,60px)}
html[data-profile="artist"] #home .portrait,.solo-highlights .highlights-video{width:min(100%,52svh,calc((100svh - var(--section-scroll-offset) - 104px)/1.5));max-width:none;height:auto;justify-self:end;aspect-ratio:auto}
html[data-profile="artist"] #home .portrait{aspect-ratio:2/3}
html[data-profile="artist"] #home .portrait img{width:100%;height:100%;max-height:none;aspect-ratio:2/3;object-fit:cover}
.solo-highlights #video .performance.vertical{width:100%;max-width:none;margin:0}
.solo-highlights .vertical .video-frame{aspect-ratio:2/3;min-height:0;border:0;outline:1px solid color-mix(in srgb,var(--paper) 24%,transparent);outline-offset:clamp(4px,.5vw,7px)}
.solo-highlights .video-frame video{object-fit:cover;object-position:50% 50%}
#concert-video .video-frame video{object-fit:contain}
.solo-highlights .video-caption{flex-direction:column;align-items:flex-start;gap:5px;margin-top:18px;line-height:1.5}
.solo-highlights .video-caption>span{font-family:var(--serif);font-size:22px;color:var(--paper)}
.solo-highlights .video-caption>a{font-size:14px}
.solo-highlights .kicker{font-size:14px;letter-spacing:.22em;margin:0 0 20px}
.ensemble-media .fig img.trio-photo{aspect-ratio:1.76;object-position:50% 15%}
.pad{padding-block:clamp(32px,4vw,60px)}
.performance{margin-block:20px 28px}
.recording-link{justify-content:flex-start;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:12px 0 0}
html[data-profile="chamber"] #video{padding-bottom:20px}
html[data-profile="chamber"] #ensemble{padding-top:24px}
.chamber-calendar{margin:24px 0 8px;padding:14px 0;border-block:1px solid var(--line)}
.chamber-calendar h2{font-family:var(--sans);font-size:var(--body-size);font-weight:400;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-2);margin:0 0 8px}
.chamber-calendar p{font-size:var(--ui-sm);margin:0;color:var(--dim)}
.baroque-lead{width:min(100%,960px);max-width:none;margin:0 auto 24px;text-wrap:pretty}
.teacher-proof{padding-block:24px}
.teacher-proof .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.teacher-proof a{color:var(--gold-2)}
.teaching-points{display:grid;gap:20px}
.teaching-points article,.teaching-grid article{border-top:1px solid var(--line);padding-top:18px}
.teaching-points h3,.teaching-grid h3{margin:0 0 12px;font-size:calc(var(--body-size) + 4pt)}
.teaching-points p,.teaching-grid p{margin:0}
.teaching-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px)}
#learning-paths .teaching-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.5vw,28px)}
#learning-paths .teaching-grid>article{min-width:0;border:1px solid var(--line);padding:clamp(22px,3vw,34px);background:color-mix(in srgb,var(--gold) 3%,transparent)}
.teaching-feedback{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.teaching-feedback a{color:var(--gold-2)}
.inquiry-layout{row-gap:0}
.inquiry-layout>.inquiry-section-title{margin:0 0 22px}
.inquiry-layout>.inquiry-aside{margin-bottom:clamp(36px,6vw,84px)}
.inquiry-layout>.inquiry-form-title{margin:0 0 10px}
.lesson-inquiry>.inquiry-aside{margin-bottom:clamp(30px,5vw,64px)}
.lesson-inquiry>.inquiry-form-title{margin-bottom:25px}
.inquiry-main{min-width:0}
@media(min-width:981px){
  .inquiry-layout{row-gap:calc(var(--inquiry-label-height,28px) + 22px)}
  .inquiry-layout>.inquiry-section-title{grid-column:1;grid-row:1;align-self:baseline;margin:0}
  .inquiry-layout>.inquiry-form-title{grid-column:2;grid-row:1;align-self:baseline;margin:0}
  .inquiry-layout>.inquiry-aside{grid-column:1;grid-row:2;margin:0}
  .inquiry-layout>.inquiry-aside>p:first-child{margin-top:0}
  .inquiry-layout>.inquiry-main{grid-column:2;grid-row:2}
  .inquiry-main .form{max-width:none}
  .inquiry-first-row>.field{position:relative;min-width:0}
  .inquiry-first-row>.field>label{position:absolute;bottom:calc(100% + 6px);inset-inline:0}
}
@media(max-width:720px){.teacher-proof .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-grid{grid-template-columns:1fr}}
@media(max-width:720px){#learning-paths .teaching-grid{grid-template-columns:1fr}}
@media(max-width:980px),(min-width:981px) and (max-width:1100px) and (orientation:portrait){.solo-highlights.wrap{grid-template-columns:1fr;gap:36px}html[data-profile="artist"] #home .portrait,.solo-highlights .highlights-video{width:min(100%,280px,44svh);height:auto;max-width:none;justify-self:center}.solo-highlights #upcoming-concerts.wrap{width:min(100%,680px)}}
@media(max-width:540px){.solo-highlights.wrap{width:calc(100% - 30px);padding-block:36px}html[data-profile="artist"] .hero .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding:14px 0}html[data-profile="artist"] .hero .stat b{font-size:28px;min-height:34px}html[data-profile="artist"] .hero .stat:last-child b{font-size:22px}.solo-highlights #upcoming-concerts .date{grid-template-columns:88px minmax(0,1fr);gap:8px 12px}.solo-highlights #upcoming-concerts .date .g{grid-column:2}}

/* Readable text, with the existing fonts and colour palette. */
:root{--body-size:clamp(18px,calc(8px + .7vw),19px);--section-scroll-offset:104px}
body{font-weight:300;line-height:1.7}
p{color:color-mix(in srgb,var(--paper) 90%,transparent)}
.testimonial,.ensemble-quote{font-size:clamp(22px,calc(9.333px + .9vw),24px);font-style:normal;font-weight:500;line-height:1.5}
.testimonial cite,.ensemble-quote cite{font-weight:400;line-height:1.6}
@media(max-width:720px){:root{--body-size:17.333px}.testimonial,.ensemble-quote{font-size:21px}}

/* Firm section stops, with a freely scrollable footer region. */
html{scroll-snap-type:y mandatory;scroll-padding-top:var(--section-scroll-offset)}
html.free-scroll-tail{scroll-snap-type:none}
#page section{scroll-margin-top:0}
#page > section{scroll-snap-align:start;scroll-snap-stop:always}
/* Snap this section to the visible video, past its heading and top spacing. */
#page > .solo-highlights{scroll-snap-align:none}
#page .solo-highlights .video-frame{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:12px;scroll-margin-bottom:0}
/* Centre the picture in the viewport; compensate for the header's scroll padding. */
#page .video-scroll-stop > .video-frame{scroll-snap-align:center;scroll-snap-stop:always;scroll-margin-top:0;scroll-margin-bottom:var(--section-scroll-offset)}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none;scroll-behavior:auto}}
/* Phones, tablets and the mobile layout use uninterrupted page scrolling. */
@media(max-width:1100px),(hover:none) and (pointer:coarse){
  html,html.free-scroll-tail{scroll-snap-type:none;scroll-behavior:auto}
  #page > section,#page .video-scroll-stop > .video-frame{scroll-snap-align:none;scroll-snap-stop:normal}
}

/* Keep full-size navigation text and switch to the wheel when it no longer fits. */
.top.profile-compact .profile-nav-wide{display:flex;position:absolute;width:max-content;visibility:hidden;pointer-events:none}
.top.profile-compact .profile-nav-wheel{display:flex;max-width:none}

.testimonial [data-t="testimonialQuote"]{font-style:italic}

.ensemble-quote [data-t="ensembleQuote"]{font-style:italic}

/* A compact staff behind both versions of the profile menu. */
:root{--menu-size:14px}
.top .profile-switcher{font-size:var(--menu-size);padding-inline-start:1.8em;box-sizing:border-box}
.top .profile-switcher::before{content:"";position:absolute;inset-inline:0;top:50%;height:1.6em;transform:translateY(-50%);pointer-events:none;opacity:.22;background:linear-gradient(var(--gold),var(--gold)) 0 0/100% .65px,linear-gradient(var(--gold),var(--gold)) 0 25%/100% .65px,linear-gradient(var(--gold),var(--gold)) 0 50%/100% .65px,linear-gradient(var(--gold),var(--gold)) 0 75%/100% .65px,linear-gradient(var(--gold),var(--gold)) 0 100%/100% .65px;background-repeat:no-repeat}
.top .header-clef{position:absolute;inset-inline-start:.08em;top:50%;transform:translateY(-50%);width:1.2em;height:1.9em;color:var(--gold-2);opacity:.8;overflow:visible;pointer-events:none}
.top .header-clef text{font-family:'Noto Music','Bravura Text','Segoe UI Symbol',serif;font-size:48px;fill:none;stroke:currentColor;stroke-width:.65px;vector-effect:non-scaling-stroke}
.top .profile-nav-wide,.top .profile-nav-wheel{position:relative;z-index:1}
.top .profile-nav-wide a,.top .profile-roller [role="option"]{font-size:var(--menu-size);font-weight:300;letter-spacing:.11em}
.profile-roller [role="option"]{cursor:pointer}
.profile-roller.is-dragging [role="option"]{cursor:grabbing}
.profile-roller.is-wheeling{scroll-snap-type:none;scroll-behavior:auto}
.mi .tx{font-size:var(--menu-size);letter-spacing:.13em}
.mi:hover .tx{letter-spacing:.18em}
@media(max-width:720px){:root{--menu-size:13px}.mi .tx{font-size:12px;letter-spacing:.09em}.mi:hover .tx{letter-spacing:.12em}}

.testimonial.teaching-quote > span{font-style:italic}
