/* Common Measure: a conservatory prospectus in parchment, ink, bottle-green cloth and gold. */
:root{--paper:#F2EAD6;--vellum:#E8DCBE;--card:#FAF5E8;--green:#173D2C;--green-deep:#0F2B1F;--green-lift:#2F6B4C;--ink:#1A1814;--ink-2:#4B4436;--gold:#D4AE5C;--gold-ink:#715410;--gold-art:#A57F2C;--sage:#C3CFBD;--serif:"Crimson Pro", "Hoefler Text",Garamond,"Palatino Linotype",Palatino,Georgia,serif;--sans:"Gill Sans","Gill Sans MT",Corbel,"Segoe UI","Helvetica Neue",Arial,sans-serif;--nav-h:3.4rem;--max:78rem;--gut:clamp(1rem,4.2vw,3.25rem);--ease:cubic-bezier(.22,.61,.36,1);--fg:var(--ink);--fg-2:var(--ink-2);--bg:var(--paper);--accent:var(--gold-ink);--line:#1A181433;--line-2:#1A18146B;--shadow:0 30px 50px -34px #000C;color-scheme:light}
.sec--green,.fees,.metro,.slot--choir,.foot{--fg:var(--paper);--fg-2:var(--sage);--bg:var(--green);--accent:var(--gold);--line:#F2EAD633;--line-2:#F2EAD673;color:var(--fg)}
.plate__frame,.definition,.stage,.ranges,.evening,.map,.form{--fg:var(--ink);--fg-2:var(--ink-2);--bg:var(--card);--accent:var(--gold-ink);--line:#1A18142E;--line-2:#1A18146B;color:var(--fg)}
.sec--green,.fees,.metro,.slot--choir{background:var(--green) url(cloth.svg)}
.plate__frame,.definition,.stage,.ranges,.evening,.map,.form{background:var(--card) url(paper.svg)}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 1.25rem)}
html:focus-within{scroll-behavior:smooth}
body{margin:0;background:var(--paper) url(paper.svg);color:var(--fg);font:400 clamp(1.125rem,1.04rem + .3vw,1.25rem)/1.5 var(--serif);font-size-adjust:.39;font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility;overflow-wrap:break-word}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.05;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
svg{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:underline 1px var(--accent);text-underline-offset:.2em;transition:text-decoration-thickness .2s,text-decoration-color .2s,color .2s}
a:hover{text-decoration-thickness:2px}
a[href^="#term-"]{text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:.24em;cursor:help}
a[href^="#term-"]:hover{text-decoration-style:solid}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nowrap{white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.75rem 1.1rem;background:var(--gold);color:var(--ink);font:600 .95rem/1 var(--sans);text-decoration:none}
.skip:focus{top:.75rem}
.cover__eyebrow,.brand__sub,.rail__k,.inshort__k,.beat__n,.fees__table thead th,.stage__step,.stage__facts dt,.question__col h4,.metro__unit,.tag,.teacher__dl dt,.gloss-tools__label,.hours dt,.field label,.choice legend,.foot__h,.foot__sub{font-family:var(--sans);font-size-adjust:none;font-variant-numeric:lining-nums;font-weight:600;font-size:.7rem;line-height:1.25;letter-spacing:.18em;text-transform:uppercase}
.inshort__k,.beat__n,.stage__step,.stage__facts dt,.gloss-tools__label{color:var(--accent)}
.brand__sub,.teacher__dl dt,.field label,.choice legend{color:var(--ink-2)}
.fees__table thead th,.question__col h4,.foot__h{color:var(--gold)}
.metro__unit,.hours dt,.foot__sub{color:var(--sage)}
.mark__lines{fill:none;stroke:var(--mk-lines,currentColor);stroke-width:1.6}
.mark__c{fill:var(--mk-c,currentColor);stroke:var(--mk-bg,transparent);stroke-width:2.6;stroke-linejoin:round;paint-order:stroke}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:2.95rem;padding:.7em 1.4em;border:1.5px solid transparent;border-radius:2px;font:600 .95rem/1.15 var(--sans);font-variant-numeric:lining-nums;letter-spacing:.04em;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.4;cursor:default;transform:none}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--paper);border-color:var(--paper)}
.btn--line{background:transparent;border-color:var(--line-2);color:var(--fg)}
.btn--line:hover:not(:disabled){background:var(--fg);border-color:var(--fg);color:var(--bg)}
.btn--green{background:var(--green);border-color:var(--green);color:var(--paper)}
.btn--green:hover{background:var(--ink);border-color:var(--ink)}
.btn--small{min-height:2.5rem;padding:.5em 1.05em;font-size:.86rem}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary::after{flex:none;width:1rem;height:.72rem;box-shadow:inset 0 0 0 1.5px var(--accent);transition:background-color .25s,transform .25s var(--ease)}
summary:hover::after{transform:rotate(-22deg) scale(1.2)}
[open]>summary::after{background:var(--accent)}
.more>summary{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;font:600 .72rem/1.25 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.toggle{display:inline-flex;align-items:center;gap:.65rem;min-height:2.6rem;padding:.4rem 1.05rem .4rem .45rem;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--fg);font:600 .86rem/1 var(--sans);letter-spacing:.03em;cursor:pointer;transition:border-color .2s}
.toggle:hover{border-color:var(--fg)}
.toggle__dot{position:relative;flex:none;width:2.2rem;height:1.3rem;border-radius:999px;background:var(--line);transition:background-color .2s}
.toggle__dot::after{content:"";position:absolute;top:.2rem;left:.2rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--fg);transition:transform .2s var(--ease),background-color .2s}
.toggle[aria-pressed="true"] .toggle__dot{background:var(--gold)}
.toggle[aria-pressed="true"] .toggle__dot::after{transform:translateX(.9rem);background:var(--ink)}
.masthead{background:var(--paper) url(paper.svg);border-bottom:1px solid var(--line)}
.masthead__in,.index__in,.sec__in,.foot__in{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.masthead__in{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem 2rem;padding-block:.85rem}
.brand{--mk-lines:#1A181473;--mk-c:var(--green);--mk-bg:var(--paper);display:inline-flex;align-items:center;gap:.85rem;color:var(--ink);text-decoration:none}
.brand__mark{flex:none;width:2.9rem;height:2.9rem}
.brand__words{display:grid;gap:.15rem}
.brand__name{font:400 1.7rem/1 var(--serif);font-size-adjust:.39;font-variant-caps:small-caps;letter-spacing:.06em}
.brand__sub{font-size:.64rem;letter-spacing:.2em}
.masthead__contact{margin:0;display:grid;justify-items:end;font:.8rem/1.45 var(--sans);color:var(--ink-2);font-variant-numeric:lining-nums}
.index{position:sticky;top:0;z-index:40;background:var(--paper) url(paper.svg);border-bottom:3px double var(--ink);box-shadow:0 12px 20px -18px #1A181499}
.index__in{display:flex;align-items:center;gap:.75rem;min-height:var(--nav-h)}
.index__mark{--mk-lines:#1A181473;--mk-c:var(--green);--mk-bg:var(--paper);flex:none;display:grid;place-items:center;width:2.3rem;height:2.3rem}
.index__mark svg{width:100%;height:100%}
.index__list{flex:1 1 auto;min-width:0;display:flex;list-style:none;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.index__list::-webkit-scrollbar{display:none}
.index__list a{position:relative;display:flex;align-items:baseline;gap:.4rem;padding:1.05rem .72rem 1rem;color:var(--fg);text-decoration:none;white-space:nowrap;font:500 .9rem/1 var(--sans);letter-spacing:.03em}
.index__list a:focus-visible{outline-offset:-4px}
.index__n{font:italic 1.05rem/1 var(--serif);font-size-adjust:.39;color:var(--gold-ink)}
.index__list a::after{content:"";position:absolute;left:.72rem;right:.72rem;bottom:0;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.index__list a:hover::after,.index__list a[aria-current]::after{transform:scaleX(1)}
.index__list a[aria-current]{color:var(--green)}
.index__cta{flex:none;min-height:2.3rem;padding:.35rem 1rem;font-size:.84rem}
.cover{position:relative;padding:clamp(1rem,2.4vw,2.25rem) 0 clamp(2.75rem,5.5vw,4.5rem);background:var(--vellum) url(paper.svg)}
.cover__grid{position:relative;width:min(calc(100% - 2*var(--gut)),calc(var(--max) - 2*var(--gut)));margin:0 auto;padding:clamp(1.1rem,2.6vw,2rem) clamp(1.1rem,4vw,3.75rem) clamp(1.5rem,3.2vw,2.5rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);gap:0 clamp(2rem,4.5vw,4.5rem);align-items:start;background:var(--paper) url(paper.svg);border:1px solid var(--ink);box-shadow:0 1px 2px #1A181433,0 40px 60px -40px #1A181499;overflow:clip}
.cover__grid::after{content:"";position:absolute;z-index:3;inset:0;border:7px solid var(--paper);box-shadow:inset 0 0 0 1px #1A181480;pointer-events:none}
.cover__head{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 2rem;margin-bottom:clamp(1.75rem,4vw,3.25rem);padding:.35rem 0 .95rem;border-bottom:1px solid var(--line-2)}
.cover__eyebrow{display:flex;align-items:center;gap:.9rem;margin:0;font-size:.78rem;letter-spacing:.22em;color:var(--gold-ink)}
.cover__eyebrow::before{content:"";flex:none;width:2.5rem;height:1px;background:currentColor}
.cover__edition{margin:0;font-style:italic;font-size:1.02rem;color:var(--ink-2)}
.cover__title{position:relative;z-index:0;margin:0 0 .38em;font-size:clamp(2.8rem,8.4vw,7.2rem);line-height:.94;letter-spacing:-.018em;color:var(--ink)}
.cover__l1,.cover__l2{display:block}
.cover__l1{position:relative;white-space:nowrap}
.cover__l1::before{content:"";position:absolute;z-index:-1;left:-100vw;right:-100vw;top:.1em;height:calc(.66em + 1px);background:repeating-linear-gradient(#1A18144C 0 1px,transparent 1px .165em)}
.cover__l1::after{content:"";display:inline-block;width:max(2px,.018em);height:.66em;margin-left:.2em;background:var(--ink);vertical-align:-.004em}
.cover__sig{display:inline-block;width:.364em;height:.4em;margin-right:.2em;color:var(--green);vertical-align:.13em}
.cover__sig svg{display:block;width:100%;height:100%;fill:currentColor;overflow:visible}
.cover__l2{padding-left:.66em}
.cover__l2 em{color:var(--green);letter-spacing:-.01em}
.cover__lede{max-width:31em;margin:0 0 2rem;font-size:1.24em;line-height:1.42}
.cover__actions{display:flex;flex-wrap:wrap;gap:.8rem}
.cover__facts{list-style:none;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.55rem 1.9rem;font:.9rem/1.35 var(--sans);color:var(--ink-2);font-variant-numeric:lining-nums}
.cover__facts li,.fees__small li{position:relative;padding-left:1.2rem}
.cover__facts li::before,.fees__small li::before,.ticks li::before,summary::after{content:"";border-radius:50%;transform:rotate(-22deg)}
.cover__facts li::before,.fees__small li::before{position:absolute;left:0;top:.42em;width:.62rem;height:.46rem;background:var(--gold)}
.cover__facts li::before{background:var(--green)}
.plate{position:relative;z-index:1;align-self:start;margin:.4rem 0 0}
.plate__frame{padding:.7rem;border:1px solid #1A181447;box-shadow:0 1px 2px #1A181438,0 30px 44px -30px #1A1814A6}
.plate__art,.map svg{display:block;width:100%;height:auto;border:1px solid #1A18144C}
.pl-label{font:600 7px/1 var(--sans);letter-spacing:.14em;fill:var(--ink);font-variant-numeric:lining-nums}
.pl-pend{transform-box:view-box;transform-origin:322px 139px;transform:rotate(-11deg)}
.plate__cap{margin-top:.95rem;font-style:italic;font-size:.95rem;line-height:1.4;color:var(--ink-2)}
.plate__no{font-style:normal;font-variant-caps:small-caps;letter-spacing:.06em;color:var(--gold-ink)}
.contents{grid-column:1/-1;display:grid;grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);gap:1rem 2.5rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.4rem;border-top:3px double var(--ink)}
.contents__title{font-size:1.9rem;font-style:italic}
.contents__title::after{content:"";display:block;width:3rem;height:13px;margin-top:.9rem;background:repeating-linear-gradient(var(--line-2) 0 1px,transparent 1px 3px)}
.toc{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem}
.toc a{display:grid;grid-template-columns:1.7rem minmax(0,1fr);column-gap:.6rem;align-items:baseline;height:100%;padding:.62rem 0 .7rem;border-top:1px solid var(--line);text-decoration:none}
.toc__n{grid-row:span 2;font:1.75rem/1 var(--serif);font-size-adjust:.39;color:var(--gold-ink)}
.toc__t{font-size:1.16rem;line-height:1.2;transition:color .2s}
.toc__d{font:.8rem/1.3 var(--sans);color:var(--ink-2)}
.toc a:hover .toc__t{color:var(--green-lift);text-decoration:underline 1px var(--gold-ink);text-underline-offset:.2em}
.sec{position:relative;padding:clamp(4rem,8vw,7.5rem) 0}
.sec--vellum{background:var(--vellum) url(paper.svg)}
.sec__in{display:grid;grid-template-columns:8.5rem minmax(0,1fr);column-gap:clamp(1.5rem,3.5vw,3.5rem)}
.sec__in::before{content:"";grid-column:1/-1;height:17px;margin-bottom:clamp(2.25rem,4.5vw,3.75rem);background:repeating-linear-gradient(var(--line-2) 0 1px,transparent 1px 4px);opacity:.7}
.rail{grid-column:1;align-self:start;position:sticky;top:calc(var(--nav-h) + 1.75rem);display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin:0}
.rail__n{font:400 clamp(4.5rem,6.8vw,7.25rem)/.74 var(--serif);font-size-adjust:.39;color:var(--accent)}
.rail__k{writing-mode:vertical-rl;transform:rotate(180deg);padding-top:.9rem;border-right:1px solid var(--line-2);font-size:.72rem;line-height:1;letter-spacing:.26em;color:var(--fg-2)}
.sec__body{grid-column:2;min-width:0}
.sec__head{max-width:46rem;margin-bottom:clamp(2.25rem,4.5vw,3.25rem)}
.sec__head h2{margin-bottom:.5em;font-size:clamp(2.5rem,1.35rem + 3.7vw,4.7rem);line-height:.98;letter-spacing:-.014em}
.inshort{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.3rem 1.2rem;align-items:baseline;margin:0;padding-top:.95rem;border-top:2px solid var(--fg);font-size:1.2em;line-height:1.42}
.inshort__k{line-height:1;letter-spacing:.2em;white-space:nowrap;transform:translateY(-.15em)}
.hn{margin-right:.45em;font:600 .5em/1 var(--sans);letter-spacing:.08em;color:var(--accent);vertical-align:.38em;font-variant-numeric:lining-nums tabular-nums}
.lessons{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.lead{max-width:30em;margin-bottom:2.25rem;font-size:1.38em;line-height:1.38}
.instr,.teachers{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,2.75rem)}
.instr__item{display:grid;gap:.9rem;padding:1.5rem 0 1.7rem;border-top:1px solid var(--line)}
.instr__item h3{margin-bottom:.45rem;font-size:1.55rem;line-height:1.1}
.instr__item p{margin:0 0 .6rem;font-size:.96em}
.instr__item .instr__meta{margin:0;font:.8rem/1.45 var(--sans);color:var(--ink-2);font-variant-numeric:lining-nums}
.vig{width:3.3rem;height:3.3rem;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease)}
.vig__g{stroke:var(--gold-art)}
.vig__f{fill:var(--ink);stroke:none}
.instr__item:hover .vig{transform:rotate(-6deg) translateY(-2px)}
.fees{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto 1fr;gap:0 clamp(2rem,4.5vw,4rem);align-items:start;padding:clamp(1.6rem,3.5vw,2.6rem);box-shadow:var(--shadow)}
.fees__title,.fees__note,.fees__fold{grid-column:1}
.fees__title{margin-bottom:.6rem;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.6rem);font-style:italic}
.fees__note{font-size:.92em;line-height:1.45;color:var(--sage)}
.fees__table{grid-column:2;grid-row:1/span 3;width:100%;border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums}
.fees__table thead th{padding:0 0 .6rem;border-bottom:1px solid var(--gold);text-align:right;font-size:.66rem;line-height:1}
.fees__table thead th:first-child{text-align:left}
.fees__table tbody tr{border-bottom:1px solid var(--line)}
.fees__table tbody tr:last-child{border-bottom:0}
.fees__table tbody th{padding:.55rem 0;text-align:left;font-weight:400;font-size:.98em;line-height:1.25}
.fees__table td{padding:.55rem 0 .55rem .9rem;text-align:right;white-space:nowrap;color:var(--sage)}
.fees__table td:last-child{color:var(--gold);font-size:1.15em}
.fees__fold{margin-top:.6rem}
.fees__small{list-style:none;margin-top:.3rem;display:grid;gap:.5rem;font:.82rem/1.45 var(--sans);color:var(--sage);font-variant-numeric:lining-nums}
.fees__small li::before{top:.5em;width:.45rem;height:.34rem}
.bar{--sp:16px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.beat{min-width:0}
.beat__staff{position:relative;display:block;height:calc(var(--sp)*4 + 1px);margin-bottom:2rem;background:repeating-linear-gradient(var(--ink) 0 1px,transparent 1px var(--sp))}
.beat:first-child .beat__staff{border-left:1.5px solid var(--ink)}
.beat:last-child .beat__staff::after{content:"";position:absolute;right:0;top:0;bottom:0;width:8px;border-left:1.5px solid var(--ink);border-right:5px solid var(--ink)}
.beat__sig{position:absolute;left:.55rem;top:calc(var(--sp)*.876);width:calc(var(--sp)*2.05);height:calc(var(--sp)*2.25);fill:var(--ink)}
.beat__note{--y:6;position:absolute;left:1.4rem;top:calc(var(--y)*var(--sp)/2 + .5px);width:calc(var(--sp)*1.36);height:0}
.beat:first-child .beat__note{left:3.4rem}
.beat:nth-child(2) .beat__note{--y:5}
.beat:nth-child(3) .beat__note{--y:4}
.beat:nth-child(4) .beat__note{--y:3}
.beat__note::before{content:"";position:absolute;left:0;top:calc(var(--sp)/-2);width:100%;height:var(--sp);border-radius:50%;background:var(--ink);transform:rotate(-22deg);transition:transform .4s var(--ease)}
.beat__note::after{content:"";position:absolute;right:0;bottom:calc(var(--sp)*.12);width:1.5px;height:calc(var(--sp)*3.4);background:var(--ink)}
.beat:nth-child(n+3) .beat__note::after{right:auto;left:0;bottom:auto;top:calc(var(--sp)*.12)}
.beat:first-child .beat__note::before{background:var(--gold-art)}
.beat:hover .beat__note::before{transform:rotate(-22deg) scale(1.2)}
.beat__text{padding-right:clamp(1rem,2.5vw,2rem)}
.beat__n{margin:0 0 .5rem;line-height:1;letter-spacing:.22em}
.beat h3{margin-bottom:.55rem;font-size:1.6rem}
.beat__text p:last-child{margin:0;font-size:.96em}
.sec--pathway .sec__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,23rem);column-gap:3rem}
.path,.question{grid-column:1/-1}
.definition{grid-column:2;align-self:end;margin:0 0 clamp(2.25rem,4.5vw,3.25rem);padding:1.35rem 1.6rem 1.45rem;border-left:5px solid var(--gold);box-shadow:0 24px 40px -30px #000C}
.definition__word{margin:0 0 .5rem}
.definition__word dfn{font:700 2.1rem/1 var(--serif);font-size-adjust:.39;letter-spacing:.01em}
.definition__pos{margin-left:.35rem;font-style:italic;color:var(--ink-2)}
.definition__text{margin:0;font-size:.98em;line-height:1.45}
.path__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1.5rem}
.path__hint,.path__status,.path__coda,.question__lede,.parts > p,.parts__list dd,.qa p{color:var(--sage)}
.path__hint{margin:0;font-style:italic}
.stave-map{--u:12px;--ln:#F2EAD68C;position:relative;display:grid;grid-template-columns:calc(var(--u)*11.2) minmax(0,1fr);margin-bottom:1.75rem}
.stave-map::before{content:"";position:absolute;left:0;right:0;top:calc(var(--u)*4);height:calc(var(--u)*8 + 1px);background:repeating-linear-gradient(var(--ln) 0 1px,transparent 1px calc(var(--u)*2));mask-image:linear-gradient(to right,#000 88%,transparent);pointer-events:none}
.stave-map__clef{grid-area:1/1;position:relative;height:calc(var(--u)*16)}
.stave-map__clef::before{content:"";position:absolute;left:0;top:calc(var(--u)*4);height:calc(var(--u)*8 + 1px);border-left:1.5px solid var(--ln)}
.stave-map__clef svg{position:absolute;left:calc(var(--u)*.2);top:calc(var(--u)*.48);width:calc(var(--u)*11.43);height:calc(var(--u)*15.24);overflow:visible;fill:var(--gold)}
.clef{fill:none;stroke:var(--paper);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.clef__dot{fill:var(--paper)}
.stave-map__melody{grid-area:1/2;width:100%;height:calc(var(--u)*16);overflow:visible;pointer-events:none}
.melody-base path{fill:none;stroke:#D4AE5C80;stroke-width:.16;stroke-dasharray:.45 .9}
.melody-walk path{fill:none;stroke:var(--gold);stroke-width:.34;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset .3s linear var(--delay,0s)}
.melody-walk path.is-walked{stroke-dashoffset:0}
.stave-map__notes{grid-area:1/2;position:relative;z-index:1;list-style:none;display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}
.stave-map__notes li{--y:14;position:relative;height:calc(var(--u)*16 + 3.4rem)}
.stave-map__notes li:nth-child(2){--y:13}
.stave-map__notes li:nth-child(3){--y:12}
.stave-map__notes li:nth-child(4){--y:11}
.stave-map__notes li:nth-child(5){--y:10}
.stave-map__notes li:nth-child(6){--y:9}
.stave-map__notes li:nth-child(7){--y:8}
.stave-map__notes li:nth-child(8){--y:7}
.stave-map__notes li:nth-child(9){--y:6}
.stave-map__notes li:nth-child(10){--y:2}
.note{position:absolute;inset:0;display:block;width:100%;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--fg);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
.note:hover{background:#F2EAD612}
.note:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.note__head{position:absolute;left:50%;top:calc(var(--y)*var(--u));width:calc(var(--u)*2.7);height:calc(var(--u)*2);margin:calc(var(--u)*-1) 0 0 calc(var(--u)*-1.35);border-radius:50%;background:var(--paper);transform:rotate(-22deg);transition:background-color .3s,box-shadow .3s,transform .35s var(--ease)}
.note__stem{position:absolute;left:calc(50% + var(--u)*1.2);top:calc((var(--y) - 7.25)*var(--u));width:1.5px;height:calc(var(--u)*7);background:var(--paper);transition:background-color .3s}
.stave-map__notes li:nth-child(n+7) .note__stem{left:calc(50% - var(--u)*1.2 - 1.5px);top:calc((var(--y) + .25)*var(--u))}
.note__ledger{position:absolute;left:50%;top:calc(var(--y)*var(--u));width:calc(var(--u)*4.4);height:1px;margin-left:calc(var(--u)*-2.2);background:#F2EAD6B2}
.note__label{position:absolute;left:0;right:0;top:calc(var(--u)*17.4);padding:0 .1rem;text-align:center;font:italic 1.02rem/1.15 var(--serif);font-size-adjust:.39;color:var(--sage);white-space:nowrap;transition:color .25s}
.note__long{white-space:normal}
.note__short{display:none}
.note:hover .note__head{transform:rotate(-22deg) scale(1.12)}
.is-next .note__head{background:transparent;box-shadow:inset 0 0 0 2px var(--paper)}
.is-now .note__head{background:var(--gold);box-shadow:0 0 0 calc(var(--u)*.6) #D4AE5C40;transform:rotate(-22deg) scale(1.2)}
.is-now .note__stem{background:var(--gold)}
.is-now .note__label{color:var(--gold);font-style:normal}
.stages{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.stage{display:grid;gap:1.25rem;padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 30px 50px -36px #000C}
.js-path .stages{display:block}
.js-path .stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);border-top:4px solid var(--gold)}
.stage__step{margin:0 0 .9rem;line-height:1;letter-spacing:.2em}
.stage__name{margin-bottom:.35em;font-size:clamp(2.4rem,1.5rem + 2.6vw,3.9rem);line-height:.98}
.stage__def{margin:0;font-size:1.16em;font-style:italic;line-height:1.42}
.stage__facts > div{display:grid;grid-template-columns:8.25rem minmax(0,1fr);gap:.5rem 1.1rem;padding:.85rem 0;border-top:1px solid var(--line)}
.stage__facts > div:last-child{border-bottom:1px solid var(--line)}
.stage__facts dt{padding-top:.3em;line-height:1.4;letter-spacing:.16em}
.stage.is-shown{animation:stage-in .55s var(--ease)}
@keyframes stage-in{from{opacity:0;transform:translateY(12px)}}
.path__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}
.path__status{margin:0;text-align:center;font-style:italic}
.path__coda{margin:1.4rem 0 0;font-style:italic}
.question,.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:1rem clamp(2rem,4vw,3.5rem);margin-top:clamp(3.5rem,7vw,6rem);padding-top:2.5rem;border-top:1px solid var(--line-2)}
.question{grid-template-rows:auto 1fr}
.question__title,.faq__title{font-size:clamp(2.1rem,1.4rem + 2vw,3.2rem);font-style:italic}
.question__lede{grid-column:1;margin:0}
.question__cols{grid-area:1/2/span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
.question__col h4{font-size:.74rem}
.question__col > summary{padding-top:0}
.ticks{list-style:none}
.ticks li{position:relative;padding:.75rem 0 .8rem 1.9rem;border-top:1px solid var(--line);line-height:1.42}
.ticks li::before{position:absolute;left:.15rem;top:1.3rem;width:.88rem;height:.64rem}
.ticks--full li::before{background:var(--gold)}
.ticks--open li::before{box-shadow:inset 0 0 0 1.5px var(--gold)}
.tt{display:grid;grid-template-columns:minmax(16rem,19.5rem) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.metro{position:sticky;top:calc(var(--nav-h) + 1.5rem);padding:1.5rem 1.4rem 1.4rem;box-shadow:var(--shadow)}
.metro__title{margin-bottom:1rem;font-size:1.7rem;font-style:italic}
.metro__body{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.1rem;align-items:center}
.metro__art{display:block;width:100%;height:auto;overflow:visible}
.metro__pend{transform-box:view-box;transform-origin:80px 184px;transform:rotate(var(--a,-14deg))}
.metro__weight{transform:translateY(var(--w,-18px));transition:transform .25s var(--ease)}
.metro__bpm{margin:0;font:400 3.5rem/.9 var(--serif);font-size-adjust:.39;font-variant-numeric:lining-nums tabular-nums}
.metro__bpm output,.metro__unit{display:block}
.metro__unit{margin-top:.4rem;font-size:.64rem;letter-spacing:.16em}
.metro__term{margin:.75rem 0 .7rem;font-size:.85rem;line-height:1.3;color:var(--sage)}
.metro__term dfn{display:block;font-size:1.45rem;font-style:italic;color:var(--gold)}
.metro__beats{list-style:none;display:flex;gap:.4rem}
.metro__beats li{display:grid;place-items:center;width:1.65rem;height:1.65rem;border:1px solid var(--line-2);border-radius:50%;font:600 .72rem/1 var(--sans);color:var(--sage);transition:background-color .1s,color .1s,transform .1s;font-variant-numeric:lining-nums}
.metro__beats li:first-child{border-color:var(--gold)}
.metro__beats li.is-on{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:scale(1.1)}
.metro__beats li:first-child.is-on{background:var(--gold);border-color:var(--gold)}
.metro__text{margin:1.1rem 0 0;font-size:.88em;line-height:1.45;color:var(--sage)}
.metro__text i{color:var(--paper)}
.metro__controls{display:grid;gap:.85rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.metro__go{width:100%}
.metro__tempo{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 2.6rem;align-items:center;gap:.6rem}
.metro__step{width:2.6rem;height:2.6rem;border:1px solid var(--line-2);border-radius:50%;background:transparent;color:var(--fg);font:1.3rem/1 var(--sans);cursor:pointer;transition:background-color .2s,color .2s}
.metro__step:hover{background:var(--paper);color:var(--ink)}
.metro__range{width:100%;height:2.6rem;margin:0;accent-color:var(--gold);cursor:pointer}
.metro .toggle{justify-self:start}
.week{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.day{padding:1.1rem 1.3rem 1.5rem;border-bottom:1px solid var(--line)}
.day:nth-child(3n+1){padding-left:0}
.day:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
.day__name{margin-bottom:.55rem;font-size:1.6rem;font-variant-caps:small-caps;letter-spacing:.05em}
.slots{list-style:none}
.slot{padding:.6rem 0 .7rem;border-top:1px dotted var(--line-2)}
.slot p{margin:0}
.slot .slot__time{font:600 .8rem/1.3 var(--sans);letter-spacing:.06em;color:var(--accent);font-variant-numeric:lining-nums tabular-nums}
.slot .slot__what{margin:.15rem 0 .1rem;font-size:1.07rem;line-height:1.25}
.slot .slot__where{font:.8rem/1.35 var(--sans);color:var(--fg-2)}
.tag{display:inline-block;margin-left:.3rem;padding:.2em .5em .12em;vertical-align:.15em;border:1px solid var(--line-2);border-radius:999px;font-size:.58rem;line-height:1;letter-spacing:.14em;color:var(--fg-2)}
.slot--choir{margin-top:.35rem;padding:.7rem .85rem .8rem;border-top:0}
.tt__foot{max-width:44em;margin:1.75rem 0 0 auto;font-style:italic;color:var(--ink-2)}
.choir__banner{margin:0 0 clamp(2.5rem,5vw,4rem) calc(-8.5rem - clamp(1.5rem,3.5vw,3.5rem));font-size:clamp(2.6rem,.6rem + 6.4vw,7.4rem);line-height:.96;letter-spacing:-.02em}
.choir__banner em{display:block;padding-left:1.6em;color:var(--gold)}
.choir,.visit{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.parts h3,.evening h3{margin-bottom:.8rem;font-size:1.85rem}
.parts > p{max-width:36em}
.parts__fold{margin-top:1rem;border-top:1px solid var(--line)}
.ranges{margin:.6rem 0 1.4rem;padding:1.1rem 1.1rem .9rem;box-shadow:0 30px 50px -36px #000C}
.ranges svg{display:block;width:100%;height:auto}
.r-labels text{font:600 13px/1 var(--sans);letter-spacing:.1em;fill:var(--ink)}
.r-labels text:nth-child(n+3){fill:var(--paper)}
.ranges figcaption,.map figcaption{margin-top:.5rem;font-size:.92rem;font-style:italic;color:var(--ink-2)}
.parts__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.parts__list > div{padding:.8rem 0 .9rem;border-top:1px solid var(--line)}
.parts__list dt{font-size:1.4rem;font-variant-caps:small-caps;letter-spacing:.06em;color:var(--gold)}
.parts__list dd{margin-top:.15rem}
.evening{padding:2rem 1.8rem 1.8rem;box-shadow:var(--shadow);outline:1px solid #1A18144C;outline-offset:-.6rem}
.evening h3{text-align:center;font-style:italic}
.evening h3 .hn,.faq__title .hn{font-style:normal}
.programme{list-style:none;margin:1rem 0 1.25rem}
.programme li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-top:1px dotted var(--line-2);line-height:1.35}
.programme__t{font:600 .9rem/1.55 var(--sans);color:var(--gold-ink);font-variant-numeric:lining-nums tabular-nums}
.evening__note{margin:0;font-size:.92em;font-style:italic;color:var(--ink-2)}
.staff{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.teacher{border-top:1px solid var(--line)}
.teacher__fold summary{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;padding:1.3rem 0 1.15rem}
.teacher__fold summary::after{grid-area:1/2;margin-top:.6rem}
.teacher__fold summary:focus-visible{outline-offset:2px}
.teacher__name{grid-column:1;font-size:1.8rem;line-height:1.1}
.teacher__inst{grid-column:1;display:block;margin-top:.3rem;font-style:italic;color:var(--gold-ink)}
.teacher__dl{display:grid;gap:.5rem;padding-bottom:1.5rem;font-size:.95em;line-height:1.4}
.teacher__dl dt{font-size:.66rem;line-height:1.6;letter-spacing:.16em}
.proof{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:.5rem clamp(2rem,4vw,3.5rem);padding:clamp(1.6rem,3.5vw,2.6rem);border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-7px;background:var(--card)}
.proof__title{margin-bottom:.2rem;font-size:clamp(1.8rem,1.4rem + 1.2vw,2.4rem);font-style:italic}
.proof__lede{margin:0;color:var(--ink-2)}
.proof__fold{grid-area:1/2/span 2}
.proof__fold > summary{padding-top:0}
.proof__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;margin-bottom:1.2rem;counter-reset:proof}
.proof__list li{position:relative;padding:.75rem 0 .8rem 2.1rem;border-top:1px solid var(--line);font-size:.95em;line-height:1.42;counter-increment:proof}
.proof__list li::before{content:counter(proof);position:absolute;left:0;top:.6rem;font:italic 1.55rem/1 var(--serif);font-size-adjust:.39;color:var(--gold-ink)}
.proof__no{grid-column:2;margin:0;padding-top:1rem;border-top:2px solid var(--ink);font-size:.96em;line-height:1.45}
.fold{border-top:2px solid var(--ink);border-bottom:1px solid var(--line-2)}
.fold[open]{padding-bottom:1.75rem}
.fold__sum{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.1rem;padding:1.05rem 2.6rem 1.1rem .1rem}
.fold__sum::after{position:absolute;right:.3rem;top:1.55rem}
.fold[open]>.fold__sum{margin-bottom:1.25rem}
.fold__t{font-size:1.75rem;font-style:italic;line-height:1.1}
.fold--week[open]{padding-bottom:0;border-bottom:0}
.fold--week .week{border-top:1px solid var(--line-2)}
.fold__n{font:.86rem/1.3 var(--sans);letter-spacing:.03em;color:var(--ink-2)}
.gloss-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;max-width:42rem;margin-bottom:2.25rem;padding:.9rem 1.2rem;background:var(--card);border:1px solid var(--line-2)}
.gloss-tools__label{font-size:.72rem;line-height:1}
.gloss-tools__input{flex:1 1 12rem;min-width:0;min-height:2.7rem;padding:.35rem .2rem;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;font:italic 1.2rem/1.2 var(--serif);font-size-adjust:.39;color:var(--ink)}
.gloss-tools__input:focus-visible{outline-offset:4px}
.gloss-tools__count{flex-basis:100%;margin:0;font:.82rem/1.3 var(--sans);color:var(--ink-2);font-variant-numeric:lining-nums}
.gloss{columns:3 16rem;column-gap:2.75rem;column-rule:1px solid var(--line)}
.term{break-inside:avoid;padding:.75rem .1rem .85rem;border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 2rem);transition:background-color .6s}
.term dt{font-size:1.3rem;font-weight:700;line-height:1.2}
.term dt i{margin-left:.3rem;font-size:.8em;font-weight:400;color:var(--ink-2)}
.term dd{margin-top:.25rem;font-size:.98em;line-height:1.45}
.term:target{background:#D4AE5C52;box-shadow:-.5rem 0 0 #D4AE5C52,.5rem 0 0 #D4AE5C52}
.gloss__none{font-style:italic}
.tip{position:absolute;z-index:60;left:var(--x,0);top:var(--y,0);max-width:min(21rem,calc(100vw - 2rem));margin:0;padding:.75rem .95rem .8rem;background:var(--ink);color:var(--paper);border-top:3px solid var(--gold);font:.95rem/1.4 var(--serif);font-size-adjust:.39;box-shadow:0 14px 30px -12px #0009;pointer-events:none}
.tip b{display:block;margin-bottom:.15rem;color:var(--gold);font-style:italic;font-weight:400;font-size:1.1rem}
.map{padding:.8rem;box-shadow:var(--shadow)}
.map figcaption{margin:0;padding:.7rem .2rem .15rem}
.mp-hall-t{font:italic 15px/1 var(--serif);font-size-adjust:.39;fill:var(--card)}
.mp-t{font:600 9.5px/1 var(--sans);letter-spacing:.14em;fill:var(--ink);font-variant-numeric:lining-nums}
.mp-t--inv{fill:var(--card)}
.mp-t--it{font:italic 400 16px/1 var(--serif);font-size-adjust:.39;letter-spacing:0;fill:var(--green)}
.addr{margin-bottom:1.6rem;font-style:normal;font-size:1.45rem;line-height:1.3}
.addr__name{display:block;margin-bottom:.2rem;font-size:2.3rem;font-style:italic;line-height:1.05;color:var(--gold)}
.hours{margin-bottom:2rem}
.hours > div{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;padding:.55rem 0;border-top:1px solid var(--line)}
.hours > div:last-child{border-bottom:1px solid var(--line)}
.hours dt{font-size:.72rem;letter-spacing:.13em}
.hours dd{margin-left:auto;text-align:right}
.faq{grid-template-columns:minmax(0,.75fr) minmax(0,2fr);margin-top:clamp(3.5rem,7vw,5.5rem)}
.faq__title{font-size:clamp(2rem,1.4rem + 1.8vw,2.9rem)}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem .2rem;font-size:1.28rem;line-height:1.25}
.qa summary:focus-visible{outline-offset:0}
.qa p{max-width:38em;margin:0 0 1.25rem;padding-left:.2rem}
.enrol{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.form{padding:clamp(1.4rem,3.2vw,2.5rem);border-top:5px solid var(--green);box-shadow:0 30px 50px -36px #0009,0 1px 3px #0001}
.form__set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.4rem;min-width:0;margin:0 0 2rem;padding:0;border:0}
.form__legend{padding:0 0 1rem;font-size:1.6rem;font-style:italic}
.field{display:grid;gap:.4rem;align-content:start;min-width:0}
.field--wide,.choice{grid-column:1/-1}
.field label,.choice legend{font-size:.72rem;letter-spacing:.14em}
.opt{font-weight:400;font-style:italic;letter-spacing:.02em;text-transform:none}
.field input,.field select,.field textarea{width:100%;min-height:2.95rem;padding:.55rem .75rem;border:1px solid #1A181466;border-bottom:2px solid var(--ink);border-radius:0;background:#FFFDF7;color:var(--ink);font:1.1rem/1.3 var(--serif);font-size-adjust:.39;transition:border-color .2s,background-color .2s}
.field select{appearance:none;padding-right:2.5rem;cursor:pointer;background:#FFFDF7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231A1814' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .9rem center}
.field textarea{min-height:7rem;resize:vertical}
.field :is(input,select,textarea):hover,.choice label:hover{border-color:var(--green)}
.field :is(input,select,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--green);background-color:#fff}
.choice{min-width:0;margin:0;padding:0;border:0}
.choice legend{padding:0 0 .55rem}
.choice label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.6rem;margin:0 .35rem .45rem 0;padding:.3rem 1rem .3rem .8rem;border:1px solid #1A181459;border-radius:999px;background:#FFFDF7;font:1.02rem/1 var(--serif);font-size-adjust:.39;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.choice input{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--green)}
.choice label:has(input:checked){background:var(--green);border-color:var(--green);color:var(--paper)}
.choice label:has(input:checked) input{accent-color:var(--gold)}
.choice label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.choice input:focus-visible{outline:0}
.form__end{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.form__small{margin:0;font:.85rem/1.4 var(--sans);color:var(--ink-2)}
.after{padding-top:.4rem}
.after__title{margin-bottom:1.1rem;font-size:1.9rem;font-style:italic}
.after__list{list-style:none;margin-bottom:1.5rem}
.after__list li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0;border-top:1px solid var(--line)}
.after__list li:last-child{border-bottom:1px solid var(--line)}
.after__n{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--green);color:var(--gold);font:italic 1.25rem/1 var(--serif);font-size-adjust:.39}
.after__list p{margin:0;padding-top:.2rem}
.after__or{font-style:italic;color:var(--ink-2)}
.foot{padding:clamp(3.5rem,7vw,5.5rem) 0 2.25rem;background:var(--green-deep) url(cloth.svg)}
.foot__in{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:2.25rem 2rem}
.foot__in::before{content:"";grid-column:1/-1;height:17px;margin-bottom:1rem;background:linear-gradient(90deg,transparent calc(100% - 4px),#D4AE5CE6 calc(100% - 4px) calc(100% - 2.5px),transparent calc(100% - 2.5px)),repeating-linear-gradient(#D4AE5C8C 0 1px,transparent 1px 4px);border-right:5px solid #D4AE5CE6}
.foot__brand{--mk-lines:#F2EAD673;--mk-c:var(--gold);--mk-bg:var(--green-deep)}
.foot__mark{width:3.6rem;height:3.6rem}
.foot__name{margin:.7rem 0 .15rem;font-size:1.95rem;line-height:1;font-variant-caps:small-caps;letter-spacing:.05em}
.foot__sub{margin:0;font-size:.66rem}
.foot__h{margin-bottom:.75rem;font-size:.72rem}
.foot__col p{margin:0;font-size:1.02rem;line-height:1.55}
.foot__nav{grid-column:1/-1;padding-top:1.4rem;border-top:1px solid var(--line)}
.foot__nav ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.7rem;counter-reset:fnav}
.foot__nav li{counter-increment:fnav}
.foot__nav a{font:.92rem/1.6 var(--sans);letter-spacing:.02em;text-decoration-color:transparent}
.foot__nav a:hover{text-decoration-color:var(--gold)}
.foot__nav a::before{content:counter(fnav);margin-right:.45rem;font:italic 1.02rem/1 var(--serif);font-size-adjust:.39;color:var(--gold)}
.foot__colophon{grid-column:1/-1;margin:0;font-size:.95rem;font-style:italic;color:var(--sage)}
.foot__colophon a{margin-left:.5rem;font:normal .88rem var(--sans)}
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease) var(--d,0ms),transform .75s var(--ease) var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.cover__eyebrow,.cover__l1,.cover__l2,.cover__lede,.cover__actions,.cover__facts{animation:rise .95s var(--ease) both}
.cover__l1{animation-delay:.08s}
.cover__l2{animation-delay:.2s}
.cover__lede{animation-delay:.34s}
.cover__actions{animation-delay:.44s}
.cover__facts{animation-delay:.54s}
.cover__l1::before{transform-origin:0 50%;animation:draw 1.6s .05s var(--ease) both}
.plate{animation:rise 1.1s .28s var(--ease) both}
.contents{animation:rise 1s .5s var(--ease) both}
.pl-pend{animation:swing .714s ease-in-out 1.3s 8 alternate both}
}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
@keyframes draw{from{transform:scaleX(0)}}
@keyframes swing{from{transform:rotate(-11deg)} to{transform:rotate(11deg)}}
@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}
*,*::before,*::after{animation:none !important;transition:none !important}
.js [data-reveal]{opacity:1;transform:none}
}
@media (max-width:1180px){.stave-map{--u:10px}
.sec--pathway .sec__body{grid-template-columns:minmax(0,1fr)}
.definition{grid-column:1;max-width:40rem}
.toc,.week{grid-template-columns:repeat(2,minmax(0,1fr))}
.day:nth-child(n){padding-left:1.3rem;border-left:0}
.day:nth-child(odd){padding-left:0}
.day:nth-child(even){border-left:1px solid var(--line)}
}
@media (max-width:960px){.masthead__in{grid-template-columns:auto 1fr}
.cover__grid,.contents,.sec__in,.question,.choir,.visit,.enrol,.faq,.proof{grid-template-columns:minmax(0,1fr)}
.cover__title{font-size:clamp(2.8rem,13.5vw,7.4rem)}
.plate{max-width:24rem;margin-top:2.5rem}
.rail{position:static;flex-direction:row;align-items:baseline;gap:.9rem;margin-bottom:1.1rem}
.rail__n{font-size:4rem;line-height:.8}
.rail__k{writing-mode:horizontal-tb;transform:none;padding:0 0 0 .9rem;border-right:0;border-left:1px solid var(--line-2)}
.sec__body{grid-column:1}
.instr,.teachers{grid-template-columns:repeat(2,minmax(0,1fr))}
.bar{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.25rem}
.beat:nth-child(2) .beat__staff::after{content:"";position:absolute;right:0;top:0;bottom:0;border-right:1.5px solid var(--ink)}
.beat:nth-child(3) .beat__staff{border-left:1.5px solid var(--ink)}
.question{grid-template-rows:none}
.question__cols,.proof__fold{grid-area:auto}
.proof__no{grid-column:1}
.proof__lede{margin-bottom:1rem}
.tt{grid-template-columns:minmax(0,1fr)}
.metro{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem}
.metro__controls{grid-area:1/2/span 3;margin-top:0;padding-top:0;border-top:0;align-content:start}
.choir__banner{margin-left:0}
.foot__in{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot__brand{grid-column:1/-1}
}
@media (max-width:700px){.stave-map{--u:8px}
.note__label{font-size:.86rem}
.note__long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.note__short{display:inline}
.js-path .stage,.stages,.instr,.teachers,.question__cols,.proof__list,.fees,.week{grid-template-columns:minmax(0,1fr)}
.fees{grid-template-rows:none}
.fees__table{grid-area:auto;margin-top:1.1rem}
.day:nth-child(n){padding-inline:0;border-left:0}
.metro{display:block}
.metro__controls{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.toc__d{display:none}
.toc a{grid-template-columns:1.5rem minmax(0,1fr);padding:.5rem 0}
.toc__n{grid-row:auto;font-size:1.35rem}
}
@media (max-width:600px){body{font-size:1.0625rem}
.masthead__contact,.index__mark,.index__cta,.cover__edition,.path__hint{display:none}
.masthead__in{grid-template-columns:minmax(0,1fr);padding-block:.7rem}
.brand__name{font-size:1.5rem}
.index__list{mask-image:linear-gradient(to right,#000 82%,transparent)}
.index__list a{padding-inline:.6rem}
.cover{padding:.75rem 0 2.5rem}
.cover__grid{padding:1rem 1.15rem 1.4rem}
.cover__grid::after{border-width:5px}
.cover__head{margin-bottom:1.1rem;padding:.3rem 0 .75rem}
.cover__eyebrow{font-size:.7rem;letter-spacing:.18em}
.cover__title{font-size:min(14vw,4.4rem)}
.cover__l1{white-space:normal}
.cover__lede{margin-bottom:1.4rem;font-size:1.08em;line-height:1.4}
.cover__actions .btn{flex:1 1 100%}
.cover__facts{flex-direction:column;margin-top:1.25rem;gap:.4rem}
.plate{max-width:14.5rem;margin:1.75rem auto 0}
.plate__frame{padding:.5rem}
.contents{margin-top:1.75rem;padding-top:1rem;gap:.5rem}
.contents__title{font-size:1.45rem}
.contents__title::after{display:none}
.toc{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.8rem}
.toc a{grid-template-columns:1.1rem minmax(0,1fr);column-gap:.3rem;padding:.4rem 0}
.toc__n{font-size:1.1rem}
.toc__t{font-size:.98rem}
.sec{padding:2rem 0 2.4rem}
.sec__in::before{height:13px;margin-bottom:1.1rem}
.rail{margin-bottom:.5rem;gap:.75rem}
.rail__n{font-size:2.5rem}
.sec__head{margin-bottom:1.6rem}
.inshort,.form__set{grid-template-columns:minmax(0,1fr)}
.inshort{padding-top:.7rem;font-size:1.05em;line-height:1.38}
.inshort__k{transform:none}
.lead{margin-bottom:1.25rem;font-size:1.16em}
.instr__item{grid-template-columns:2.5rem minmax(0,1fr);gap:.9rem;padding:1rem 0 1.05rem}
.vig{width:2.5rem;height:2.5rem}
.instr__item h3{margin-bottom:.3rem;font-size:1.35rem}
.instr__item p{margin-bottom:.35rem;font-size:.93em;line-height:1.38}
.fees{padding:1.35rem 1.2rem 1.4rem}
.fees__table tbody th,.fees__table td{padding-block:.45rem}
.bar{--sp:10px;position:relative;grid-template-columns:minmax(0,1fr);row-gap:1.1rem;padding-top:calc(var(--sp)*4 + 1.9rem)}
.beat__staff{position:absolute;top:0;left:0;width:25%;margin:0}
.beat:nth-child(2) .beat__staff{left:25%}
.beat:nth-child(3) .beat__staff{left:50%;border-left:0}
.beat:nth-child(4) .beat__staff{left:75%}
.beat:nth-child(2) .beat__staff::after{content:none}
.beat .beat__note{left:38%}
.beat:first-child .beat__note{left:54%}
.js .beat[data-reveal]{transform:none}
.beat h3{margin-bottom:.35rem;font-size:1.35rem}
.definition{margin-bottom:1.6rem;padding:1rem 1.1rem 1.1rem}
.stage{gap:.9rem;padding:1.2rem 1.15rem 1.3rem}
.stage__name{font-size:2.2rem}
.stage__def{font-size:1.05em}
.stage__facts > div{grid-template-columns:minmax(0,1fr);gap:.2rem;padding:.6rem 0}
.path__nav{flex-wrap:wrap}
.path__status{order:-1;flex-basis:100%}
.question{margin-top:2.5rem;padding-top:1.75rem;gap:.6rem}
.question__cols{gap:1.5rem}
.ticks li{padding:.55rem 0 .6rem 1.7rem;font-size:.96em;line-height:1.38}
.ticks li::before{top:1rem}
.metro{padding:1.2rem 1.1rem}
.metro__controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:.9rem;padding-top:.9rem}
.metro__go{grid-column:1/-1}
.metro__tempo{grid-column:1}
.metro .toggle{grid-column:2;padding-right:.8rem}
.week{grid-template-columns:repeat(2,minmax(0,1fr))}
.day:nth-child(n){padding:.6rem 0 .7rem}
.day:nth-child(odd){padding-right:.8rem}
.day:nth-child(even){padding-left:.8rem;border-left:1px solid var(--line)}
.day__name{margin-bottom:.2rem;font-size:1.25rem}
.slot .slot__what{font-size:1rem}
.slot{padding:.45rem 0 .5rem}
.slot:first-child{border-top:0}
.slot--choir{margin-top:.2rem;padding:.55rem .7rem .6rem}
.choir__banner{margin-bottom:1.75rem}
.parts h3,.evening h3{font-size:1.55rem}
.evening{padding:1.4rem 1.15rem 1.25rem}
.programme{margin:.6rem 0 1rem}
.programme li{grid-template-columns:4rem minmax(0,1fr);gap:.6rem;padding:.5rem 0}
.teacher__fold summary{padding:.75rem 0 .7rem}
.teacher__name{font-size:1.45rem}
.teacher__inst{margin-top:.15rem;font-size:.95em}
.teacher__dl{padding-bottom:1.1rem}
.proof{padding:1.35rem 1.2rem 1.4rem}
.fold__t{font-size:1.5rem}
.map{padding:.55rem}
.addr{display:none}
.hours{margin-bottom:1.4rem}
.hours > div{padding:.45rem 0}
.faq{margin-top:2.5rem;padding-top:1.75rem}
.qa summary{padding:.8rem .2rem;font-size:1.15rem}
.form{padding:1.25rem 1.1rem 1.4rem}
.form__set{gap:.9rem;margin-bottom:1.4rem}
.form__legend{padding-bottom:.6rem;font-size:1.4rem}
.field{gap:.3rem}
.field input,.field select,.field textarea{min-height:2.75rem;padding-block:.45rem;font-size:1.05rem}
.choice legend{padding-bottom:.4rem}
.choice label{min-height:2.4rem;margin:0 .2rem .35rem 0;padding-inline:.6rem .8rem;font-size:.98rem}
.field textarea{min-height:4.5rem}
.form__end .btn{width:100%}
.after__title{font-size:1.6rem;margin-bottom:.6rem}
.foot{padding:2.75rem 0 1.75rem}
.foot__in{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem}
.foot__in::before{margin-bottom:.25rem}
.foot__brand{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.9rem;align-items:center}
.foot__mark{grid-row:span 2;width:3rem;height:3rem}
.foot__name{margin:0 0 .2rem;font-size:1.6rem}
.foot__col:last-of-type{grid-column:1/-1}
.foot__col p{font-size:.95rem}
.foot__nav{padding-top:1rem}
.foot__nav ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem 1rem}
.foot__nav a{font-size:.86rem}
}
@media (max-width:360px){.stave-map{--u:7px}
.cover__title{font-size:12.6vw}
.metro__controls{grid-template-columns:minmax(0,1fr)}
.metro .toggle{grid-column:1}
.note__label{font-size:.8rem}
}
@media (max-width:330px){.stave-map{--u:6px}
}
