/* Content-only promotion blocks. Never target the header, hero, body or shared wrappers. */
.cast-promo-figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.cast-promo-figure img,.cast-person-card>img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
.cast-promo-figure figcaption{padding:.9rem 1rem;color:var(--muted);font-size:.84rem;line-height:1.7}
.cast-brand-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2rem,4vw,4rem)}
.cast-brand-poster{width:100%;max-width:420px;justify-self:start}
.cast-brand-copy{min-width:0}
.cast-brand-copy .visit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.cast-brand-copy .section-heading h2{font-size:clamp(2.1rem,3.6vw,3.2rem)}
.cast-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2rem}
.cast-person-card{overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.cast-person-copy{padding:1.3rem}
.cast-person-copy h3{margin:.6rem 0;color:var(--pink-2);font-size:1.35rem;line-height:1.5}
.cast-person-copy p{font-size:.95rem;line-height:1.75;margin:0;color:var(--muted)}
.cast-people-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1.2rem}
.cast-people-text article{border:1px solid var(--line);border-radius:18px;padding:1.3rem;min-width:0}
.cast-people-text h3{margin:.5rem 0;font-size:1.35rem;color:var(--pink-2)}
.cast-people-text p{margin:0;color:var(--muted);font-size:.95rem}
.cast-first-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.cast-first-layout>div{min-width:0}
.cast-first-layout .visit-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.cast-first-poster{width:100%;max-width:380px;justify-self:end}
.cast-event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.cast-event-layout>div{min-width:0}
.cast-poster-link{display:block;width:100%;max-width:490px;justify-self:end}
.cast-event-detail{padding:0 clamp(1.3rem,8vw,8rem) clamp(4rem,7vw,6rem);max-width:900px;margin:auto}
.cast-event-detail .cast-promo-figure{max-width:640px;margin:auto}
@media(max-width:1000px){.cast-brand-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem}.cast-brand-copy .visit-cards{grid-template-columns:minmax(0,1fr)}.cast-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-first-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.cast-first-layout .visit-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.cast-brand-layout,.cast-first-layout,.cast-event-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.cast-brand-poster,.cast-first-poster,.cast-poster-link{max-width:100%;justify-self:stretch}.cast-brand-copy .visit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-brand-copy .visit-cards article{padding:1.1rem}.cast-brand-copy .visit-label{font-size:.72rem;letter-spacing:.07em}.cast-brand-copy .visit-cards h3{font-size:1.1rem}.cast-brand-copy .visit-cards p{font-size:.88rem}.cast-first-layout .visit-steps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.cast-people-grid,.cast-people-text{grid-template-columns:minmax(0,1fr)}.cast-promo-figure,.cast-person-card{border-radius:18px}.cast-event-detail{padding-inline:1.2rem}}
@media(prefers-reduced-motion:reduce){.cast-poster-link{transition:none}}
