:root{--wine:#30131e;--wine2:#441b2c;--cream:#f7f3eb;--gold:#d9bd8d;--ink:#32242b;--muted:#70646a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{height:100px;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;background:var(--wine);color:var(--cream);border-bottom:1px solid #ffffff17}.brand{font:32px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.4px;display:block}.brand span{display:block;font:8px/1.5 'DM Sans',sans-serif;letter-spacing:2.8px;margin-top:9px}nav{display:flex;gap:32px;align-items:center;font-size:12px}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #b99a6b88;padding:12px 22px;color:var(--gold)}.nav-cta span{padding-left:20px}.menu{display:none}.skip{position:absolute;top:-90px}.skip:focus{top:0;background:white;z-index:9}.hero{display:grid;grid-template-columns:55% 45%;background:var(--wine);color:var(--cream);min-height:680px}.hero-copy{padding:76px 7% 0 10%;display:flex;flex-direction:column}.eyebrow{font-size:9px;letter-spacing:2.5px;font-weight:500;line-height:1.8;margin:0 0 25px;color:#987746}.hero .eyebrow,.contact .eyebrow,.live-banner .eyebrow{color:var(--gold)}.line{display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.02;margin:0}h1{font-size:clamp(54px,5.7vw,88px);letter-spacing:-2px}em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1 em,.contact h2 em{color:var(--gold)}.intro{font-size:14px;color:#e0d2d5;margin:30px 0 35px;line-height:1.9}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.25px;padding:17px 24px;border:1px solid transparent;cursor:pointer;transition:background .2s,transform .2s}.gold{background:var(--gold);color:var(--wine)}.gold:hover{background:#ecd2aa;transform:translateY(-2px)}.text-link{font-size:11px}.play-small{padding:5px 9px;border:1px solid #ffffff40;border-radius:100%;margin-right:7px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:45px 0 24px;color:#c6aeb8;font-size:8px;letter-spacing:1.6px}.hero-bottom a{font-size:25px}.hero-photo{position:relative;overflow:hidden;margin:28px 6% 28px 0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;position:absolute}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#1c1028b3)}.photo-label{position:absolute;bottom:28px;left:32px;z-index:1;display:flex;flex-direction:column;color:white}.photo-label span{font-size:8px;letter-spacing:3px}.photo-label em{font-size:27px;margin-top:3px}.spark{position:absolute;top:15px;right:23px;color:white;font-size:46px}.ribbon{display:flex;justify-content:center;align-items:center;gap:5%;padding:21px 5%;border-bottom:1px solid #d9cec0;font-size:9px;letter-spacing:2px}.ribbon b{color:#9c7945;font-size:17px;font-weight:400}.section{padding:100px 7.5%}h2{font-size:clamp(40px,4vw,60px);letter-spacing:-1px}h2 em{color:#84613b}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding-top:105px;padding-bottom:110px}.about-copy p{color:var(--muted);margin:0 0 20px}.about-copy .lead{font-size:18px;line-height:1.7;color:var(--ink)}.under-link{display:inline-flex;justify-content:space-between;gap:30px;border-bottom:1px solid #b69772;font-size:11px;padding:8px 0}.occasions{padding-top:75px;background:#eee7dd}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading>p{color:var(--muted);font-size:12px;margin-bottom:0}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbbba8;border-bottom:1px solid #cbbba8}.occasion{padding:26px 25px 28px;border-right:1px solid #cbbba8;transition:background .2s;display:flex;flex-direction:column}.occasion:first-child{padding-left:0}.occasion:last-child{border:0}.occasion:hover{background:#e4d7c8}.number{font-size:8px;letter-spacing:1.6px;color:#7c6756}.ornament{font-family:Georgia,serif;font-size:46px;color:#8d6249;padding:28px 0 23px;line-height:1}h3{font-size:30px;line-height:1.05;min-height:64px}.occasion p{font-size:12px;color:#776b65;line-height:1.9;flex:1}.card-link{margin-top:20px;display:flex;justify-content:space-between;font-size:10px}.card-link b{font-size:16px;font-weight:400}.princess .ornament{color:#7b4a6b}.live-banner{height:580px;position:relative;color:white;overflow:hidden}.live-banner>img{height:100%;width:100%;object-fit:cover;object-position:center 56%}.live-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1e101ce8,#1e101c12)}.live-banner>div{position:absolute;top:50%;transform:translateY(-50%);left:7.5%;z-index:1}.live-banner h2{font-size:60px}.live-banner h2 em{color:#edd6b7}.outline{border-color:#e0c699;margin-top:30px;color:#eedabd}.outline:hover{background:#30131e}.watch{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;align-items:center}.watch-copy>p:not(.eyebrow){color:var(--muted);max-width:340px;margin:25px 0}.video{position:relative;display:block;aspect-ratio:1.55;background:var(--wine);overflow:hidden}.video>img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .5s}.video:hover img{transform:scale(1.03)}.video:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#180e22)}.play{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);border:1px solid #ffffffaa;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;color:white;background:#ffffff18;padding-left:4px;z-index:1}.video-caption{position:absolute;bottom:25px;left:28px;color:white;z-index:1;display:flex;flex-direction:column}.video-caption span{font-size:8px;letter-spacing:2px;color:var(--gold)}.video-caption strong{font:30px 'Cormorant Garamond',Georgia,serif}.video-caption small{font-size:9px;opacity:.8}.repertoire{text-align:center;padding-top:35px;padding-bottom:90px}.repertoire h2{font-size:42px}.genres{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:34px 0 24px}.genres span{padding:10px 22px;border:1px solid #cdbba5;border-radius:40px;font-size:11px}.repertoire>p:last-child{font-size:12px;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--wine);color:var(--cream)}.contact h2{font-size:60px}.contact-copy>p:not(.eyebrow){color:#cdbac3;margin:30px 0;max-width:360px;font-size:12px}.email{display:block;font-size:14px;overflow-wrap:anywhere;color:var(--gold)}.phone{display:block;margin:10px 0 32px;font-size:18px}.location{font-size:8px;letter-spacing:1.6px;color:#bca3af}form{padding-top:6px}label{display:block;font-size:10px;letter-spacing:.3px;margin-bottom:20px;color:#e6d9df}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #846271;background:#ffffff06;color:var(--cream);padding:12px 10px;margin-top:7px;outline:none;border-radius:0;font-size:12px;min-height:44px}input:focus,textarea:focus,select:focus{border-bottom-color:var(--gold);background:#ffffff0b}input::placeholder,textarea::placeholder{color:#ae96a2}select option{background:var(--wine)}input{color-scheme:dark}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form .button{width:100%;margin-top:4px}.form-note{font-size:9px;color:#b99eac;line-height:1.7;margin-top:15px}#form-status{font-size:11px;color:var(--gold)}.faq{max-width:1000px;margin:auto}.faq h2{margin-bottom:38px}details{border-bottom:1px solid #d4c6b8;padding:21px 0}summary{list-style:none;display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-size:13px}summary::-webkit-details-marker{display:none}summary span{font-size:18px;color:#9b774a}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);max-width:650px;margin:16px 0 0}footer{padding:48px 7.5% 25px;background:#eae2d7;display:grid;grid-template-columns:1fr 1fr;gap:15px}footer>p{font:italic 25px 'Cormorant Garamond',Georgia,serif;text-align:right;margin:0}footer>div{display:flex;gap:25px;font-size:10px;margin-top:25px}footer small{font-size:9px;color:var(--muted);text-align:right;align-self:end}@media(min-width:1600px){.hero-copy{padding-top:100px}.hero{min-height:760px}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding-top:55px}h1{font-size:60px}.hero{min-height:650px}.occasion{padding:25px 16px}h3{font-size:25px}.contact{gap:6%}.contact h2{font-size:50px}.watch{gap:6%}}@media(max-width:760px){header{height:82px;padding:0 6%}.brand{font-size:28px}.brand span{font-size:7px}.menu{display:flex;gap:12px;background:none;border:1px solid #ac8b6c;color:var(--gold);padding:9px 12px;font-size:11px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--wine);padding:25px 6%;z-index:5;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 0;min-height:520px}h1{font-size:62px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.intro{font-size:13px}.hero-photo{height:470px;margin:0 7% 27px}.hero-photo img{object-position:50% 27%}.hero-bottom{padding-top:35px}.ribbon{gap:16px;flex-wrap:wrap;font-size:7px;letter-spacing:1.3px}.ribbon b{font-size:13px}.ribbon b:last-of-type{display:none}.section{padding:65px 7%}.about,.watch,.contact{grid-template-columns:1fr;gap:35px}h2{font-size:44px}.about-copy .lead{font-size:16px}.section-heading{display:block}.section-heading>p{margin-top:20px}.occasion-grid{grid-template-columns:1fr 1fr}.occasion{padding:22px 17px!important}.occasion:nth-child(2){border-right:0}.occasion:nth-child(-n+2){border-bottom:1px solid #cbbba8}.occasion p{font-size:11px}h3{font-size:29px}.ornament{padding:23px 0 18px}.live-banner{height:470px}.live-banner>img{object-position:55% center}.live-banner:after{background:#1e101c85}.live-banner h2{font-size:46px}.live-banner>div{left:7%;right:5%}.watch-copy>p:not(.eyebrow){max-width:none}.video{aspect-ratio:1.4}.repertoire h2{font-size:38px}.genres{gap:9px}.genres span{padding:8px 16px}.contact h2{font-size:54px}.contact-copy>p:not(.eyebrow){max-width:100%}.form-row{gap:14px}.email{font-size:15px}footer{padding:40px 7% 25px;grid-template-columns:1fr}footer>p,footer small{text-align:left}footer>p{margin-top:15px}footer>div{margin-top:10px;margin-bottom:20px}.video-caption strong{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Denise Scott branding, adapted from the supplied roller banner. */
:root{--wine:#321958;--wine2:#572c91;--cream:#fff9fc;--gold:#fff1a9;--ink:#342145;--muted:#75617e}header{background:#361b59;border-bottom-color:#f8a1db44}.brand{font-family:'Bebas Neue','Arial Narrow',sans-serif;letter-spacing:1px;font-size:36px;line-height:.9}.brand span{font-family:'Sacramento',cursive;font-size:27px;text-transform:none;letter-spacing:0;color:#fff1a9;margin-top:5px;line-height:1;text-shadow:0 0 10px #ffe7a46b}.hero{background:radial-gradient(ellipse at 3% 0%,#f48cc8 0,transparent 48%),radial-gradient(ellipse at 77% 3%,#f5b1be 0,transparent 44%),linear-gradient(145deg,#b53eae 0%,#8242b8 48%,#37236c 100%);min-height:760px}.hero-copy{padding-top:47px}.hero .eyebrow{color:#fff;letter-spacing:2px;text-shadow:0 1px 4px #633675}.hero h1{font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:clamp(90px,9.4vw,145px);letter-spacing:1px;line-height:.87;color:#ffe5f4;text-shadow:0 4px 18px #8a23533d;position:relative;max-width:510px}.hero h1 em{display:block;font-family:'Sacramento',cursive;font-size:clamp(70px,6.7vw,106px);line-height:1.05;letter-spacing:0;color:#fff9b9;text-transform:none;font-weight:400;transform:rotate(-8deg);transform-origin:left center;margin:6px 0 0 12px;text-shadow:0 0 6px #fff5be,0 0 22px #ffe290,0 0 44px #ffbbaf}.intro{color:#fff5fc;margin:20px 0 27px}.intro strong{font-size:16px;font-weight:500}.hero-photo{border:1px solid #ffdfec66;box-shadow:0 15px 60px #2d104e35;border-radius:220px 220px 0 0;margin-top:40px;margin-bottom:40px}.hero-photo:after{background:linear-gradient(transparent 65%,#3c1d68d9)}.hero-photo img{object-position:50% 30%}.photo-label em{font-family:'Sacramento',cursive;color:#fff1a9;font-size:32px}.hero-bottom{color:#fff1fb}.gold{background:#fff1a9;color:#3f205a}.gold:hover{background:#fff8d1}.nav-cta{border-color:#f8a1db80;color:#fff1a9}.eyebrow{color:#8b3a88}.line{background:#fff1a9}h2,h3{font-family:'Bebas Neue','Arial Narrow',sans-serif;letter-spacing:.3px;font-weight:400}h2{font-size:clamp(42px,4.1vw,62px);line-height:1.05}h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:#a13691;letter-spacing:-.6px}.ribbon{background:#fbe5f4;border-bottom-color:#eec9e2;color:#6d307b}.ribbon b{color:#a13691}.occasions{background:linear-gradient(130deg,#fce8f4,#eee6fa)}.occasion-grid{border-color:#d9bddc}.occasion{border-right-color:#d9bddc}.occasion:hover{background:#f1d5ee}.number{color:#8a4384}.ornament,.princess .ornament{color:#b13b99}.occasion p{color:#755e7c}.card-link{color:#6e2b7d}.under-link{border-bottom-color:#c26cb4;color:#793381}h3{font-size:31px}.live-banner:after{background:linear-gradient(90deg,#321958ed,#6e2e8c23)}.live-banner h2 em{color:#fff1b4}.outline{border-color:#fff1a9;color:#fff7c9}.outline:hover{background:#6637ae}.video{background:#572c91}.video:after{background:linear-gradient(transparent,#321958)}.video-caption strong{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:.5px}.genres span{border-color:#d7b6df;color:#773580;background:#fff5fc}.contact{background:radial-gradient(ellipse at 100% 0%,#b646a2 0%,transparent 65%),linear-gradient(135deg,#6533a3,#321958)}.contact h2 em{color:#fff1a9}.contact-copy>p:not(.eyebrow){color:#f0ddec}.contact .eyebrow{color:#fff1a9}.location{color:#e9c7e5}.phone{color:#fff}input,textarea,select{border-bottom-color:#d19acb;background:#ffffff0b;color:#fff}input::placeholder,textarea::placeholder{color:#d7b6d7}.form-note{color:#e0c6e2}label{color:#f9e9f5}select option{background:#45206b}footer{background:#eadcf5}footer .brand{color:#54277f}footer .brand span{color:#93418d;text-shadow:none}details{border-color:#dfc7e5}summary span{color:#a13691}@media(max-width:1000px){.hero{min-height:720px}.hero h1{font-size:110px}.hero h1 em{font-size:85px}}@media(max-width:760px){header .brand{font-size:29px}header .brand span{font-size:23px}.hero-copy{padding-top:40px;min-height:640px}.hero h1{font-size:118px}.hero h1 em{font-size:87px;margin-top:5px}.hero .eyebrow{font-size:8px}.hero-photo{border-radius:180px 180px 0 0;margin-top:0;margin-bottom:30px;height:480px}.hero-bottom{font-size:7px}.menu{border-color:#e9a6d5}.occasion:nth-child(-n+2){border-color:#d9bddc}.live-banner:after{background:#321958a6}.intro strong{font-size:15px}.contact h2{font-size:54px}}

:root{--gold:#fffbe6;--brand-pink:#ffc0e7;--brand-script:#fffbe6}.nav-cta,.email{color:#ffc0e7}.gold{background:#fffbe6}.ribbon{background:#ffc0e7}.hero .eyebrow{color:#fffbe6}/* Original supplied logo: preserve its exact lettering, colours and aspect ratio. */
header{height:126px}.brand{display:block;line-height:0}.brand img{display:block;width:142px;height:120px;object-fit:contain}.hero-copy{padding-top:32px}.hero h1{width:min(100%,460px);font-size:inherit;line-height:0;margin:-8px 0 -14px;text-shadow:none;max-width:none}.hero h1 img{display:block;width:100%;height:auto;object-fit:contain}.hero .intro{margin-top:8px}footer .brand img{width:180px;height:170px}footer{background:#3b205f}footer,footer small{color:#fbe6f4}.hero{background:radial-gradient(ellipse at 3% 0%,#d753b3 0,transparent 48%),radial-gradient(ellipse at 77% 3%,#c779bb 0,transparent 44%),linear-gradient(145deg,#a93aa5 0%,#7441af 48%,#37236c 100%)}@media(max-width:760px){header{height:105px}header .brand img{width:118px;height:100px}nav{top:105px}.hero-copy{min-height:660px;padding-top:30px}.hero h1{width:min(100%,360px);margin:0 0 -12px}.hero .intro{margin-top:8px}.hero h1 img{height:auto}}

/* A white stage integrates the supplied logo's original light background. */
header{background:#fff;color:#562a79;border-bottom:1px solid #f7d7ed}.nav-cta{color:#743574;border-color:#df9dca}.hero{background:#fff;color:#342145}.hero .eyebrow{color:#8b3a88;text-shadow:none}.hero .line{background:#d65cae}.hero .intro{color:#594063;margin-top:16px}.hero-bottom{color:#88558a}.hero .gold{background:#ffc0e7;color:#542377}.hero .gold:hover{background:#f8abd9}.hero .play-small{border-color:#d9a5cf}.hero-photo{border-color:#f3d7e9;box-shadow:none}.hero-photo .photo-label{color:#fff}.hero .text-link{color:#6c377e}.hero h1{margin-bottom:0}footer{background:#fff;color:#5c396b;border-top:1px solid #f0d7eb}footer small{color:#755e7c}@media(max-width:760px){nav{background:#fff}.menu{color:#743574}.hero h1{margin-bottom:0}}
.recordings{background:linear-gradient(145deg,#fff9fc,#f8edf8);border-top:1px solid #f1dceb;border-bottom:1px solid #f1dceb}.recordings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.recording{min-width:0}.recording-cover{display:block;aspect-ratio:1;overflow:hidden;background:#eee4f0;box-shadow:0 10px 26px #54237712}.recording-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s}.recording-cover[href]:hover img{transform:scale(1.025)}.recording-info{padding:23px 0 0}.recording-label{font-size:8px;letter-spacing:1.3px;color:#82598a;margin:0 0 10px;min-height:28px}.recording h3{font-size:32px;min-height:68px;line-height:1.08;color:#4d2866}.spotify-link{display:inline-flex;gap:11px;align-items:center;font-size:11px;font-weight:500;padding:12px 0;border-bottom:1px solid #cd91bf;color:#693278}.spotify-link:hover{color:#ad388e;border-color:#ad388e}.spotify-link span:last-child{margin-left:12px}.recording-pending{font-size:11px;color:#7c6c80;padding:12px 0;margin:0}@media(max-width:1000px) and (min-width:761px){nav{gap:14px}.recordings-grid{gap:22px}.recording h3{font-size:28px;min-height:64px}}@media(max-width:760px){.recordings-grid{grid-template-columns:1fr;gap:42px;max-width:440px;margin:0 auto}.recording-label{min-height:0}.recording h3{min-height:0;margin-bottom:14px}.recording-info{padding-top:20px}}
/* Pink-purple stage for Denise's name and portrait. */
header{background:#f5c8e7;border-bottom-color:#e2abd4}.hero{background:radial-gradient(ellipse at 10% 7%,#ffd0ed 0%,transparent 55%),linear-gradient(135deg,#ef9bd1 0%,#cf8fd0 48%,#8b69bb 100%);color:#432454}.hero .eyebrow{color:#67336f}.hero .intro{color:#4b285b}.hero-bottom{color:#542e65}.hero .text-link{color:#542e65}.hero .gold{background:#fffbe6;color:#542377}.hero .gold:hover{background:#fff5c6}.hero h1 img,header .brand img{mix-blend-mode:multiply}.hero-photo{border-color:#fbe1f299}.hero .play-small{border-color:#8d539b}.hero .line{background:#7b3d87}@media(max-width:760px){nav{background:#f5c8e7}}

/* A vivid theatrical opening: bright neon lettering, a dark stage and subtle light. */
header{background:linear-gradient(110deg,#4f176f,#2a104a);border-bottom:1px solid #f48bc133;color:#fff0fb;position:relative;z-index:3}.nav-cta{color:#fffbe6;border-color:#e595d283}nav a:hover{color:#ffc0e7}header .brand img,.hero h1 img{mix-blend-mode:normal}header .brand img{width:142px;height:120px}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 3% 0%,#e04caa80 0%,transparent 47%),radial-gradient(ellipse at 85% 4%,#f39fc04d 0%,transparent 35%),radial-gradient(ellipse at 50% 100%,#421f8e 0%,transparent 65%),linear-gradient(135deg,#731e92 0%,#481b79 46%,#210d47 100%);color:#fff;min-height:770px}.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(114deg,transparent 19%,#f8b8e90b 19.2%,#f8b8e91c 24%,transparent 36%),linear-gradient(245deg,transparent 7%,#fff5cc0c 8%,#fff5cc16 15%,transparent 30%)}.hero-copy{position:relative;z-index:1;padding-top:34px}.hero h1{width:min(100%,510px);margin:0 0 8px}.hero h1 img{width:100%;height:auto;filter:drop-shadow(0 0 12px #ff46ba24)}.hero .eyebrow{color:#ffddf2;text-shadow:none}.hero .line{background:#fff4be}.hero .intro{color:#f8e4f7;margin-top:12px;margin-bottom:28px}.hero .intro strong{font-size:17px;color:#fff}.hero .text-link,.hero-bottom{color:#fce4f5}.hero .gold{background:#fff5c9;color:#451c64;box-shadow:0 4px 28px #f6d97727}.hero .gold:hover{background:#fffbe6}.hero .play-small{border-color:#f4bdd280}.hero-photo{position:relative;z-index:1;border:1px solid #f3c7e17a;box-shadow:0 0 45px #d746b326;margin-top:36px;margin-bottom:36px}.stage-sparkles{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 4% 18%,#ffdcf199 0 1px,transparent 2px),radial-gradient(circle at 43% 8%,#fffbe6aa 0 1px,transparent 2px),radial-gradient(circle at 49% 61%,#ffdcf199 0 1px,transparent 2px),radial-gradient(circle at 7% 78%,#ffdcf177 0 1px,transparent 2px),radial-gradient(circle at 88% 86%,#fffbe6aa 0 1px,transparent 2px),radial-gradient(circle at 97% 32%,#ffdcf199 0 1px,transparent 2px),radial-gradient(circle at 41% 91%,#ffdcf177 0 1px,transparent 2px)}.stage-sparkles span{position:absolute;color:#fff4ce;text-shadow:0 0 14px #ffb5df;font:22px Georgia,serif}.stage-sparkles span:nth-child(1){left:3%;top:7%}.stage-sparkles span:nth-child(2){left:48%;top:22%;font-size:30px}.stage-sparkles span:nth-child(3){left:43%;top:67%;font-size:13px}.stage-sparkles span:nth-child(4){right:3%;top:10%;font-size:28px}.stage-sparkles span:nth-child(5){left:5%;top:57%;font-size:12px}.stage-sparkles span:nth-child(6){right:2%;bottom:8%;font-size:19px}@media(max-width:760px){header{background:#371053}nav{background:#371053}.menu{color:#fff4ce;border-color:#c88eb9}.hero{background:radial-gradient(ellipse at 0% 0%,#d842a270,transparent 55%),linear-gradient(150deg,#792496,#3b1c74 60%,#210d47);min-height:0}.hero-copy{padding-top:32px;min-height:660px}.hero h1{width:min(100%,390px);margin:0 0 10px}.hero .intro strong{font-size:15px}.hero-photo{margin-top:0;margin-bottom:30px}.stage-sparkles span:nth-child(2){left:auto;right:4%;top:24%}.hero .eyebrow{font-size:7px;letter-spacing:1.8px}}
/* Render the user-supplied 2000px logo unchanged, with no added blur or glow. */
.hero h1 img,header .brand img,footer .brand img{filter:none;mix-blend-mode:normal;image-rendering:auto}
footer{background:linear-gradient(110deg,#4f176f,#2a104a);border-top:1px solid #f48bc133;color:#fff0fb}footer small{color:#dcc4e4}footer>p{color:#fff0fb}footer a:hover{color:#ffc0e7}@media(max-width:760px){footer{background:#371053}}
.stage-sparkles span:nth-child(4),.stage-sparkles span:nth-child(6){display:none}

/* Mobile readability and centred headings. */
@media(max-width:760px){
body{font-size:16px;line-height:1.75}h1,h2,h3,h4,h5,h6{text-align:center}h2{font-size:44px;line-height:1.12}h3{font-size:34px;line-height:1.15}.eyebrow,.hero .eyebrow{font-size:12px;letter-spacing:1.5px;text-align:center;line-height:1.8}.section{padding:60px 6%}.section-heading{text-align:center}.section-heading>p{font-size:16px;line-height:1.7}.hero-copy{align-items:center;min-height:0;padding:32px 6% 30px}.hero h1{margin-left:auto;margin-right:auto;max-width:390px}.hero .intro{font-size:17px;text-align:center;line-height:1.8}.hero .intro strong{font-size:18px}.actions{justify-content:center;gap:22px;width:100%}.button{font-size:16px;padding:16px 20px;min-height:52px}.hero .actions .button{width:100%}.text-link{font-size:16px}.hero-bottom{font-size:11px;line-height:1.8;letter-spacing:1px;margin-top:30px;padding-top:8px;justify-content:center;text-align:center}.ribbon{font-size:11px;letter-spacing:1px;gap:12px}.menu{font-size:15px;min-height:44px;align-items:center}nav{font-size:16px;gap:18px}.nav-cta{font-size:16px}.about-copy p,.about-copy .lead{font-size:17px;line-height:1.8}.under-link{font-size:16px;line-height:1.5;gap:18px}.occasion-grid{grid-template-columns:1fr}.occasion{padding:28px 22px!important;border-right:0;border-bottom:1px solid #d9bddc;text-align:center}.occasion:last-child{border-bottom:0}.number{font-size:12px}.occasion h3{min-height:0}.occasion p{font-size:16px;line-height:1.8}.card-link{font-size:16px;justify-content:center;gap:24px}.ornament{padding:22px 0}.live-banner h2{font-size:44px}.live-banner>div{text-align:center}.live-banner .eyebrow{font-size:12px}.watch-copy>p:not(.eyebrow){font-size:17px}.video-caption{left:20px;right:20px;text-align:center}.video-caption span{font-size:11px}.video-caption strong{font-size:30px}.video-caption small{font-size:12px;line-height:1.6}.repertoire h2{font-size:40px}.genres span{font-size:15px;padding:10px 17px}.repertoire>p:last-child{font-size:16px}.recording-label{font-size:12px;text-align:center;line-height:1.6}.recording h3{font-size:34px}.recording-info{text-align:center}.spotify-link,.recording-pending{font-size:16px;line-height:1.6}.contact h2{font-size:46px}.contact-copy>p:not(.eyebrow){font-size:17px;line-height:1.8}.email{font-size:16px}.phone{font-size:21px}.location{font-size:11px;line-height:1.8;display:block}label{font-size:15px;line-height:1.5}input,textarea,select{font-size:16px;padding:14px 10px;min-height:50px}.form-note{font-size:13px;line-height:1.7}#form-status{font-size:15px}summary{font-size:16px;line-height:1.6;padding:4px 0;min-height:44px;align-items:center}details p{font-size:16px;line-height:1.8}footer>p{font-size:27px;text-align:center}footer .brand{margin:0 auto}footer>div{font-size:15px;flex-wrap:wrap;justify-content:center;gap:22px}footer small{font-size:12px;text-align:center;line-height:1.7}.photo-label{left:20px;right:20px;text-align:center}.photo-label span{font-size:12px}.photo-label em{font-size:34px}}
@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:0}h2,.live-banner h2{font-size:40px}.contact h2{font-size:44px}.hero .eyebrow .line{display:none}.section-heading>p br{display:none}}

/* Let the header grow around its logo and reserve phone safe-area space. */
header{height:auto;min-height:156px;padding:20px 5.5% 16px;padding-top:calc(20px + env(safe-area-inset-top,0px));overflow:visible}header .brand{flex-shrink:0}header .brand img{display:block;width:142px;height:120px;object-fit:contain}
@media(max-width:760px){header{height:auto;min-height:144px;padding:24px 6% 16px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-left:max(6%,env(safe-area-inset-left,0px));padding-right:max(6%,env(safe-area-inset-right,0px));align-items:center}header .brand img{width:124px;height:104px}nav{top:100%}}

/* Desktop reading scale: comfortable type throughout, not only headings. */
@media(min-width:761px){
body{font-size:18px;line-height:1.8}nav{font-size:16px;gap:24px}.nav-cta{font-size:16px;padding:12px 18px}.nav-cta span{padding-left:12px}.eyebrow,.hero .eyebrow{font-size:12px;letter-spacing:1.8px;line-height:1.8}.intro,.hero .intro{font-size:19px;line-height:1.8}.hero .intro strong{font-size:21px}.hero{min-height:830px}.button{font-size:16px;line-height:1.5;padding:17px 24px;min-height:56px}.actions{gap:24px}.text-link{font-size:16px}.hero-bottom{font-size:12px;letter-spacing:1.3px}.ribbon{font-size:13px;letter-spacing:1.5px;gap:4%}.about-copy p{font-size:18px;line-height:1.85}.about-copy .lead{font-size:22px;line-height:1.7}.under-link{font-size:16px;line-height:1.6}.section-heading>p{font-size:17px;line-height:1.75}.number{font-size:12px;letter-spacing:1.4px}.occasion{padding:30px 22px}.occasion h3{font-size:34px;min-height:78px;line-height:1.1}.occasion p{font-size:17px;line-height:1.8}.card-link{font-size:16px;line-height:1.6;gap:12px;align-items:center}.card-link b{font-size:21px}.watch-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:420px}.video-caption span{font-size:12px;letter-spacing:1.6px}.video-caption strong{font-size:36px;line-height:1.2;margin:7px 0}.video-caption small{font-size:14px;line-height:1.6}.video-caption{bottom:26px;right:24px}.genres span{font-size:16px;padding:11px 23px}.repertoire>p:last-child{font-size:17px;line-height:1.8}.recording-label{font-size:12px;line-height:1.7;min-height:42px}.recording h3{font-size:36px;min-height:82px;line-height:1.12}.spotify-link,.recording-pending{font-size:16px;line-height:1.6}.recording-info{padding-top:26px}.contact{gap:8%}.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;max-width:440px}label{font-size:16px;line-height:1.6;margin-bottom:23px}input,textarea,select{font-size:17px;line-height:1.6;padding:13px 12px;min-height:54px}.form-note{font-size:14px;line-height:1.7;margin-top:18px}#form-status{font-size:16px;line-height:1.7}summary{font-size:18px;line-height:1.7;min-height:46px;align-items:center}summary span{font-size:23px}details p{font-size:17px;line-height:1.85;max-width:760px}.faq{max-width:1120px}footer>div{font-size:16px;line-height:1.8;gap:28px}footer small{font-size:14px;line-height:1.7}footer>p{font-size:30px;line-height:1.4}.photo-label span{font-size:12px;letter-spacing:2px}.photo-label em{font-size:36px;line-height:1.3}.photo-label{right:24px}
}
@media(min-width:761px) and (max-width:1100px){
.menu{display:flex;gap:12px;align-items:center;min-height:48px;font-size:16px;background:none;border:1px solid #c88eb9;color:#fff4ce;padding:10px 16px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#371053;padding:24px 6%;z-index:5;flex-direction:column;align-items:stretch;font-size:17px;gap:18px}nav.open{display:flex}.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion{padding:28px!important}.occasion:nth-child(2){border-right:0}.occasion:nth-child(-n+2){border-bottom:1px solid #d9bddc}.occasion h3{min-height:0}.recordings-grid{gap:22px}.recording h3{font-size:32px;min-height:105px}.watch{grid-template-columns:1fr 1.2fr;gap:6%}.video{aspect-ratio:1.2}.video-caption strong{font-size:29px}.video-caption small{font-size:13px}.ribbon{gap:22px;flex-wrap:wrap}.contact{gap:5%}.form-row{grid-template-columns:1fr;gap:0}
}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.service-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;background:linear-gradient(125deg,#571d79,#2a104a);color:#fff;padding:64px 8% 72px}
.service-hero .eyebrow{color:#f2dcb9}.service-hero h1{font:500 clamp(42px,4.8vw,76px)/1.12 'Cormorant Garamond',Georgia,serif;margin:16px 0 24px;letter-spacing:0}
.service-hero p{max-width:630px;font-size:20px}.service-hero img{display:block;width:100%;height:440px;object-fit:cover;border-radius:4px;object-position:center 28%}
.breadcrumb{font-size:16px!important;margin:0 0 32px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.service-content{max-width:1180px;margin:auto}.service-content h2{font-size:clamp(32px,3.2vw,46px);margin:0 0 24px}.service-content h3{font:500 29px/1.25 'Cormorant Garamond',Georgia,serif;margin:0 0 14px}
.service-content p,.service-content li{font-size:18px;line-height:1.8}.service-content ul{padding-left:24px}.service-content li{margin:10px 0}.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.service-panel{padding:32px;background:#efe8f4;border-top:2px solid #b480ce}
.service-links{display:flex;gap:16px 28px;flex-wrap:wrap;margin-top:26px}.service-links a{text-decoration:underline;text-underline-offset:5px;color:#572c91;font-weight:500}
.service-content .faq{padding:0;margin-top:48px}.service-content details p a{text-decoration:underline}.booking-guide{margin-top:48px}
@media(max-width:760px){.service-hero{grid-template-columns:1fr;gap:30px;padding:40px 7% 48px}.service-hero h1{font-size:44px;text-align:center}.service-hero p{text-align:center;font-size:18px}.service-hero .actions{justify-content:center}.service-hero img{height:340px}.service-columns{grid-template-columns:1fr;gap:24px}.service-content p,.service-content li{font-size:18px}.service-links{justify-content:center}.service-panel{padding:26px}.service-content h2,.service-content h3{text-align:center}}
