/*
Theme Name: Буфф-Парадиз
Author: Театр Буфф-Парадиз
Description: Фирменная тема музыкального театра.
Version: 0.5.6
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: buffparadiz
*/
:root{--ink:#2b1a21;--wine:#6e1930;--deep:#251018;--red:#a73445;--brass:#d1a765;--paper:#fcf8f2;--muted:#796a70;--line:#e9ded8;--white:#fff;--wrap:1180px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,'Helvetica Neue',sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--wine)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;padding:10px 16px;background:var(--paper)}
.skip-link:focus{top:16px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.13;font-weight:500}
h1{font-size:clamp(2.8rem,6vw,5.8rem)}
h2{font-size:clamp(2rem,4.2vw,3.8rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
p{max-width:72ch}
.eyebrow{font-size:.74rem;line-height:1.35;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid var(--brass);background:var(--brass);color:var(--deep);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.button:hover{background:#e5bf80;border-color:#e5bf80;color:var(--deep)}
.button--outline{background:transparent;color:var(--paper)}
.button--outline:hover{background:var(--paper);border-color:var(--paper)}
.button--dark{background:var(--wine);border-color:var(--wine);color:var(--white)}
.button--dark:hover{background:var(--deep);border-color:var(--deep);color:var(--white)}
.site-header{position:relative;z-index:20;background:var(--paper);color:var(--ink);border-bottom:3px solid var(--brass)}
.site-header__inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-brand{flex-shrink:0}
.site-brand .custom-logo,.site-brand .site-logo{max-width:210px;max-height:72px;width:auto}
.site-header .site-brand .custom-logo,.site-header .site-brand .site-logo{mix-blend-mode:multiply}
.site-brand__text{display:flex;flex-direction:column;color:var(--wine);text-decoration:none;line-height:1}
.site-brand__text span{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;letter-spacing:.015em}
.site-brand__text small{margin-top:7px;color:var(--brass);font-size:.58rem;font-weight:700;letter-spacing:.21em;text-transform:uppercase}
.site-brand__text:hover{color:var(--wine)}
.site-nav__list{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:clamp(12px,2.1vw,29px);margin:0;padding:0}
.site-nav__list a{color:var(--ink);font-size:.77rem;font-weight:700;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}
.site-nav__list a:hover,.site-nav__list .current-menu-item>a{color:var(--brass)}
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:8px;border:1px solid rgba(209,167,101,.5);background:none}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--wine)}
.hero{position:relative;display:flex;align-items:center;min-height:min(760px,85vh);overflow:hidden;background:var(--deep);color:var(--paper)}
.hero__slides,.hero__slide{position:absolute;inset:0}
.hero__slide{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero__slide.is-active{opacity:1;visibility:visible}
.hero__slide img,.hero__slide video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero__slide img{filter:brightness(.72)}
.hero__slide video{filter:brightness(.75)}
.hero__controls{position:absolute;z-index:3;right:0;bottom:28px;left:0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero__dots{display:flex;align-items:center;gap:12px}
.hero__dot,.hero__pause{display:grid;place-items:center;border:1px solid rgba(252,248,242,.75);background:rgba(37,16,24,.4);color:var(--paper)}
.hero__dot{width:35px;height:8px;padding:0;transition:background .2s,border-color .2s}
.hero__dot.is-active,.hero__dot:hover{background:var(--brass);border-color:var(--brass)}
.hero__dot--video{width:35px;height:27px}
.hero__dot span{font-size:.65rem;line-height:1}
.hero__pause{width:35px;height:35px;padding:0;font-size:1rem}
.hero__pause:hover{background:var(--brass);color:var(--deep)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,8,15,.94) 0%,rgba(27,9,17,.74) 45%,rgba(27,9,17,.22) 100%)}
.hero__inner{position:relative;z-index:2;padding-block:110px 125px}
.hero__eyebrow{color:var(--brass)}
.hero h1{max-width:820px;margin:24px 0 28px}
.hero__lead{max-width:590px;font-size:clamp(1.05rem,1.7vw,1.3rem);color:#eee4df}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.hero__frame{position:absolute;z-index:2;right:4vw;top:7%;bottom:7%;width:26%;border:1px solid rgba(209,167,101,.65);border-left:0;pointer-events:none}
.hero__frame::before,.hero__frame::after{content:'';position:absolute;right:0;width:42px;height:1px;background:var(--brass)}
.hero__frame::before{top:20px}.hero__frame::after{bottom:20px}
.show-hero{min-height:min(680px,75vh)}
.show-hero::after{background:linear-gradient(90deg,rgba(22,8,15,.82) 0%,rgba(27,9,17,.48) 50%,rgba(27,9,17,.08) 100%);pointer-events:none}
.show-hero__inner{padding-block:100px 120px}
.show-hero h1{max-width:900px}
.show-hero .hero__eyebrow a{color:inherit;text-decoration:none}
.show-hero .hero__lead{font-size:clamp(1.1rem,2vw,1.5rem)}
@media(max-width:650px){.show-hero{min-height:580px}.show-hero::after{background:linear-gradient(0deg,rgba(22,8,15,.88),rgba(22,8,15,.28))}.show-hero__inner{padding-block:75px 95px}}
.section{padding-block:clamp(70px,8vw,122px)}
.section--light{background:var(--paper)}
.section--white{background:var(--white)}
.section--dark{background:var(--deep);color:var(--paper)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.section-heading h2{margin:8px 0 0}
.section-heading .eyebrow{color:var(--wine)}
.section--dark .eyebrow{color:var(--brass)}
.section-heading__link{font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.lead{font-size:clamp(1.15rem,1.8vw,1.48rem);line-height:1.65}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr);gap:clamp(40px,8vw,120px);align-items:center}
.intro-grid__side{padding:32px 0 32px 32px;border-left:1px solid var(--brass)}
.intro-grid__side p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.card{min-width:0;background:var(--white);border:1px solid var(--line)}
.card__image{display:block;aspect-ratio:210/297;overflow:hidden;background:#f2ede8}
.card__image img{width:100%;height:100%;object-fit:contain}
.card:hover .card__image{background:#ebe1d9}
.card__placeholder{display:grid;place-items:center;height:100%;padding:24px;background:linear-gradient(145deg,var(--wine),var(--deep));color:var(--brass);font-family:Georgia,serif;font-size:2.2rem;text-align:center}
.card__body{padding:25px 26px 30px}
.card__eyebrow{margin-bottom:12px;color:var(--wine);font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.card :is(h2,h3){margin-bottom:14px}
.card :is(h2,h3) a{text-decoration:none}
.card__excerpt{color:var(--muted);font-size:.94rem}
.card__link{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.feature-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--wine);color:var(--paper)}
.feature-band__visual{min-height:420px;background:linear-gradient(135deg,#712039,#241019);background-position:center;background-size:cover}
.feature-band__content{align-self:center;padding:clamp(46px,6vw,100px)}
.feature-band__content .eyebrow{color:var(--brass)}
.feature-band__content p{max-width:520px}
.page-hero{padding-block:clamp(75px,10vw,130px);background:var(--deep);color:var(--paper);border-bottom:4px solid var(--brass)}
.page-hero .eyebrow{color:var(--brass)}
.page-hero h1{margin:18px 0 0}
.page-hero p{margin:22px 0 0;color:#e3d7d3}
.content-area{padding-block:clamp(55px,7vw,100px)}
.content-area>*:first-child{margin-top:0}
.content-area :is(h2,h3){margin-top:1.5em}
.content-area a{color:var(--wine)}
.content-area a.button--dark,.content-area a.button--dark:hover{color:var(--white)}
.content-area img{margin-block:24px}
.narrow{width:min(820px,calc(100% - 48px));margin-inline:auto}
.archive-intro{margin-bottom:38px}
.entry-meta{color:var(--muted);font-size:.82rem}
.single-featured{max-height:650px;width:100%;object-fit:cover;margin:0 0 50px}
.site-footer{background:#1c0d13;color:var(--paper);padding-top:clamp(70px,7vw,110px)}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,8vw,120px);padding-bottom:75px}
.footer-intro .eyebrow{color:var(--brass)}
.footer-intro h2{max-width:630px;margin:24px 0}
.footer-intro p:last-child{color:#cabdc0}
.footer-contacts{display:grid;gap:28px;align-content:start}
.footer-label{display:block;margin-bottom:9px;color:var(--brass);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.footer-phone{font-family:Georgia,serif;font-size:clamp(1.3rem,2.5vw,2rem);text-decoration:none}
.footer-phone:hover,.footer-social a:hover{color:var(--brass)}
.footer-social{display:flex;flex-wrap:wrap;gap:22px;margin-top:7px}
.footer-social a{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:25px;border-top:1px solid rgba(209,167,101,.27);color:#a99a9d;font-size:.78rem}
.footer-bottom a{color:var(--brass);text-decoration:none}
.wp-block-image img{height:auto}
@media(max-width:900px){.menu-toggle{display:flex}.site-header__inner{min-height:76px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px 25px;background:var(--paper);border-top:1px solid var(--line)}.site-nav.is-open{display:block}.site-nav__list{display:grid;gap:0}.site-nav__list a{display:block;padding:13px 0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__frame{display:none}}
@media(max-width:650px){body{font-size:16px}.wrap,.narrow{width:min(100% - 32px,var(--wrap))}.hero{min-height:590px}.hero__inner{padding-block:85px 100px}.hero::after{background:linear-gradient(0deg,rgba(22,8,15,.92),rgba(22,8,15,.28))}.hero__actions{display:grid}.hero__actions .button{width:100%}.section-heading{display:block}.section-heading__link{display:inline-block;margin-top:22px}.intro-grid,.cards,.feature-band,.footer-grid{grid-template-columns:1fr}.intro-grid__side{padding:0 0 0 18px}.feature-band__visual{min-height:300px}.feature-band__content{padding:50px 24px}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.bp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:42px 0}
.bp-gallery a{display:block;overflow:hidden;aspect-ratio:4/3;background:#eadfda}
.bp-gallery img{display:block;width:100%;height:100%;object-fit:cover;margin:0;transition:transform .3s ease}
.bp-gallery a:hover img{transform:scale(1.04)}
@media(max-width:650px){.bp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
body.bp-lightbox-open{overflow:hidden}
.bp-lightbox{position:fixed;inset:0;width:min(1200px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);margin:auto;padding:56px 18px 20px;border:1px solid rgba(209,167,101,.55);background:#190d13;color:var(--paper);box-shadow:0 24px 70px rgba(0,0,0,.45)}
.bp-lightbox::backdrop{background:rgba(12,5,9,.88)}
.bp-lightbox__layout{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:0}
.bp-lightbox__figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;margin:0}
.bp-lightbox__image{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain}
.bp-lightbox__count{margin-top:12px;color:var(--brass);font-size:.75rem;letter-spacing:.14em}
.bp-lightbox__close,.bp-lightbox__arrow{display:grid;place-items:center;border:1px solid rgba(252,248,242,.58);background:rgba(252,248,242,.08);color:var(--paper)}
.bp-lightbox__close:hover,.bp-lightbox__arrow:hover{background:var(--brass);color:var(--deep)}
.bp-lightbox__close{position:absolute;top:12px;right:14px;width:36px;height:36px;font-size:1.3rem}
.bp-lightbox__arrow{width:42px;height:52px;padding:0;font-size:1.6rem}
@media(max-width:650px){.bp-lightbox{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:52px 8px 14px}.bp-lightbox__layout{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.bp-lightbox__arrow{width:32px;height:44px}.bp-lightbox__image{max-height:calc(100vh - 125px)}}
.bp-video-jump{margin:30px 0 0;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.bp-video-gallery{margin-top:70px}
.bp-video-gallery h2{margin-bottom:24px}
.bp-video-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bp-video-gallery__item{min-width:0;aspect-ratio:16/9;background:var(--deep)}
.bp-video-gallery__item iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:650px){.bp-video-gallery__grid{grid-template-columns:1fr;gap:14px}}
.back-to-top{position:fixed;z-index:60;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--brass);border-radius:50%;background:var(--wine);color:var(--paper);box-shadow:0 10px 28px rgba(37,16,24,.28);text-decoration:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{background:var(--deep);color:var(--paper);transform:translateY(-3px)}
@media(max-width:650px){.back-to-top{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:50px;height:50px}}


.home .hero__slide img{filter:brightness(.98) saturate(1.06)}
.home .hero::after{background:linear-gradient(0deg,rgba(22,8,15,.52) 0%,transparent 26%),linear-gradient(90deg,rgba(22,8,15,.88) 0%,rgba(22,8,15,.62) 30%,rgba(22,8,15,.14) 66%,transparent 100%);pointer-events:none}
.home .hero h1{text-shadow:0 3px 22px rgba(12,5,9,.45)}
.home .hero__lead{color:#fff;text-shadow:0 2px 14px rgba(12,5,9,.65)}
@media(max-width:650px){.home .hero::after{background:linear-gradient(0deg,rgba(22,8,15,.76) 0%,rgba(22,8,15,.36) 50%,rgba(22,8,15,.12) 100%)}}
.home .hero__slide::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 70% at 72% 43%,rgba(255,225,174,.24),transparent 76%);opacity:0}
.home .hero__slide.is-active::after{animation:bp-stage-light 1.7s ease-out both}
@keyframes bp-stage-light{0%{opacity:0;transform:translateX(-5%)}55%{opacity:.8}100%{opacity:.24;transform:translateX(0)}}
.home .cards .card.bp-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--bp-reveal-delay,0ms)}
.home .cards .card.bp-reveal.is-revealed{opacity:1;transform:translateY(0)}
.home .cards .card.bp-reveal:nth-child(3n + 2){--bp-reveal-delay:90ms}
.home .cards .card.bp-reveal:nth-child(3n + 3){--bp-reveal-delay:180ms}
@media(max-width:650px){.home .cards .card.bp-reveal{--bp-reveal-delay:0ms}}
@media(prefers-reduced-motion:reduce){.home .hero__slide.is-active::after{animation:none;opacity:0}.home .cards .card.bp-reveal{opacity:1;transform:none;transition:none}}
.scroll-progress{position:fixed;top:0;left:0;z-index:100;width:100%;height:3px;background:var(--brass);transform:scaleX(0);transform-origin:left center;pointer-events:none}
body.admin-bar .scroll-progress{top:32px}
@media(max-width:782px){body.admin-bar .scroll-progress{top:46px}}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.home .hero__slide img{transform:translate3d(0,var(--bp-parallax-y,0px),0) scale(1.14);transform-origin:70% center}}
/* Расписание артистов */
body.bp-schedule-standalone{margin:0;background:#f8f3ed}
.bp-schedule-standalone #wpadminbar{display:none!important}
.bp-schedule-stage{width:100%;height:100dvh;min-height:480px}
.bp-schedule-embed{display:block;width:100%;height:100%;border:0;background:#fff}
.bp-schedule-login{width:min(440px,calc(100% - 32px));margin:clamp(60px,12vh,150px) auto;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 40px rgba(37,16,24,.08)}
.bp-schedule-login h1{font-size:2rem;margin-bottom:26px}
.bp-schedule-login form{display:grid;gap:14px}
.bp-schedule-login form p{margin:0}
.bp-schedule-login label{display:block;font-size:.9rem;font-weight:700}
.bp-schedule-login input[type=text],.bp-schedule-login input[type=password]{width:100%;padding:12px;border:1px solid #c8b8ba}
.bp-schedule-login input[type=submit]{width:100%;padding:12px;border:0;background:var(--wine);color:#fff;font-weight:700}
.bp-schedule-login>p:last-child{margin:18px 0 0;font-size:.88rem}
.footer-bottom__private{font-size:.75rem;opacity:.8}

/* Ссылки на соцсети и разделы старого сайта */
.header-social{display:flex;align-items:center;gap:7px;flex-shrink:0}
.header-social a{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b8aaad;border-radius:50%;color:var(--wine);text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.header-social a:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.header-social svg{width:16px;height:16px;fill:currentColor}
.header-social a:first-child svg{fill:none;stroke:currentColor;stroke-width:1.8}
.header-social a:first-child svg path{fill:currentColor;stroke:none}
.header-social a span{font:700 9px/1 Arial,sans-serif;letter-spacing:-.05em}
.site-nav__social{display:none}
.footer-meta{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:36px;padding:0 0 48px}
.footer-legal p:not(.footer-label){margin:0;color:#c7babe;font-size:.8rem;line-height:1.75}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;align-content:start}
.footer-nav .footer-label{grid-column:1/-1;margin-bottom:8px}
.footer-nav a{color:#c7babe;font-size:.82rem;text-decoration:none}
.footer-nav a:hover{color:var(--brass)}
@media(min-width:901px) and (max-width:1150px){.site-header__inner{gap:18px}.site-nav__list{gap:12px}.site-nav__list a{font-size:.7rem}.site-brand .custom-logo,.site-brand .site-logo{max-width:180px}}
@media(max-width:900px){.header-social{display:none}.site-nav__social{display:flex;gap:18px;flex-wrap:wrap;padding:18px 0 0;border-top:1px solid var(--line)}.site-nav__social a{font-size:.85rem;text-decoration:none;color:var(--wine);font-weight:700}}
@media(max-width:650px){.footer-meta{grid-template-columns:1fr;gap:28px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.footer-bottom{padding-right:88px}
@media(max-width:650px){.footer-bottom{padding-right:64px}}

/* Performance detail: the full A-series playbill beside the synopsis. */
.show-article{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.show-detail{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:clamp(36px,5vw,72px)}
.show-poster{margin:0;padding:9px;background:#fff;border:1px solid #e5d8cb;box-shadow:0 18px 42px rgba(38,16,22,.13)}
.show-poster .show-poster__image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0}
.show-copy{min-width:0;padding-top:5px}
.show-copy>*:first-child{margin-top:0}
.show-copy>*:last-child{margin-bottom:0}
.show-copy__cta{margin-top:34px}
.show-article__media{margin-top:clamp(52px,7vw,90px)}
.show-article__media .bp-gallery{margin-top:0}
@media(max-width:760px){
  .show-article{width:min(100% - 32px,var(--wrap))}
  .show-detail{grid-template-columns:1fr;gap:34px}
  .show-poster{width:min(300px,100%);margin-inline:auto}
  .show-copy{padding-top:0}
  .show-article__media{margin-top:55px}
}
/* Artist detail: the complete portrait beside the biography. */
.person-article{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.person-detail{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:clamp(36px,5vw,72px)}
.person-detail--text-only{grid-template-columns:1fr}
.person-portrait{margin:0;padding:9px;background:#fff;border:1px solid #e5d8cb;box-shadow:0 18px 42px rgba(38,16,22,.13)}
.person-portrait .person-portrait__image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0}
.person-copy{min-width:0;padding-top:5px;overflow-wrap:anywhere}
.person-copy>*:first-child{margin-top:0}
.person-copy>*:last-child{margin-bottom:0}
.person-article__media{margin-top:clamp(52px,7vw,90px)}
.person-article__media .bp-gallery{margin-top:0}
@media(max-width:760px){
  .person-article{width:min(100% - 32px,var(--wrap))}
  .person-detail{grid-template-columns:1fr;gap:34px}
  .person-portrait{width:min(300px,100%);margin-inline:auto}
  .person-copy{padding-top:0}
  .person-article__media{margin-top:55px}
}
/* The private schedule needs room for the Google Sheets tabs and columns. */
.page-id-555 .content-area{width:min(1600px,calc(100% - 48px));margin-inline:auto;padding-block:28px 48px}
.page-id-555 .bp-schedule-frame{display:block;width:100%;height:80vh;height:80dvh;min-height:520px;border:0;background:#fff}
@media(max-width:760px){
  .page-id-555 .content-area{width:calc(100% - 24px);padding-block:16px 28px}
  .page-id-555 .bp-schedule-frame{min-height:420px}
}
/* Keep the studio portrait complete in troupe cards. */
.post-type-archive-bp_person .card__image{aspect-ratio:2/3}

/* SEO navigation and the touring enquiry page. */
.card h2{font-size:clamp(1.4rem,2.5vw,2rem)}
.bp-breadcrumbs{margin:0 0 30px;font-size:.83rem;color:var(--muted)}
.bp-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 0;list-style:none;margin:0;padding:0}
.bp-breadcrumbs li+li::before{content:"›";margin:0 10px;color:var(--muted)}
.bp-breadcrumbs a{color:var(--wine)}
.bp-booking-lead{padding:28px;border:1px solid var(--line);border-left:4px solid var(--brass);background:#fff}
.bp-booking-lead .eyebrow{color:var(--wine)}
.bp-booking-contact{margin:20px 0 0;font-size:.92rem}
.bp-booking-repertoire li,.bp-booking-steps li{margin-bottom:16px}
.bp-booking-faq details{padding:18px 0;border-bottom:1px solid var(--line)}
.bp-booking-faq summary{cursor:pointer;color:var(--wine);font-weight:700}
.bp-booking-faq details p{margin:16px 0 0}
.bp-booking-end{margin-top:48px;padding:28px;border:1px solid var(--line);background:#fff}
.content-area .bp-booking-end h2{margin-top:0}
.bp-booking-end>p:last-child{margin:22px 0 0}
@media(max-width:650px){.bp-booking-lead,.bp-booking-end{padding:22px 18px}.bp-booking-lead .button,.bp-booking-end .button{width:100%;letter-spacing:.05em}}

/* Compact performance pages: full-width cast and accessible history by year. */
.show-article--compact .show-detail{grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:clamp(28px,4vw,48px)}
.show-article--compact .show-detail--text-only{grid-template-columns:1fr}
.show-article--compact .show-copy{font-size:1rem;line-height:1.65}
.show-article--compact .show-copy p{margin-bottom:18px}
.show-article--compact .show-copy__cta{margin-top:24px}
.show-article--compact .show-article__details{margin-top:44px}
.show-article--compact .bp-show-cast,.show-article--compact .bp-show-history{margin:0;padding-top:30px;border-top:1px solid var(--line)}
.show-article--compact .bp-show-history{margin-top:40px}
.show-article--compact .bp-show-cast>h2,.show-article--compact .bp-show-history>h2{margin:0 0 24px;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.2}
.show-article--compact .bp-show-cast--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 44px;align-items:start}
.show-article--compact .bp-show-cast--grid>h2{grid-column:1/-1;margin-bottom:0}
.show-article--compact .bp-cast-role{min-width:0}
.show-article--compact .bp-cast-role h3{margin:0 0 10px;font-size:1.42rem;line-height:1.25;color:var(--wine)}
.show-article--compact .bp-cast-role ul{margin:0;padding-left:20px;font-size:1rem;line-height:1.6}
.show-article--compact .bp-cast-role li{margin:0 0 6px;padding-left:2px}
.show-article--compact .bp-cast-role li:last-child{margin-bottom:0}
.show-article--compact .bp-cast-role--technical{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line)}
.show-article--compact .bp-cast-role--technical h3{font-family:Arial,'Helvetica Neue',sans-serif;font-size:.95rem;font-weight:700}
.show-article--compact .bp-cast-role--technical ul{display:flex;flex-wrap:wrap;gap:8px 30px;list-style:none;padding:0;font-size:.9rem}
.show-article--compact .bp-show-cast--list>ul{columns:2;column-gap:44px;margin:0;padding-left:20px;font-size:1rem;line-height:1.6}
.show-article--compact .bp-show-cast--list>ul>li{break-inside:avoid;padding-right:12px;margin-bottom:12px}
.show-article--compact .bp-show-history>p{max-width:none;margin:0 0 18px;font-size:1rem;color:var(--muted)}
.show-article--compact .bp-history-year{border-top:1px solid var(--line)}
.show-article--compact .bp-history-year:last-of-type{border-bottom:1px solid var(--line)}
.show-article--compact .bp-history-year summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:16px 2px;list-style:none;cursor:pointer;color:var(--wine);font-family:Georgia,'Times New Roman',serif;font-size:1.3rem;line-height:1.35}
.show-article--compact .bp-history-year summary::-webkit-details-marker{display:none}
.show-article--compact .bp-history-year summary::after{content:'+';flex:0 0 24px;text-align:center;font-family:Arial,sans-serif;font-size:1.4rem;font-weight:400}
.show-article--compact .bp-history-year[open] summary::after{content:'−'}
.show-article--compact .bp-history-year summary:hover{color:var(--deep)}
.show-article--compact .bp-history-year summary:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.show-article--compact .bp-history-year__body{padding:0 34px 22px 2px;font-size:1rem;line-height:1.65}
.show-article--compact .bp-history-year__body p{max-width:none;margin:0 0 14px}
.show-article--compact .bp-history-year__body ul{margin:0 0 14px;padding-left:20px}
.show-article--compact .bp-history-year__body h3,.show-article--compact .bp-history-year__body h4{margin:20px 0 8px;font-family:Arial,'Helvetica Neue',sans-serif;font-size:.95rem;line-height:1.4}
.show-article--compact .bp-history-year__body>:first-child{margin-top:0}
.show-article--compact .bp-history-year__body>:last-child{margin-bottom:0}
.show-article--compact .bp-history-total{margin-top:18px;color:var(--wine);font-size:1rem}
.show-article--compact .bp-history-total p{max-width:none;margin:0}
.show-article--compact .show-article__media{margin-top:44px}
@media(max-width:760px){
 .show-article--compact .show-detail{grid-template-columns:1fr;gap:26px}
 .show-article--compact .show-poster{width:min(280px,100%)}
 .show-article--compact .show-article__details{margin-top:32px}
 .show-article--compact .bp-show-cast--grid{grid-template-columns:1fr;gap:23px}
 .show-article--compact .bp-show-cast--list>ul{columns:1}
 .show-article--compact .bp-cast-role h3{font-size:1.3rem}
 .show-article--compact .bp-show-history{margin-top:32px}
 .show-article--compact .bp-history-year summary{font-size:1.15rem;min-height:58px}
 .show-article--compact .bp-history-year__body{padding-right:2px}
 .show-article--compact .bp-cast-role--technical ul{display:block}
}

/* Keep promo players outside the text paragraph width. */
.show-article--compact .bp-show-video>p{max-width:none}
