:root{--background:#89150d;--foreground:#f6f4ef;--primary:#edbf55;--primary-foreground:#89150d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #f4d07b;outline-offset:7px}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:#fff;color:#89150d;padding:16px}.skip-link:focus{top:15px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff18;background:#89150d}.brand{display:flex;align-items:center;gap:14px}.brand-crest{width:87px;height:80px;object-fit:contain}.wordmark{display:flex;flex-direction:column;align-items:center;gap:5px}.wordmark span{font-family:Georgia,serif;font-size:29px;letter-spacing:.15em}.wordmark small{font-size:11px;letter-spacing:.48em;padding-left:5px;color:#ddd0c6}nav{display:flex;gap:38px;align-items:center;font-size:14px}nav a:hover{color:#edbf55}.nav-enquire{border:1px solid #c79737;padding:13px 25px}.hero{position:relative;min-height:660px;height:calc(100svh - 108px);max-height:860px;display:flex;align-items:center;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 39%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,9,7,.87),rgba(33,9,7,.35) 48%,transparent 78%),linear-gradient(0deg,rgba(33,9,7,.75),transparent 32%);z-index:-2}.hero-copy{padding:65px 6% 100px;max-width:780px}.eyebrow{font-size:12px;letter-spacing:.2em;line-height:1.7;color:#edbf55;font-weight:500;margin:0 0 25px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0}h1{font-size:clamp(64px,7.6vw,112px);line-height:1.02;letter-spacing:-.035em}.hero-description{font-size:17px;line-height:1.8;color:#e3e2df;margin:28px 0 32px}.button{display:inline-flex;gap:36px;align-items:center;background:#edbf55;color:#89150d;font-size:14px;padding:19px 25px}.button:hover{background:#f4d07b}.button span{font-size:21px}.hero-foot{position:absolute;bottom:27px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff38;padding-top:23px;gap:20px}.hero-foot>span{font-size:11px;letter-spacing:.14em}.hero-foot a{font-size:13px}.hero-foot a span{padding-left:15px}.section{padding:100px 8%}h2{font-size:clamp(36px,4vw,58px);line-height:1.15;letter-spacing:-.025em}h2 em{color:#edbf55;font-weight:400}.introduction{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro-copy p{font-size:17px;line-height:1.9;color:#eaded9;margin:0 0 20px}.ensemble-note{display:flex;align-items:center;gap:24px;margin-top:30px;padding-top:25px;border-top:1px solid #ffffff25}.ensemble-note strong{font:36px Georgia,serif;color:#edbf55}.ensemble-note span{font-size:14px;color:#eaded9}.repertoire{background:#5d100b;color:#f6f4ef}.repertoire-heading{max-width:920px}.repertoire-heading p:not(.eyebrow){max-width:720px;color:#eaded9;font-size:17px;line-height:1.9;margin:24px 0 0}.formation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:58px;background:#ffffff28;border:1px solid #ffffff28}.formation-grid article{background:#70120c;min-height:260px;padding:30px 26px 28px;display:flex;flex-direction:column}.formation-grid span{font-size:12px;letter-spacing:.14em;color:#edbf55}.formation-grid h3{font-size:27px;margin-top:42px}.formation-grid p{color:#e8d7d1;font-size:15px;line-height:1.75;margin:auto 0 0}.repertoire-list{display:grid;grid-template-columns:260px 1fr;gap:7%;align-items:start;margin-top:56px;padding-top:34px;border-top:1px solid #ffffff25}.repertoire-list ul{margin:0;padding:0;columns:2;column-gap:42px;list-style:none}.repertoire-list li{break-inside:avoid;border-bottom:1px solid #ffffff1f;padding:0 0 14px;margin:0 0 14px;color:#efe4df;font-size:16px;line-height:1.55}.repertoire-list em{font-family:Georgia,'Times New Roman',serif;color:#f4d07b}.occasions{background:#f2f3f2;color:#54150f}.occasions .eyebrow{color:#7d6030}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:55px}.occasion-grid article{border-top:1px solid #a3a9ad;padding-top:24px}.number{font-size:12px;color:#806332;letter-spacing:.1em}h3{font-size:29px;margin-top:25px;line-height:1.2}.occasion-grid p{color:#58616a;font-size:16px;line-height:1.8;margin-bottom:0}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#f2f3f2;padding:0 8% 80px}.photo-pair img{display:block;width:100%;height:360px;object-fit:cover}.contact{text-align:center;padding-top:105px;padding-bottom:105px;background:#73130e}.contact .eyebrow{color:#edbf55}.contact p:not(.eyebrow){font-size:17px;line-height:1.8;color:#eaded9;margin:26px 0 35px}.email{display:inline-block;font:clamp(20px,3vw,35px) Georgia,serif;border-bottom:1px solid #c79737;padding-bottom:12px;color:#edbf55;overflow-wrap:anywhere}.email span{margin-left:18px}footer{margin:0 6%;border-top:1px solid #ffffff25;padding:29px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#dbc3bc}.footer-brand{letter-spacing:.14em;color:#e1e1df}@media(max-width:900px){.formation-grid{grid-template-columns:repeat(2,1fr)}.repertoire-list{grid-template-columns:1fr;gap:12px}.repertoire-list ul{columns:1}}@media(max-width:700px){.site-header{height:90px;padding:0 6%}.brand{gap:5px}.brand-crest{width:62px;height:64px}.wordmark span{font-size:20px}.wordmark small{font-size:10px}nav{gap:17px}nav a:not(.nav-enquire){display:none}.nav-enquire{padding:11px 20px}.hero{height:760px;min-height:620px;max-height:calc(100svh + 100px);align-items:flex-end}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#280c09f0 5%,#280c09aa 48%,#280c0900 90%)}.hero-copy{padding:50px 7% 145px}h1{font-size:65px}.hero-description{font-size:16px}.desktop-break{display:none}.hero-foot{bottom:25px;display:block;line-height:1.8}.hero-foot>span{font-size:10px;letter-spacing:.08em}.hero-foot a{display:block;margin-top:9px}.section{padding:65px 7%}.introduction{grid-template-columns:1fr;gap:35px}.eyebrow{margin-bottom:18px}.formation-grid{grid-template-columns:1fr;margin-top:36px}.formation-grid article{min-height:0;padding:24px 22px}.formation-grid h3{margin-top:24px}.formation-grid p{margin-top:18px}.repertoire-list{margin-top:36px}.repertoire-heading p:not(.eyebrow){font-size:16px}.occasion-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}h3{margin-top:15px}.photo-pair{padding:0 7% 60px;grid-template-columns:1fr}.photo-pair img{height:auto}.photo-pair img+img{display:none}.contact p br{display:none}.email span{margin-left:4px}footer{flex-wrap:wrap;line-height:1.7}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.personal-touch{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#f2f3f2;color:#54150f}.personal-touch figure{margin:0}.personal-touch img{display:block;width:100%;height:auto}.personal-touch figcaption{font-size:12px;line-height:1.6;color:#58616a;margin-top:12px}.personal-touch .eyebrow{color:#7d6030}.personal-touch h2 em{color:#806332}.personal-touch p:not(.eyebrow){font-size:17px;line-height:1.9;color:#58616a;margin:24px 0}.personal-touch .button{margin-top:8px}@media(max-width:700px){.personal-touch{grid-template-columns:1fr;gap:35px}}

/* Photo gallery */
nav{gap:28px}.gallery{background:#f2f3f2;color:#54150f}.gallery .eyebrow{color:#7d6030}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.gallery-heading>p{font-size:16px;color:#58616a;line-height:1.7;max-width:260px;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-photo{display:block;overflow:hidden;background:#e3dfda;position:relative}.gallery-photo img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;transition:transform .3s ease}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:focus-visible{outline:3px solid #89150d;outline-offset:4px}.featured-ensemble{margin:0;padding:0 8% 80px}.featured-ensemble img{display:block;width:100%;height:auto;max-height:670px;object-fit:cover}.photo-pair img{height:auto;aspect-ratio:3/2}.viewer-open{overflow:hidden}.photo-viewer{border:0;padding:24px;background:#210907;color:#fff;width:min(1200px,96vw);max-width:96vw;max-height:94svh;overflow:auto}.photo-viewer::backdrop{background:#120503ed}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.viewer-toolbar p{margin:0;font-size:16px}.photo-viewer button{border:1px solid #ffffff60;background:transparent;color:#fff;min-height:44px;min-width:44px;padding:10px 18px;font:inherit;cursor:pointer}.photo-viewer button:hover{background:#ffffff20}.photo-viewer button:focus-visible{outline:2px solid #edbf55;outline-offset:3px}.viewer-image{display:block;width:100%;height:calc(85svh - 145px);object-fit:contain}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.viewer-controls span{font-size:14px}.personal-touch img{aspect-ratio:3/2;object-fit:cover}@media(max-width:900px){nav{gap:18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){nav a[href="#gallery"]{display:block}.nav-enquire{padding:11px 14px}.gallery-heading{display:block}.gallery-heading>p{margin-top:20px;max-width:none}.gallery-grid{gap:8px}.featured-ensemble{padding:0 7% 50px}.photo-pair img+img{display:block}.photo-viewer{padding:14px}.viewer-controls button{padding:10px 12px}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

@media(max-width:400px){.brand-crest{width:48px;height:52px}.wordmark span{font-size:16px}.wordmark small{font-size:9px}nav{gap:10px}.nav-enquire{padding:11px 12px}}

/* Booking questions */
.booking-faq{background:#5d100b}.faq-list{max-width:900px;margin-top:36px}.faq-list details{border-top:1px solid #ffffff35;padding:22px 0}.faq-list details:last-child{border-bottom:1px solid #ffffff35}.faq-list summary{font-size:18px;line-height:1.5;cursor:pointer;color:#f6f4ef}.faq-list summary:focus-visible{outline:2px solid #edbf55;outline-offset:7px}.faq-list p{color:#eaded9;font-size:16px;line-height:1.8;max-width:760px;margin:16px 0 0}.faq-list a{color:#edbf55;text-decoration:underline;text-underline-offset:3px}

/* Featured performance videos */
.watch-link{display:inline-block;margin:20px 0 0 24px;font-size:15px;text-decoration:underline;text-underline-offset:5px}.watch-link span{margin-left:9px;font-size:12px}
.performance{padding-top:20px}.performance-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-bottom:42px}.performance-intro p{font-size:17px;line-height:1.8;color:#eaded9;margin:0 0 18px}.performance-intro .performance-hint{font-size:14px}.performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:820px;margin:0 auto}.performance-grid figure{margin:0;min-width:0}.performance-grid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#210907}.performance-grid video:focus-visible{outline:3px solid #edbf55;outline-offset:5px}.performance-grid figcaption{font-size:14px;line-height:1.6;padding-top:14px;color:#eaded9}.performance-grid figcaption span{display:block;font-size:12px;color:#edbf55;margin-top:3px}
@media(max-width:700px){.performance{padding-top:0}.performance-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.performance-grid{grid-template-columns:1fr;max-width:380px;gap:32px}.watch-link{margin-left:0;margin-right:24px}.performance-intro p{font-size:16px}}

/* Expandable repertoire: native controls work without JavaScript. */
.repertoire-disclosure{display:block;margin-top:32px;padding-top:0;border-bottom:1px solid #ffffff25}
.repertoire-disclosure + .repertoire-disclosure{margin-top:0;border-top:0}
.repertoire-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:22px 0;cursor:pointer;list-style:none}
.repertoire-disclosure summary::-webkit-details-marker{display:none}
.repertoire-disclosure summary:focus-visible{outline:2px solid #edbf55;outline-offset:6px}
.repertoire-disclosure summary:hover .repertoire-label{color:#edbf55}
.repertoire-label{font:clamp(23px,2.5vw,30px) Georgia,'Times New Roman',serif;color:#f6f4ef}
.repertoire-count{display:block;margin-top:8px;font:14px/1.5 Arial,Helvetica,sans-serif;color:#eaded9}
.repertoire-toggle{position:relative;flex:0 0 24px;width:24px;height:24px;color:#edbf55}
.repertoire-toggle::before,.repertoire-toggle::after{content:"";position:absolute;left:3px;top:11px;width:18px;height:2px;background:currentColor}
.repertoire-toggle::after{transform:rotate(90deg)}
.repertoire-disclosure[open] .repertoire-toggle::after{display:none}
.repertoire-disclosure ul{padding:10px 0 20px}
@media(max-width:700px){.repertoire-disclosure summary{gap:16px;padding:20px 0}.repertoire-count{font-size:13px}}
