/* Loaded only by the shared event-brand homepage in Style2027. Hero and shell
   remain under their existing styles; all new rules belong to the page body. */
.brand-home-content {
    --brand-link-color: color-mix(in srgb, var(--content-accent-color) 65%, #202124);
    color: var(--code-color-heading);
    font-family: var(--code-font-ui);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.brand-home-content *,
.brand-home-content *::before,
.brand-home-content *::after {
    box-sizing: border-box;
}

.brand-content-inner,
#page .brand-introduction {
    width: 100%;
    max-width: var(--content-pattern-max-width);
    margin: 0 auto;
    padding: 3.5rem var(--content-pattern-gutter);
}

#page .brand-introduction {
    display: block;
}

#page .brand-home-content h2 {
    margin: 0 0 1rem;
    padding: 0;
    color: var(--code-color-heading);
    font-family: var(--code-font-heading);
    font-size: var(--content-pattern-title-size);
    font-weight: var(--code-font-weight-bold);
    line-height: var(--code-line-height-heading);
    text-align: start;
    text-transform: none;
}

#page .brand-home-content p {
    margin: 0 0 1rem;
    font-size: 1rem;
    line-height: 1.6;
    text-align: start;
}

#page .brand-home-content .brand-eyebrow {
    margin: 0 0 .4rem;
    color: var(--brand-link-color);
    font-size: var(--code-font-size-small);
    font-weight: var(--code-font-weight-bold);
    letter-spacing: .035em;
    text-transform: uppercase;
}

#page .brand-home-content .brand-section-lead {
    margin-bottom: 2rem;
    font-size: var(--code-font-size-content);
}

.brand-home-content a,
.brand-home-content a:visited {
    color: var(--brand-link-color);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.brand-home-content a:hover {
    text-decoration-thickness: 2px;
}

.brand-home-content :is(a, summary):focus-visible {
    outline: 3px solid var(--code-color-action);
    outline-offset: 4px;
}

.brand-benefits {
    border-bottom: 1px solid #dfe3e6;
}

#page .brand-benefits ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    padding-block: 1.5rem;
    list-style: none;
}

#page .brand-benefits li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: var(--code-font-weight-semibold);
    line-height: 1.4;
}

.brand-benefits li + li {
    border-inline-start: 1px solid #dfe3e6;
}

.brand-benefits i {
    font-size: 1.5rem;
}

.brand-introduction .content-summary {
    padding: 1.75rem;
    border: 0;
    border-radius: 8px;
    background: #f2f3f4;
}

#page .brand-introduction .icon-list > li {
    font-size: .95rem;
}

#page .brand-introduction .icon-list > li + li {
    border-top: 1px solid #d8dde0;
    padding-top: 1rem;
}

.brand-authored-content > :last-child {
    margin-bottom: 0;
}

.brand-authored-content :is(img, video, iframe) {
    max-width: 100%;
}

.brand-upcoming {
    background: color-mix(in srgb, var(--content-accent-color) 8%, white);
}

.brand-event-grid,
.brand-quote-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.brand-event-grid {
    align-items: stretch;
    margin-top: 2rem;
}

.brand-event-card,
.brand-recording-card {
    min-width: 0;
    background: white;
    border-radius: 8px;
}

.brand-event-card {
    display: flex;
    flex-direction: column;
    padding: .75rem;
}

.brand-card-art {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 6px;
    background: #edf0f2;
}

.brand-card-art img {
    display: block;
    width: 100%;
    height: auto;
}

.brand-card-body {
    padding: 1rem;
}

.brand-event-card > .brand-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

#page .brand-card-body h3 {
    margin: 0 0 .75rem;
    padding: 0;
    color: var(--code-color-heading);
    font-family: var(--code-font-heading);
    font-size: 1.35rem;
    font-weight: var(--code-font-weight-bold);
    line-height: 1.25;
    text-align: start;
}

.brand-card-body h3 a,
.brand-card-body h3 a:visited {
    color: inherit;
    text-decoration: none;
}

#page .brand-home-content .brand-event-meta {
    margin-bottom: .5rem;
    color: #50565c;
    font-size: .8rem;
    font-weight: var(--code-font-weight-semibold);
    text-transform: uppercase;
}

.brand-event-abstract {
    margin-bottom: 1rem;
}

.brand-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
    margin-top: auto;
    padding-top: .5rem;
}

.brand-home-content .brand-text-link {
    font-weight: var(--code-font-weight-semibold);
}

.brand-home-content .brand-button,
.brand-home-content .brand-button:visited {
    display: inline-block;
    padding: .65rem 1.25rem;
    border-radius: 5px;
    color: #202124;
    background: var(--code-color-action);
    font-weight: var(--code-font-weight-semibold);
    text-decoration: none;
}

.brand-home-content .brand-button:hover {
    background: var(--code-color-action-hover);
}

.brand-recording-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.brand-recording-card {
    border: 1px solid #e0e4e7;
    overflow: hidden;
}

.brand-home-content .brand-recording-link {
    display: flex;
    height: 100%;
    flex-direction: column;
    text-decoration: none;
}

.brand-recording-link .brand-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: start;
}

#page .brand-recording-card h3 {
    font-size: 1.05rem;
}

.brand-recording-meta {
    margin-top: auto;
    color: #50565c;
    font-size: .875rem;
}

.brand-recording-link .brand-text-link {
    margin-top: .25rem;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.brand-more-recordings {
    margin-top: 2rem;
}

.brand-more-recordings > summary,
.brand-more-testimonials > summary {
    width: fit-content;
    margin: 0 auto;
    padding: .65rem 1.25rem;
    border: 1px solid var(--brand-link-color);
    border-radius: 5px;
    color: var(--brand-link-color);
    font-weight: var(--code-font-weight-semibold);
    cursor: pointer;
}

.brand-more-recordings[open] > summary,
.brand-more-testimonials[open] > summary {
    margin-bottom: 2rem;
}

.brand-related {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem 1rem;
    margin-top: 2rem;
    font-size: .875rem;
}

.brand-related a {
    font-weight: var(--code-font-weight-semibold);
}

.brand-testimonials {
    background: #f2f3f4;
}

.brand-quote-grid {
    margin-top: 2rem;
    gap: 2rem 3rem;
}

.brand-quote-grid figure {
    min-width: 0;
    margin: 0;
}

#page .brand-quote-grid blockquote {
    margin: 0 0 1rem;
    padding: 0;
    border: 0;
    background: transparent;
}

#page .brand-quote-grid blockquote p {
    font-family: var(--code-font-editorial);
    font-size: 1.25rem;
    font-style: italic;
    line-height: 1.5;
}

.brand-quote-grid figcaption {
    font-size: .875rem;
}

.brand-quote-grid figcaption :is(strong, span) {
    display: block;
}

.brand-more-testimonials {
    margin-top: 2rem;
}

@media (max-width: 900px) {
    .brand-recording-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .brand-content-inner,
    #page .brand-introduction {
        padding: 2.5rem 1.25rem;
    }

    #page .brand-benefits ul,
    .brand-event-grid,
    .brand-recording-grid,
    .brand-quote-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    #page .brand-benefits li {
        justify-content: start;
    }

    .brand-benefits li + li {
        border-inline-start: 0;
    }

    .brand-introduction .content-summary {
        padding: 1.25rem;
    }
}
