/* Phase 4B. All layout rules are scoped to the saved native About composition. */
.bcswe-about-layout { font-size: 19px; line-height: 1.75; overflow-wrap: anywhere; }
.bcswe-about-layout .about-measure { width: min(1250px, calc(100% - 112px)); margin-inline: auto; }
.bcswe-about-layout :is(h1, h2, h3) { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.bcswe-about-layout h1 { font-size: clamp(48px, 5.9vw, 86px); line-height: 1.04; }
.bcswe-about-layout h2 { font-size: clamp(36px, 4.3vw, 60px); line-height: 1.1; }
.bcswe-about-layout h3 { font-size: clamp(27px, 2.7vw, 36px); line-height: 1.2; margin-bottom: 24px; }
.bcswe-about-layout em { color: var(--brass); font-weight: 400; }
.bcswe-about-layout .eyebrow { font-size: 13px; margin-bottom: 25px; }
.bcswe-about-layout .about-reading { max-width: 62ch; }
.bcswe-about-layout p + p { margin-top: 23px; }
.bcswe-about-layout :is(.about-arrival, .about-story, .about-music, .about-places, .about-invitation) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); }
.bcswe-about-layout .about-arrival { align-items: center; padding-block: 76px 104px; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.bcswe-about-layout .about-lead { font-size: 22px; line-height: 1.6; margin-top: 30px; max-width: 39ch; }
.bcswe-about-layout .about-origin { font-size: 16px; color: var(--muted); max-width: 35ch; }
.bcswe-about-layout figure { margin: 0; min-width: 0; }
.bcswe-about-layout img { width: 100%; height: auto; }
.bcswe-about-layout .about-flutes img { height: auto; object-fit: contain; }
.bcswe-about-layout .about-cream { background: var(--cream); color: var(--navy); padding-block: 90px 64px; }
.bcswe-about-layout .about-cream em { color: var(--blue); }
.bcswe-about-layout .about-story { padding-bottom: 64px; }
.bcswe-about-layout .about-full-ensemble img { height: auto; object-fit: contain; }
.bcswe-about-layout .about-music { padding-block: 96px 64px; }
.bcswe-about-layout .about-music h3 { margin-top: 36px; margin-bottom: 14px; }
.bcswe-about-layout a:not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: .2em; }
.bcswe-about-layout .about-archive-link { margin-top: 0; }
.bcswe-about-layout .about-archive-link a { display: inline-flex; align-items: center; min-height: 48px; padding-block: 8px; }
.bcswe-about-layout .about-places { border-top: 1px solid var(--border); padding-block: 55px 90px; }
.bcswe-about-layout .about-heritage { background: var(--cream); color: var(--navy); padding-block: 86px 90px; }
.bcswe-about-layout .about-heritage em { color: var(--blue); }
.bcswe-about-layout .about-heritage-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .6fr); gap: 70px; align-items: center; }
.bcswe-about-layout .about-conductor-photo { max-width: 360px; justify-self: end; }
.bcswe-about-layout .about-conductor-photo img { aspect-ratio: 1; object-fit: cover; }
.bcswe-about-layout .about-history { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); margin-top: 58px; }
.bcswe-about-layout .about-history-row { padding-block: 15px; border-bottom: 1px solid var(--navy); font-size: 17px; }
.bcswe-about-layout .about-history-row + .about-history-row { margin-top: 0; }
.bcswe-about-layout .about-invitation { align-items: center; padding-block: 96px 104px; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.bcswe-about-layout .about-gathering-photo { align-self: start; }
.bcswe-about-layout .about-invitation-copy > p:not(.eyebrow) { margin-top: 27px; max-width: 45ch; }
.bcswe-about-layout .wp-block-buttons { margin-top: 30px; }
.bcswe-about-layout :is(.about-cream, .about-heritage) a:focus-visible { outline-color: var(--focus-on-light); }
@media (max-width: 1000px) {
    .bcswe-about-layout .about-measure { width: calc(100% - 64px); }
    .bcswe-about-layout .about-arrival { gap: 36px; }
    .bcswe-about-layout .about-heritage-intro { gap: 40px; }
}
@media (max-width: 760px) {
    .bcswe-about-layout { font-size: 18px; }
    .bcswe-about-layout :is(.about-arrival, .about-story, .about-music, .about-places, .about-invitation, .about-history) { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .bcswe-about-layout .about-arrival { padding-block: 46px 60px; }
    .bcswe-about-layout .about-arrival-copy { max-width: 580px; }
    .bcswe-about-layout .about-flutes img { aspect-ratio: 4 / 3; height: auto; }
    .bcswe-about-layout .about-lead { font-size: 20px; }
    .bcswe-about-layout .about-cream { padding-block: 56px 40px; }
    .bcswe-about-layout .about-story { padding-bottom: 38px; }
    .bcswe-about-layout .about-music { padding-block: 60px 40px; }
    .bcswe-about-layout .about-places { padding-block: 40px 56px; }
    .bcswe-about-layout .about-heritage { padding-block: 56px; }
    .bcswe-about-layout .about-heritage-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .bcswe-about-layout .about-conductor-photo { justify-self: start; width: 72%; max-width: 340px; }
    .bcswe-about-layout .about-history { margin-top: 40px; gap: 48px; }
    .bcswe-about-layout .about-invitation { padding-block: 56px 64px; }
    .bcswe-about-layout .about-invitation-copy { grid-row: 1; }
    .bcswe-about-layout .about-gathering-photo { grid-row: 2; }
}
@media (max-width: 650px) {
    .bcswe-about-layout .about-measure { width: calc(100% - 40px); }
    .bcswe-about-layout h1 { font-size: clamp(43px, 10.6vw, 62px); }
    .bcswe-about-layout h2 { font-size: clamp(34px, 8vw, 48px); }
    .bcswe-about-layout .about-full-ensemble { margin-inline: -20px; }
    .bcswe-about-layout .about-flutes img { aspect-ratio: 4 / 3; object-position: center; }
    .bcswe-about-layout .wp-block-buttons, .bcswe-about-layout .wp-block-button { width: 100%; }
    .bcswe-about-layout .wp-block-button__link { width: 100%; justify-content: center; }
}
