/* Event-specific compositions use the approved website spacing and type roles. */
:root { --deep:var(--navy); }
#brochure-pages > .brochure-page { justify-content:flex-start; }
#brochure-pages > :is(#home,#season,#format,#finale,#teams,#partnership,#contact,#booking).brochure-page { padding-block:var(--page-top-padding); }
#brochure-pages > .brochure-page > .section-shell { width:100%; max-width:var(--content-max); }
#brochure-pages .league-hero { gap:var(--heading-gap) var(--layout-gap); align-items:start; }
#brochure-pages .league-hero .hero-copy { padding:0; }
#brochure-pages .league-hero .hero-visual { padding-top:0; align-self:start; }
#brochure-pages .league-hero .chapter-strip { margin-top:0; }
#brochure-pages :is(.season-heading,.season-layout,.competition-layout,.finale-layout,.team-entry-layout,.partnership-layout,.join-layout) { column-gap:var(--layout-gap); row-gap:var(--layout-gap); align-items:start; }
#brochure-pages :is(.competition-layout,.team-entry-layout,.join-layout) { margin-top:var(--heading-gap); }
#brochure-pages #teams .team-entry-layout { margin-top:0; }
#brochure-pages :is(.team-overview,.partnership-overview,.partnership-details) { display:block; min-width:0; }
#brochure-pages .partnership-details > .lead { margin-bottom:var(--space-md); }
#brochure-pages :is(.entry-price,.finals-board) { padding:var(--card-padding); background:var(--panel); }
#brochure-pages .form-error { background:var(--panel); }
#brochure-pages :is(.season-numbers strong,.phase-number,.entry-price .price,.partner-investment .price) { font-size:var(--type-feature-title); line-height:1.08; }
#brochure-pages :is(.season-window strong,.division-split strong,.finale-date strong,.division-final,.season-titles > div,.entry-deadline strong,.league-signature > strong,.league-signature p) { font-size:var(--type-subheading); line-height:1.25; }
#brochure-pages :is(.season-numbers span,.season-window span,.finale-date,.matchup > strong,.join-copy > p,.booking-total strong) { font-size:var(--type-body); line-height:var(--leading-body); }
#brochure-pages :is(.film-caption,.film-label,.photo-caption,.availability-label,.entry-limit,.partner-note,.finals-note) { font-size:var(--type-label); line-height:var(--leading-body); }
#brochure-pages .division-tabs button { font-size:var(--type-button); }
#brochure-pages .contact-email { font-size:var(--type-subheading); overflow-wrap:anywhere; }
#brochure-pages .partner-photo { width:100%; height:auto; aspect-ratio:2/3; max-height:none; }
#brochure-pages .partner-photo img { width:100%; height:100%; max-height:none; object-fit:contain; }
#brochure-pages .partner-visual { max-width:none; }
#brochure-pages .season-film { width:100%; aspect-ratio:3/2; max-height:none; }
#brochure-pages .season-film img { height:100%; max-height:none; }
#brochure-pages .team-entry-layout { grid-template-columns:1fr 1fr; }
#brochure-pages #booking.booking-page { align-items:start; }
#brochure-pages .partnership-layout { grid-template-columns:.7fr 1.3fr; }
#brochure-pages .partner-investment { flex-wrap:wrap; gap:var(--space-md); }
#brochure-pages .partner-investment .tax { text-align:left; }
@media(max-width:900px) {
    #brochure-pages :is(.league-hero,.season-heading,.season-layout,.competition-layout,.finale-layout,.team-entry-layout,.partnership-layout,.join-layout) { grid-template-columns:minmax(0,1fr); }
    #brochure-pages .partnership-overview { display:contents; }
    #brochure-pages .partnership-details { display:contents; }
    #brochure-pages .partnership-heading { order:0; margin-bottom:0; }
    #brochure-pages .partnership-details > .lead { order:1; margin-bottom:0; }
    #brochure-pages .partner-visual { order:2; }
    #brochure-pages .partner-content { order:3; }
    #brochure-pages .partner-photo { aspect-ratio:2/3; }
    #brochure-pages .partner-photo img { object-fit:contain; }
    #brochure-pages .finale-date { justify-self:start; }
}
@media(max-width:640px) {
    #brochure-pages .league-hero .chapter-strip { display:flex; flex-wrap:wrap; gap:12px 18px; }
    #brochure-pages .league-hero .chapter-strip .season-summary { white-space:normal; }
    #brochure-pages .league-hero .chapter-strip .season-summary span { display:inline; }
    #brochure-pages .hero-title-line { white-space:normal; }
    #brochure-pages .entry-column { grid-template-columns:1fr; }
    #brochure-pages .season-titles > div { font-size:var(--type-body); }
}
