.bsp-program-grid { display:grid; gap:clamp(24px,3vw,42px); grid-template-columns:1fr; margin:clamp(40px,6vw,80px) auto; max-width:1200px; }
.bsp-program-card { background:rgba(250,249,245,.44); display:grid; grid-template-columns:minmax(230px,32%) minmax(0,1fr); min-height:270px; min-width:0; overflow:hidden; transition:background-color .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1); }
.bsp-program-card:not(:has(.bsp-program-card__image)) { grid-template-columns:1fr; min-height:0; }
.bsp-program-card > p { display:none !important; }
.bsp-program-card { border-left:8px solid #707070; }
.bsp-program-card--summer-intensives { border-left-color:#fcb040; }
.bsp-program-card--performance-opportunities { border-left-color:#201b51; }
.bsp-program-card--classes-workshops { border-left-color:#ed1c24; }
.bsp-program-card:hover { background:rgba(250,249,245,.7); box-shadow: 0 16px 42px rgba(32,27,81,.13); transform: translateY(-3px); }
.bsp-program-card__image { display:block; grid-column:1; grid-row:1; height:100%; min-height:270px; overflow:hidden; }
.bsp-program-card__image img { display:block; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1); width:100%; }
.bsp-program-card:hover .bsp-program-card__image img { transform: scale(1.035); }
.bsp-program-card__body { display:flex; flex-direction:column; grid-column:2; grid-row:1; justify-content:center; min-width:0; padding:clamp(26px,3vw,40px); }
.bsp-program-card:not(:has(.bsp-program-card__image)) .bsp-program-card__body { grid-column:1; }
.bsp-program-card__body h3 { color: #201b51; font-size: clamp(26px,2vw,34px); line-height: 1.06; margin: 10px 0 14px; }
.bsp-program-card__body h3 a { color: inherit; text-decoration: none; }
.bsp-program-card__type { color: #201b51; font-size: 12px; font-weight: 700; letter-spacing: .14em; margin-bottom: 7px; text-transform: uppercase; }
.bsp-program-card__status { color: #aa0e13; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bsp-program-card__date { color: #201b51; font-weight: 700; }
.bsp-program-card__link { color: #aa0e13; font-weight: 700; margin-top: auto; padding-top: 18px; text-decoration: none; }
.bsp-programs-page__section > h2 { text-decoration:none !important; }
.bsp-program-hero { --bsp-hero-band:#201b51; --bsp-hero-accent:#fcb040; background:#faf9f5; isolation:isolate; overflow:hidden; padding:clamp(28px,4vw,58px) clamp(22px,5vw,80px) clamp(64px,8vw,112px); position:relative; }
.bsp-program-hero--summer-intensives { --bsp-hero-band:#fcb040; --bsp-hero-accent:#201b51; }
.bsp-program-hero--classes-workshops { --bsp-hero-band:#ed1c24; --bsp-hero-accent:#fcb040; }
.bsp-program-hero__back,.bsp-program-hero__inner { margin-inline:auto; max-width:1200px; position:relative; z-index:2; }
.bsp-program-hero__back { min-height:44px; margin-bottom:clamp(46px,5vw,72px); z-index:4; }
.bsp-program-hero__back .bsp-program-back { background:#faf9f5; color:#201b51; margin:0; padding:9px 14px; }
.bsp-program-hero__band { display:none; }
.bsp-program-hero__inner { align-items:center; display:grid; gap:clamp(38px,6vw,92px); grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); }
.bsp-program-hero__media { align-self:stretch; box-shadow:none; margin:-45px 0; min-height:clamp(520px,48vw,690px); overflow:hidden; position:relative; z-index:2; }
.bsp-program-hero__media img { display:block; height:100%; min-height:inherit; object-fit:cover; width:100%; }
.bsp-program-hero__content { color:#fff; isolation:isolate; padding:clamp(52px,6vw,82px) 0; position:relative; z-index:1; }
.bsp-program-hero__content::before { background:var(--bsp-hero-band); bottom:0; content:""; left:-100vw; position:absolute; right:-100vw; top:0; z-index:-1; }
.bsp-program-hero__content h1 { color:inherit; font-size:clamp(43px,4.7vw,72px); line-height:.98; margin:10px 0 0; }
.bsp-program-hero__type { color:var(--bsp-hero-accent); font-size:12px; font-weight:700; letter-spacing:.14em; margin:0; text-transform:uppercase; }
.bsp-program-hero__rule { background:var(--bsp-hero-accent); display:block; height:3px; margin:clamp(22px,3vw,34px) 0; width:52px; }
.bsp-program-hero__status { color:var(--bsp-hero-accent); font-size:13px; font-weight:700; letter-spacing:.13em; margin:0; text-transform:uppercase; }
.bsp-program-hero__facts { display:grid; gap:0; grid-template-columns:1fr; margin:28px 0 0; }
.bsp-program-hero__facts div { border-top:1px solid rgba(255,255,255,.28); padding-top:14px; }
.bsp-program-hero__facts div + div { margin-top:16px; }
.bsp-program-hero__facts dt { color:var(--bsp-hero-accent); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.bsp-program-hero__facts dd { color:inherit; font-size:16px; line-height:1.35; margin:5px 0 0; }
.bsp-program-hero__action { background:var(--bsp-hero-accent); color:#201b51; display:inline-block; font-size:14px; font-weight:700; margin-top:30px; padding:14px 23px; text-decoration:none; transition:filter .25s ease,transform .35s cubic-bezier(.16,1,.3,1); }
.bsp-program-hero__action:hover { filter:brightness(.94); transform:translateY(-3px); }
.bsp-program-hero--summer-intensives .bsp-program-hero__content { color:#201b51; }
.bsp-program-hero--summer-intensives .bsp-program-hero__facts div { border-top-color:rgba(32,27,81,.28); }
.bsp-program-hero--classes-workshops .bsp-program-hero__action { color:#201b51; }
.bsp-program-hero--no-image .bsp-program-hero__inner { grid-template-columns:minmax(0,800px); justify-content:center; }
.bsp-program-hero--no-image .bsp-program-hero__content { padding-inline:clamp(28px,5vw,70px); }
.bsp-program-details { background: #201b51; color: #fff; display: grid; grid-template-columns: minmax(0,980px); justify-content: center; margin: 0 0 clamp(36px,5vw,72px); padding: clamp(28px,4vw,52px); }
.bsp-program-details--summer-intensives { border-top: 8px solid #fcb040; }
.bsp-program-details--performance-opportunities { border-top: 8px solid #fff; }
.bsp-program-details--classes-workshops { border-top: 8px solid #ed1c24; }
.bsp-program-details dl { display: grid; gap: 1px; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); margin: 24px 0 0; }
.bsp-program-details dl div { border-left: 1px solid rgba(255,255,255,.24); padding: 0 22px; }
.bsp-program-details dl div:first-child { border-left: 0; padding-left: 0; }
.bsp-program-details dt { color: #fcb040; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.bsp-program-details dd { font-size: 18px; margin: 8px 0 0; }
.bsp-program-status { color: #fcb040; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.bsp-program-action { background: #fcb040; color: #201b51; display: inline-block; font-weight: 700; justify-self: start; margin-top: 30px; padding: 15px 24px; text-decoration: none; }
.bsp-programs-empty { background: #f0efe9; color: #5b5552; margin: 40px auto; max-width: 1200px; padding: 24px; }
.bsp-header-audition .wp-block-button,.bsp-header-audition .wp-block-button__link { height:34px !important; min-height:34px !important; }
.bsp-header-audition .wp-block-button__link { font-size:11px !important; padding-inline:clamp(12px,1.2vw,17px) !important; }
.bsp-header-audition .wp-block-button__link:hover,.bsp-header-audition .wp-block-button__link:focus-visible { background:#aa0e13 !important; border-color:transparent !important; box-shadow:none !important; filter:none !important; transform:none !important; }
.wp-site-blocks > *,.wp-block-post-content > .wp-block-group { margin-block:0 !important; }
.wp-block-post-content { padding-block:0 !important; }
.wp-block-post-content > p:empty { display:none !important; }
@media (max-width:900px) { .bsp-program-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; } }
@media (max-width:700px) { .bsp-program-card { display:block; min-height:0; } .bsp-program-card__image { aspect-ratio:4/3; height:auto; min-height:0; } .bsp-program-card__body { display:flex; } }
@media (max-width:640px) { .bsp-program-details dl { grid-template-columns: 1fr; } .bsp-program-details dl div,.bsp-program-details dl div:first-child { border-left: 0; border-top: 1px solid rgba(255,255,255,.24); padding: 18px 0 0; } .bsp-program-details dl div:first-child { border-top: 0; } }
@media (max-width:900px) {
  .bsp-program-hero { padding-inline:clamp(20px,5vw,48px); }
  .bsp-program-hero__inner { gap:0; grid-template-columns:1fr; }
  .bsp-program-hero__media { margin:0 auto; min-height:0; width:min(100%,680px); }
  .bsp-program-hero__media img { aspect-ratio:4/3; min-height:0; }
  .bsp-program-hero__content { margin-inline:auto; max-width:680px; padding:clamp(46px,8vw,72px) 0; width:100%; }
}
@media (max-width:560px) {
  .bsp-program-hero { padding-bottom:50px; }
  .bsp-program-hero__content h1 { font-size:clamp(40px,13vw,58px); }
  .bsp-program-hero__facts { grid-template-columns:1fr; }
  .bsp-program-hero__media img { aspect-ratio:4/5; }
}
@media (max-width:767px) {
  .bsp-header-audition .wp-block-button,.bsp-header-audition .wp-block-button__link { height:32px !important; min-height:32px !important; }
  .bsp-header-audition .wp-block-button__link { font-size:10px !important; padding-inline:11px !important; }
}
