/* Crescendo — inner-2026.css: lessons ledger, instrument pages, teacher grid and profiles, recital programme, fees and estimate,
   trial form, visit, credits, 404. No motion. */
/* lessons */
.shapes{list-style:none;padding:0;display:grid;gap:0;margin-block-start:var(--s6);border-block:1px solid var(--ink)}
.shapes li{display:grid;gap:2px;padding:var(--s4) 0;border-block-end:1px solid var(--line)}
.shapes li:last-child{border-block-end:0}
.shapes b{font-family:var(--f-display);font-weight:460;font-size:1.375rem}
.shapes span{color:var(--muted)}
@media (min-width:760px){.shapes{grid-template-columns:repeat(3,minmax(0,1fr))}.shapes li{padding:var(--s4) var(--s5);border-block-end:0;border-inline-start:1px solid var(--line)}.shapes li:first-child{border-inline-start:0;padding-inline-start:0}}
.ins-list{display:grid;gap:0}
.ins-row{display:grid;gap:var(--s5);padding-block:var(--s7);border-block-start:1px solid var(--line)}
.ins-row:first-child{border-block-start:1px solid var(--ink)}
.ins-row-i .ph picture{aspect-ratio:4/5}
.ins-row-t h2{margin-block-end:var(--s3)}
.ins-sum{font-family:var(--f-display);font-size:1.375rem;line-height:1.35;margin-block-end:var(--s4);color:var(--ink)}
.hire-note{color:var(--muted)}
@media (min-width:900px){.ins-row{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--s8);align-items:start}.ins-row--flip .ins-row-i{order:2}.ins-row-i{max-inline-size:380px}.ins-row--flip .ins-row-i{justify-self:end}}
/* instrument page */
.pg-head--ins .pg-i .ph picture{aspect-ratio:4/5}
.pg-head--ins .pg-i{max-inline-size:520px;justify-self:end;inline-size:100%}
.ins-g{display:grid;gap:var(--s7)}
@media (min-width:1000px){.ins-g{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s8)}}
.big-quote{font-family:var(--f-display);font-weight:360;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);line-height:1.3;color:var(--ink);max-inline-size:30ch}
.big-quote--s{font-size:clamp(1.375rem,1.15rem + .8vw,1.875rem);max-inline-size:40ch;margin-block-end:var(--s7)}
.ins-side{align-self:start;padding:var(--s5);background:var(--surface);border:1px solid var(--line);border-block-start:3px solid var(--ink)}
.fee-table td{font-variant-numeric:tabular-nums;font-weight:500}
.fee-table th[scope=row]{font-weight:600}
.fee-table--big td,.fee-table--big th[scope=row]{font-size:1.25rem;padding-block:var(--s4)}
.fee-table--big td{font-family:var(--f-display)}
.hire{margin-block-start:var(--s5);padding-block-start:var(--s4);border-block-start:1px solid var(--line)}
.hire-k{font-weight:600;color:var(--brand-t);margin-block-end:var(--s1)}
.t-cards{display:grid;gap:var(--s5)}
@media (min-width:900px){.t-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.t-card{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:var(--s5);text-decoration:none;color:var(--fg);align-items:start;padding:var(--s4);background:var(--bg);border:1px solid var(--line)}
.t-card picture{aspect-ratio:4/5}
.t-card img{inline-size:100%;block-size:100%;object-fit:cover}
.t-card>span{display:grid;gap:var(--s2)}
.t-card .kicker{margin:0}
.t-card b{font-family:var(--f-display);font-weight:440;font-size:1.75rem;line-height:1.1}
.t-line{color:var(--muted)}
.t-card:hover b{color:var(--brand-t)}
@media (max-width:479.98px){.t-card{grid-template-columns:minmax(0,1fr)}.t-card picture{max-inline-size:200px}}
/* teachers */
.t-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:var(--s7) var(--s5)}
.t-tile{display:grid;gap:var(--s3);text-decoration:none;color:var(--fg)}
.t-tile picture{aspect-ratio:4/5;background:var(--surface-2)}
.t-tile img{inline-size:100%;block-size:100%;object-fit:cover}
.t-tile-t{display:grid;gap:2px;border-block-start:1px solid var(--ink);padding-block-start:var(--s3)}
.t-tile b{font-family:var(--f-display);font-weight:440;font-size:1.625rem;line-height:1.1}
.t-days{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-t);font-weight:600;margin-block:var(--s1) var(--s2)}
.t-tile:hover b{color:var(--brand-t);text-decoration:underline;text-decoration-thickness:1px}
.teacher{padding-block:var(--s5) var(--sec)}
.teacher-g{display:grid;gap:var(--s6)}
.teacher-i .ph picture{aspect-ratio:4/5}
.teacher-i{max-inline-size:480px}
.teacher-t h1{margin-block-end:var(--s3)}
.t-days-l{font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-block-end:var(--s6)}
.pull{font-family:var(--f-display);font-style:italic;font-weight:360;font-size:clamp(1.5rem,1.2rem + 1vw,2.125rem);line-height:1.3;color:var(--brand-t);margin-block-end:var(--s5);padding-block-start:var(--s5);border-block-start:1px solid var(--brass);max-inline-size:28ch}
.leaves{margin-block:var(--s6);padding:var(--s5);background:var(--surface);border-inline-start:3px solid var(--brass)}
.leaves h2{font-size:1.375rem;margin-block-end:var(--s2)}
.chip-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.chip-links a{display:inline-flex;align-items:center;min-block-size:44px;padding-inline:var(--s4);border:1px solid var(--ink);text-decoration:none;font-weight:500}
.chip-links a:hover{background:var(--ink);color:#fff}
@media (min-width:900px){.teacher-g{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s8);align-items:start}.teacher-i{position:sticky;inset-block-start:calc(var(--header) + var(--s5))}}
/* recitals */
.pg-head--wide .pg-i .ph picture{aspect-ratio:16/10}
.rec-g{display:grid;gap:var(--s7)}
@media (min-width:1000px){.rec-g{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--s8);align-items:start}}
.programme-card{padding:var(--s6);background:var(--surface);border:1px solid var(--ink);outline:1px solid var(--brass);outline-offset:-8px}
@media (max-width:479.98px){.programme-card{padding:var(--s5)}}
.programme-card h2{margin-block-end:var(--s3)}
.programme-card .rb-when,.carols .rb-when{font-family:var(--f-display);font-style:italic;font-size:1.25rem;color:var(--brand-t);margin-block-end:var(--s3)}
.programme-card>p{margin-block-end:var(--s3)}
.prog-h{font-size:1.5rem;margin-block:var(--s6) var(--s3);padding-block-start:var(--s4);border-block-start:1px solid var(--ink)}
.prog{list-style:none;padding:0;display:grid}
.prog li{display:grid;grid-template-columns:2.5rem auto minmax(1rem,1fr);grid-template-areas:"n who dots" ". what what";gap:0 var(--s3);padding-block:var(--s3);border-block-end:1px solid var(--line);align-items:baseline}
.prog-n{grid-area:n;font-family:var(--f-display);font-style:italic;color:var(--brass-t)}
.prog-who{grid-area:who;font-family:var(--f-display);font-weight:500;font-size:1.25rem}
.prog-dots{grid-area:dots;border-block-end:2px dotted var(--line-strong);transform:translateY(-4px)}
.prog-what{grid-area:what;color:var(--muted)}
@media (min-width:700px){.prog li{grid-template-columns:2.5rem auto minmax(2rem,1fr) auto;grid-template-areas:"n who dots what"}.prog-what{text-align:end;max-inline-size:28ch}}
.dress{margin-block-start:var(--s4)}
.rec-side{display:grid;gap:var(--s6)}
.carols{padding:var(--s5);background:var(--walnut);color:var(--paper)}
.carols h2{color:#fff;font-size:1.75rem;margin-block-end:var(--s2)}
.carols .rb-when{color:var(--brass-l)!important}
.house h2{font-size:1.75rem;margin-block-end:var(--s4)}
.house-list{padding-inline-start:1.5rem;display:grid;gap:var(--s3)}
.house-list li::marker{font-family:var(--f-display);font-style:italic;color:var(--brass-t)}
.past-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--s6) var(--s5)}
.past{display:grid;gap:var(--s3);text-decoration:none;color:var(--fg)}
.past picture{aspect-ratio:3/2;background:var(--surface-2)}
.past img{inline-size:100%;block-size:100%;object-fit:cover}
.past-t{display:grid;gap:var(--s1);border-block-start:1px solid var(--ink);padding-block-start:var(--s3)}
.past-t .kicker{margin:0}
.past b{font-family:var(--f-display);font-weight:440;font-size:1.625rem;line-height:1.1}
.past-t>span:last-child{color:var(--muted)}
.past:hover b{color:var(--brand-t);text-decoration:underline;text-decoration-thickness:1px}
.rec-head{padding-block:var(--s5) var(--s7)}
.rec-head-g{display:grid;gap:var(--s6);align-items:center}
.rec-head-g .ph picture{aspect-ratio:16/9}
@media (min-width:1000px){.rec-head-g{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8)}}
/* fees */
.pg-head--fees .pg-i .ph picture{aspect-ratio:3/2}
.fees-g{display:grid;gap:var(--s7)}
@media (min-width:1000px){.fees-g{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s8)}}
.in-out{display:grid;gap:var(--s6)}
.ticks,.dashes{list-style:none;padding:0;display:grid;border-block-start:1px solid var(--ink)}
.ticks li,.dashes li{position:relative;padding:var(--s3) 0 var(--s3) var(--s6);border-block-end:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;inset-inline-start:4px;inset-block-start:1.05em;inline-size:12px;block-size:7px;border-inline-start:2px solid var(--brand);border-block-end:2px solid var(--brand);transform:rotate(-45deg)}
.dashes li::before{content:"";position:absolute;inset-inline-start:2px;inset-block-start:1.25em;inline-size:14px;border-block-start:2px solid var(--line-strong)}
.est-g{display:grid;gap:var(--s6)}
@media (min-width:1000px){.est-g{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.9fr);gap:var(--s6);align-items:start}}
@media (min-width:1000px) and (max-width:1199.98px){.est-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.est-intro{grid-column:1/-1}}
.est-out{padding:var(--s5);background:var(--walnut);color:var(--paper)}
.est-line{font-weight:600;color:#fff;margin-block-end:var(--s3)}
.est-out dl{display:grid;border-block-start:1px solid rgba(233,220,203,.3)}
.est-out dl>div{display:flex;justify-content:space-between;gap:var(--s3);padding-block:var(--s2);border-block-end:1px solid rgba(233,220,203,.18)}
.est-out dd{margin:0;font-variant-numeric:tabular-nums}
.est-due{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);padding-block:var(--s4) var(--s2)}
.est-due b{font-family:var(--f-display);font-weight:400;font-size:2.75rem;line-height:1;color:#fff}
.est-out .hint{color:var(--paper-2)}
.toggles{display:grid;gap:0}
.cta-band{display:grid;gap:var(--s4);align-items:end;padding:var(--s6);border:1px solid var(--ink);background:var(--surface)}
.cta-band h2{max-inline-size:20ch}
@media (min-width:860px){.cta-band{grid-template-columns:minmax(0,1fr) auto}.cta-band p .btn{margin:0}}
/* trial */
.trial-g{display:grid;gap:var(--s7)}
@media (min-width:1000px){.trial-g{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--s8);align-items:start}}
.trial-side .ph picture{aspect-ratio:4/5}
.trial-side .h-s{margin-block-start:var(--s5)}
.who-list{list-style:none;padding:0;border-block-start:1px solid var(--ink)}
.who-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 var(--s3);border-block-end:1px solid var(--line)}
.who-list a{display:inline-flex;align-items:center;min-block-size:44px;font-weight:600;color:var(--brand-t)}
.who-list span{color:var(--muted)}
.noted{padding:var(--s6);background:var(--surface);border:1px solid var(--line);border-block-start:3px solid var(--brand)}
.noted h2{margin-block:var(--s2) var(--s3)}
.noted:focus{outline:3px solid var(--brand-t);outline-offset:3px}
/* visit */
.visit{padding-block:var(--s5) var(--sec)}
.visit-g{display:grid;gap:var(--s7)}
.visit-t .lead{margin-block:var(--s4) var(--s6)}
.hours{margin-block-end:var(--s6)}
.facts--rows{margin-block:var(--s2) 0}
.facts--rows>div{grid-template-columns:9rem minmax(0,1fr)}
.visit-i .ph picture{aspect-ratio:4/5}
@media (min-width:1000px){.visit-g{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s8);align-items:start}}
/* credits, 404 */
.credits td:first-child{inline-size:112px}
.credits picture,.credits img{inline-size:96px;block-size:auto}
.credits a{display:inline-block;padding-block:10px;margin-block:-10px;color:var(--brand-t)}
.nf-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6)}
/* grid children may shrink below their content width (no sideways scroll at 320) */
.fees-g>*,.ins-g>*,.est>*,.trial-g>*,.visit-g>*,.teacher-g>*,.prog-g>*{min-inline-size:0}
@media (max-width:420px){.fee-table th,.fee-table td{padding-inline:6px}.fee-table th{letter-spacing:.04em}}
/* no motion, anywhere */
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
