:root{color-scheme:light;--paper: #fcfcfb;--ink: #101010;--ink-2: #3a3a3a;--ink-3: #6b6b6b;--rule: rgba(16, 16, 16, .14);--rule-strong: rgba(16, 16, 16, .55);--display: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;--serif: "Libre Caslon Text", Georgia, serif;--mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--music: "Noto Music", "Bravura Text", serif;--nav-h: 64px;--gutter: clamp(1.25rem, 3.6vw, 3.5rem)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:clip}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip{position:absolute;left:-9999px;top:.5rem;background:var(--ink);color:var(--paper);padding:.5rem .9rem;z-index:200;font-family:var(--mono);font-size:12px}.skip:focus{left:.5rem}.label{font-family:var(--mono);font-size:11.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0;text-wrap:balance}h1{font-size:clamp(2.9rem,5.6vw,5.4rem);line-height:1.02;letter-spacing:-.012em}h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08;letter-spacing:-.008em}h3{font-size:1.7rem;line-height:1.15}p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.25rem;border:1px solid var(--ink);border-radius:0;cursor:pointer;transition:background .2s ease,color .2s ease;white-space:nowrap}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--paper);color:var(--ink)}.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--paper)}.btn-paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-paper:hover{background:transparent;color:var(--paper)}.btn-lg{padding:1.05rem 1.6rem;font-size:12.5px}.btn-text{background:none;border:none;padding:.35rem 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:.3em}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 var(--gutter);background:#fcfcfbf0;backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--rule)}.wordmark{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--ink);margin:0}.wm-a{font-family:var(--display);font-size:1.28rem;letter-spacing:.005em}.wm-b{font-family:var(--mono);font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;margin-top:.3rem;color:var(--ink-2)}.nav-links{display:flex;gap:clamp(1rem,2vw,2rem)}.nav-links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:.3rem 0;border-bottom:1px solid transparent}.nav-links a:hover{color:var(--ink);border-bottom-color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:.9rem}.nav-actions .btn{padding:.65rem 1rem;font-size:11px}.sound-toggle{display:inline-flex;align-items:center;gap:.45rem;background:none;border:1px solid var(--rule);padding:.5rem .75rem;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .3s ease}.sound-toggle svg{width:16px;height:16px}.sound-toggle .wave{display:none}.sound-toggle[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.sound-toggle[aria-pressed=true] .wave{display:inline}.sound-toggle[aria-pressed=true] .mute{display:none}.sound-toggle:hover{border-color:var(--ink);color:var(--ink)}.composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.content-col{grid-column:1;grid-row:1;padding:0 var(--gutter) 0 var(--gutter);min-width:0}.score-col{grid-column:2;grid-row:1;border-left:1px solid var(--rule);min-width:0}.score-panel{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;padding:1.25rem clamp(1rem,2vw,2rem) 1rem;background:var(--paper)}.score-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule)}.score-meta{display:flex;flex-direction:column;gap:.2rem}.tempo{font-family:var(--serif);font-size:.85rem;color:var(--ink-2)}.tempo .glyph{font-family:var(--music)}.score-title{font-family:var(--display);font-size:1.55rem;text-align:center}.play-btn{justify-self:end;display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--ink);padding:.5rem .85rem;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer}.play-btn svg{width:11px;height:11px}.play-btn .i-stop,.play-btn[aria-pressed=true] .i-play{display:none}.play-btn[aria-pressed=true] .i-stop{display:inline}.play-btn:hover{background:var(--ink);color:var(--paper)}.score-canvas{position:relative;flex:1;min-height:0}.score-foot{display:flex;justify-content:space-between;gap:1rem;padding-top:.6rem;border-top:1px solid var(--rule)}.score-svg{position:absolute;inset:0;display:block;overflow:visible;user-select:none}.score-svg .staff{opacity:0;transition:opacity .6s ease}.score-svg .staff.on{opacity:1}.score-svg .staff-line{stroke:var(--ink);stroke-width:.8;opacity:.8}.score-svg .barline{stroke:var(--ink);stroke-width:.9}.score-svg .clef{font-family:var(--music);fill:var(--ink)}.score-svg .timesig{font-family:var(--display);font-weight:400;fill:var(--ink);text-anchor:middle}.score-svg .inst-name{font-family:var(--serif);fill:var(--ink);text-anchor:end}.score-svg .dynamic{font-family:var(--serif);font-style:italic;font-weight:700;fill:var(--ink)}.score-svg .rest{fill:var(--ink)}.score-svg .system-line{stroke:var(--ink);stroke-width:1.2}.score-svg .bracket{fill:none;stroke:var(--ink);stroke-width:2.6;opacity:0;transition:opacity .6s ease}.score-svg .brace{fill:none;stroke:var(--ink);stroke-width:1.8;opacity:0;transition:opacity .6s ease}.score-svg .bracket.on,.score-svg .brace.on{opacity:1}.score-svg .note{opacity:0;transform:translateY(-7px) scale(.6);transform-box:fill-box;transform-origin:center;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.9,.25,1.25);pointer-events:none;cursor:pointer}.score-svg .note.on{opacity:1;transform:none;pointer-events:auto}.score-svg .head{fill:var(--ink);transition:fill .15s ease}.score-svg .head.hollow{fill:var(--paper);stroke:var(--ink);stroke-width:1.35}.score-svg .stem,.score-svg .ledger{stroke:var(--ink);stroke-width:1}.score-svg .flag{fill:none;stroke:var(--ink);stroke-width:1.3}.score-svg .beam{fill:var(--ink)}.score-svg .hit{fill:transparent;stroke:none}.score-svg .note.on:hover .hit{fill:none;stroke:var(--ink);stroke-width:.9}.score-svg .note.on:hover .head.hollow{fill:var(--ink)}.score-svg .note.sounding .hit{fill:#10101014;stroke:var(--ink);stroke-width:1;animation:ring .42s ease-out}@keyframes ring{0%{r:4}}.score-svg .hairpin{fill:none;stroke:var(--ink);stroke-width:1}.score-svg .hairpin,.score-svg>.dynamic,.score-svg .final-bar{opacity:0;transition:opacity .6s ease}.score-svg .hairpin.on,.score-svg>.dynamic.on,.score-svg .final-bar.on{opacity:1}.score-svg .final-bar .thin{stroke:var(--ink);stroke-width:1}.score-svg .final-bar .thick{fill:var(--ink)}.score-svg .fine{font-family:var(--serif);font-style:italic;text-anchor:end;fill:var(--ink)}.score-svg .playhead{opacity:0;pointer-events:none}.score-svg .playhead.on{opacity:1}.score-svg .playhead line{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3}.score-svg .note-tip{opacity:0;pointer-events:none;transition:opacity .12s ease}.score-svg .note-tip.on{opacity:1}.score-svg .note-tip rect{fill:var(--ink)}.score-svg .note-tip text{fill:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.04em}.score-svg.no-anim *,.reduced .score-svg *{transition:none!important;animation:none!important}.hero{min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;justify-content:center;gap:1.6rem;padding:4rem 0 5rem;position:relative}.hero h1{max-width:11.5ch}.lede{font-size:1.2rem;line-height:1.6;color:var(--ink-2);max-width:34rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem}.scroll-cue{position:absolute;bottom:2.2rem;left:0;display:flex;align-items:center;gap:.8rem}.cue-line{display:inline-block;width:44px;height:1px;background:var(--ink);transform-origin:left;animation:cue 2.8s ease-in-out infinite}@keyframes cue{0%,to{transform:scaleX(.3)}50%{transform:scaleX(1)}}.block{padding:clamp(5rem,10vw,8.5rem) 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:1.4rem}.section-lede{font-size:1.1rem;color:var(--ink-2);max-width:34rem}.prose{display:flex;flex-direction:column;gap:1.1rem;max-width:36rem;font-size:1.08rem;color:var(--ink-2)}.prose p:first-child{color:var(--ink);font-size:1.22rem;line-height:1.55}.pull{margin:1.5rem 0 0;padding:1.4rem 0 0;border-top:1px solid var(--ink);max-width:30rem}.pull p{font-family:var(--display);font-size:1.7rem;line-height:1.25;font-style:italic}.movement{display:grid;grid-template-columns:4.2rem 1fr;gap:1.2rem;padding:2.6rem 0;border-top:1px solid var(--rule)}.movement:first-of-type{margin-top:1.2rem}.mv-num{font-family:var(--display);font-size:2.4rem;line-height:1;font-style:italic}.mv-body{display:flex;flex-direction:column;gap:.75rem;max-width:34rem}.mv-marking{font-size:.95rem;color:var(--ink-3)}.mv-body>p:not(.mv-marking):not(.mv-scored){color:var(--ink-2)}.mv-scored{padding-top:.4rem;color:var(--ink)}.dynamics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:1rem;border-top:1px solid var(--ink)}.dyn{padding:1.6rem 1.2rem 1.6rem 0;display:flex;flex-direction:column;gap:.65rem}.dyn+.dyn{padding-left:1.2rem;border-left:1px solid var(--rule)}.dyn-mark{font-family:var(--serif);font-style:italic;font-weight:700;font-size:2.6rem;line-height:1;letter-spacing:-.02em}.dyn h3{font-size:1.3rem}.dyn p:last-child{color:var(--ink-2);font-size:.98rem}.disciplines{margin-top:1.2rem;line-height:2;color:var(--ink)}.instrumentation{margin:1rem 0 0;border-top:1px solid var(--ink)}.instrumentation>div{display:grid;grid-template-columns:minmax(9rem,.8fr) 1.4fr;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--rule)}.instrumentation dt{font-family:var(--display);font-size:1.2rem}.instrumentation dd{margin:0;color:var(--ink-2);font-size:.98rem}.rep-list{list-style:none;counter-reset:rep;margin:.5rem 0 0;padding:0;border-top:1px solid var(--ink)}.rep-list li{counter-increment:rep;border-bottom:1px solid var(--rule)}.rep-list a{display:flex;align-items:baseline;gap:1.2rem;padding:1rem 0;text-decoration:none;font-family:var(--display);font-size:1.45rem}.rep-list a:before{content:"No. " counter(rep);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);min-width:3.4rem}.rep-list a:after{content:"↗";margin-left:auto;font-family:var(--mono);font-size:.9rem;color:var(--ink-3)}.rep-list a:hover{font-style:italic}.faq-list{margin-top:.8rem;border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--rule)}.faq-list summary{list-style:none;cursor:pointer;padding:1.15rem 2.2rem 1.15rem 0;font-family:var(--display);font-size:1.25rem;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:1.1rem}.faq-list details[open] summary:after{content:"–"}.faq-list details p{padding:0 0 1.3rem;max-width:36rem;color:var(--ink-2)}.coda{background:var(--ink);color:var(--paper);padding:clamp(5rem,12vw,9rem) var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.coda .label{color:#fcfcfb99}.coda h2{color:var(--paper);font-size:clamp(2.4rem,5vw,4.6rem);max-width:16ch}.coda p{font-size:1.2rem;color:#fcfcfbcc}.coda .btn{margin-top:.8rem}.footer{padding:3.5rem var(--gutter) 2rem;border-top:1px solid var(--rule)}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2rem}.footer-grid p+p{margin-top:.35rem}.footer-grid .label{margin-bottom:.6rem}.footer-line{margin-top:.9rem!important;color:var(--ink-2)}.footer-fine{margin-top:3rem;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}.apply-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);padding:clamp(3rem,7vw,6rem) var(--gutter)}.apply-intro{position:sticky;top:calc(var(--nav-h) + 2.5rem);align-self:start;display:flex;flex-direction:column;gap:1.3rem}.apply-intro h1{font-size:clamp(2.6rem,4.6vw,4.2rem)}.next-steps{list-style:none;margin:1rem 0 0;padding:0;border-top:1px solid var(--ink)}.next-steps li{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--rule);color:var(--ink-2);font-size:.98rem}.next-steps strong{color:var(--ink);font-weight:700}.next-steps .label{padding-top:.25rem}.apply-contact{font-size:.95rem;color:var(--ink-2)}.apply-form fieldset{border:none;margin:0;padding:0 0 2.8rem;display:flex;flex-direction:column;gap:1.4rem}.apply-form legend{display:flex;align-items:baseline;gap:1rem;width:100%;padding:0 0 .8rem;margin-bottom:1.4rem;border-bottom:1px solid var(--ink);font-family:var(--display);font-size:1.75rem}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.field{display:flex;flex-direction:column;gap:.4rem}.field[hidden]{display:none}.field label,.field-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0}.req{color:var(--ink)}.opt{color:var(--ink-3);text-transform:none;letter-spacing:.02em;margin-left:.3rem}.hint{font-size:.92rem;color:var(--ink-3)}.apply-form input[type=text],.apply-form input[type=email],.apply-form input[type=tel],.apply-form input[type=url],.apply-form select,.apply-form textarea{width:100%;font:inherit;font-size:1.02rem;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--rule-strong);border-radius:0;padding:.6rem 0;transition:border-color .2s ease}.apply-form textarea{border:1px solid var(--rule-strong);padding:.8rem .9rem;resize:vertical;line-height:1.6}.apply-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 1px 0 0 var(--ink)}.apply-form textarea:focus{box-shadow:inset 0 0 0 1px var(--ink)}.apply-form [aria-invalid=true]{border-color:var(--ink)!important;border-bottom-width:2px!important}.err{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink);min-height:0}.err:not(:empty):before{content:"✕ "}.counter{align-self:flex-end;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1rem}.checks .field-label,.checks .err{grid-column:1 / -1}.check{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;font-size:1rem}.check input{appearance:none;flex:none;width:18px;height:18px;margin:.2rem 0 0;border:1px solid var(--ink);background:var(--paper);display:grid;place-content:center;cursor:pointer}.check input:after{content:"";width:10px;height:10px;background:var(--ink);transform:scale(0);transition:transform .12s ease}.check input:checked:after{transform:scale(1)}.consent{font-size:.95rem;color:var(--ink-2)}.links{display:flex;flex-direction:column;gap:.5rem}.link-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end}.icon-btn{background:none;border:1px solid var(--rule);width:32px;height:32px;cursor:pointer;font-family:var(--mono);font-size:14px;color:var(--ink-2)}.icon-btn:hover{border-color:var(--ink);color:var(--ink)}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:2.2rem 1rem;border:1px dashed var(--rule-strong);cursor:pointer;text-align:center;transition:background .2s ease,border-color .2s ease}.dropzone:hover,.dropzone.drag{border-color:var(--ink);background:#10101008}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone:focus-within{outline:2px solid var(--ink);outline-offset:3px}.dz-title{font-family:var(--display);font-size:1.2rem}.file-list{list-style:none;margin:0;padding:0}.file-list li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}.file-list .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list .fsize{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.file-list .bar{grid-column:1 / -1;height:2px;background:var(--rule);position:relative;overflow:hidden}.file-list .bar span{position:absolute;inset:0 auto 0 0;width:0;background:var(--ink);transition:width .15s linear}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;padding-top:.5rem}.form-status{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-2)}[data-submit][disabled]{opacity:.55;cursor:progress}.success{display:flex;flex-direction:column;gap:1.2rem;padding:3rem 0;border-top:1px solid var(--ink);outline:none}.success[hidden]{display:none}.success h2{max-width:18ch}.success>p:not(.label){color:var(--ink-2);max-width:32rem;font-size:1.08rem}.success .btn{align-self:flex-start}.ref span{color:var(--ink);letter-spacing:.06em}@media(max-width:1100px){.nav-links{display:none}}@media(max-width:899px){:root{--nav-h: 58px}body{font-size:16px}.composition{display:block}.score-col{position:sticky;top:var(--nav-h);z-index:20;height:36svh;min-height:230px;border-left:none;border-bottom:1px solid var(--ink);background:var(--paper)}.score-panel{position:relative;top:0;height:100%;padding:.5rem var(--gutter) .4rem}.score-head{grid-template-columns:1fr auto;padding-bottom:.4rem}.score-title,.tempo,.score-hint{display:none}.play-btn{padding:.35rem .6rem}.score-foot{padding-top:.3rem}.hero{min-height:auto;padding:3rem 0 4rem}.scroll-cue{display:none}.dynamics{grid-template-columns:1fr}.dyn+.dyn{padding-left:0;border-left:none;border-top:1px solid var(--rule)}.instrumentation>div{grid-template-columns:1fr;gap:.3rem}.footer-grid{grid-template-columns:1fr 1fr}.apply-main{grid-template-columns:1fr}.apply-intro{position:static}.row-2{grid-template-columns:1fr}.checks{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sound-toggle span{display:none}.nav-actions .btn{padding:.55rem .7rem;font-size:10px;letter-spacing:.08em}.wm-a{font-size:1.08rem}.wm-b{font-size:8px;letter-spacing:.26em}.movement{grid-template-columns:2.6rem 1fr}.mv-num{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
