/* Scoped body composition. Existing headers, heroes and shared theme remain intact. */
.composition-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,64px);align-items:center;margin-bottom:28px}
.composition-intro__copy{min-width:0}.composition-intro__copy .section-head{max-width:none}.composition-intro__copy p{max-width:none}
.composition-intro__media{margin:0;min-width:0;position:relative;z-index:1;border-top:3px solid var(--accent,#00a9ce)}
.composition-intro__media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid rgba(87,121,133,.2)}
.composition-intro__media figcaption{padding:14px 0 0;font-size:.9375rem;line-height:1.5;color:var(--muted,#526b74)}
.composition-intro__media a{display:inline-block;margin-top:8px;font-weight:650}
main .composition-reading>.container{max-width:900px}main .composition-reading .prose,main .composition-reading .section-head{max-width:none}
main .composition-balanced-heading>.container>.section-head{max-width:860px;margin-inline:auto}
.composition-contact{margin-top:24px}.composition-contact a{font-weight:650}
@media(max-width:900px){.composition-intro{grid-template-columns:1fr;gap:24px}.composition-intro__media{max-width:760px;width:100%;margin-inline:auto}}
@media(max-width:640px){.composition-intro{margin-bottom:24px}.composition-intro__media figcaption{font-size:.9375rem}.composition-contact .btn{white-space:normal}}
