/* Topic layouts extend the shared corporate shell, typography and controls. */
.ism-en-topics-body .ism-en-topic-brand > span { min-width:0; }
.ism-en-topics-body .ism-en-topic-brand-subtitle { display:block; margin-top:.2rem; color:var(--ism-billing-muted); font-size:.78rem; font-weight:400; line-height:1.4; }
.ism-en-topics-body .ism-en-nav { min-width:0; }
.ism-en-topics-body .ism-en-content { min-width:0; }
.ism-en-topics-body .ism-en-topic-description { max-width:68ch; font-size:1.1rem; line-height:1.7; }
.ism-en-topics-body .ism-en-topic-description:last-child { margin-bottom:0; }
.ism-en-topics-body .ism-en-topic-intro,
.ism-en-topics-body .ism-en-topic-section {
    min-width:0;
    margin:0 0 1.5rem;
    padding:clamp(1.25rem,2.6vw,2rem);
    border:1px solid var(--ism-billing-border);
    border-radius:var(--ism-billing-radius);
    background:var(--ism-billing-surface);
    box-shadow:0 .4rem 1.4rem rgba(72,43,22,.035);
}
.ism-en-topics-body .ism-en-topic-intro > p,
.ism-en-topics-body .ism-en-topic-section > p { max-width:78ch; }
.ism-en-topics-body .ism-en-topic-intro > :last-child,
.ism-en-topics-body .ism-en-topic-section > :last-child { margin-bottom:0; }
.ism-en-topics-body .ism-en-topic-section h2 { scroll-margin-top:1.5rem; }
.ism-en-topics-body .ism-en-topic-section h3 { font-size:1.1rem; }
.ism-en-topics-body .ism-en-topic-anchors { flex-wrap:wrap; margin-bottom:1.5rem; }
.ism-en-topics-body .ism-en-topic-anchors a { flex:0 1 auto; white-space:normal; }
.ism-en-topics-body .ism-en-topic-access {
    min-width:0;
    margin:0 0 1.5rem;
    padding:clamp(1.25rem,2.6vw,2rem);
    border:1px solid var(--ism-billing-border);
    border-left:.25rem solid var(--ism-billing-brand-orange);
    border-radius:var(--ism-billing-radius);
    background:var(--ism-billing-surface-soft);
    color:var(--ism-billing-text);
}
.ism-en-topics-body .ism-en-topic-access p { max-width:78ch; font-size:.94rem; }
.ism-en-topics-body .ism-en-topic-access > :last-child { margin-bottom:0; }
.ism-en-topics-body .ism-en-topic-section.ism-en-topic-navigation { padding:0; border:0; background:transparent; box-shadow:none; }
.ism-en-topics-body .ism-en-topic-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:1.1rem;
    margin:1rem 0 0;
    padding:0;
    list-style:none;
}
.ism-en-topics-body .ism-en-topic-grid > li {
    min-width:0;
    margin:0;
    padding:clamp(1.25rem,2.2vw,1.75rem);
    border:1px solid var(--ism-billing-border);
    border-radius:var(--ism-billing-radius);
    background:var(--ism-billing-surface);
    box-shadow:0 .4rem 1.4rem rgba(72,43,22,.035);
}
.ism-en-topics-body .ism-en-topic-grid h3 { margin:0 0 .65rem; font-size:1.1rem; line-height:1.4; }
.ism-en-topics-body .ism-en-topic-grid h3 a { display:inline-block; }
.ism-en-topics-body .ism-en-topic-grid p { margin:0; color:var(--ism-billing-muted); font-size:.92rem; line-height:1.7; }
.ism-en-topics-body .ism-en-topic-records {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
    margin:1.25rem 0 0;
    padding:0;
    list-style:none;
}
.ism-en-topics-body .ism-en-topic-records > li { min-width:0; margin:0; padding:1rem 1.15rem; border:1px solid var(--ism-billing-border); border-radius:.9rem; background:var(--ism-billing-canvas); }
.ism-en-topics-body .ism-en-topic-records a { display:inline-block; font-weight:600; line-height:1.5; }
.ism-en-topics-body .ism-en-topic-ingredient { display:block; margin-top:.4rem; color:var(--ism-billing-muted); font-size:.82rem; line-height:1.6; }
.ism-en-topics-body .ism-en-topic-sources ul { margin:0 0 1.25rem; padding-left:1.2rem; }
.ism-en-topics-body .ism-en-topic-sources li + li { margin-top:.65rem; }
.ism-en-topics-body .ism-en-topic-sources p { color:var(--ism-billing-muted); font-size:.86rem; }
.ism-en-topics-body .ism-en-content > :last-child { margin-bottom:0; }
.ism-en-topics-body :is(.ism-en-topic-grid,.ism-en-topic-records) :is(h3,p,a,span) { overflow-wrap:anywhere; }

@media (min-width:65rem) {
    .ism-en-topics-body .ism-en-topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:44rem) {
    .ism-en-topics-body .ism-en-topic-grid,
    .ism-en-topics-body .ism-en-topic-records { grid-template-columns:minmax(0,1fr); }
    .ism-en-topics-body .ism-en-topic-description { font-size:1rem; }
    .ism-en-topics-body .ism-en-topic-access .ism-billing-button { width:100%; }
}
@media (max-width:24rem) {
    .ism-en-topics-body .ism-en-topic-intro,
    .ism-en-topics-body .ism-en-topic-section,
    .ism-en-topics-body .ism-en-topic-access,
    .ism-en-topics-body .ism-en-topic-grid > li { padding:1rem; }
    .ism-en-topics-body .ism-en-topic-section.ism-en-topic-navigation { padding:0; }
}
@media print {
    .ism-en-topics-body .ism-en-topic-anchors { display:none; }
    .ism-en-topics-body .ism-en-topic-grid,
    .ism-en-topics-body .ism-en-topic-records { grid-template-columns:minmax(0,1fr); }
    .ism-en-topics-body .ism-en-topic-intro,
    .ism-en-topics-body .ism-en-topic-section,
    .ism-en-topics-body .ism-en-topic-access,
    .ism-en-topics-body .ism-en-topic-grid > li,
    .ism-en-topics-body .ism-en-topic-records > li { background:var(--ism-billing-surface); box-shadow:none; }
    .ism-en-topics-body .ism-en-topic-grid > li,
    .ism-en-topics-body .ism-en-topic-records > li { break-inside:avoid; }
    .ism-en-topics-body .ism-en-topic-section h2 { break-after:avoid; }
}

/* Preserve the corporate responsive heading scale against theme-wide fixed sizes. */
body.ism-billing-body.ism-en-topics-body h1 { font-size:clamp(1.875rem,4.7vw,3rem) !important; line-height:1.2 !important; }
body.ism-billing-body.ism-en-topics-body h2 { font-size:clamp(1.3rem,2.3vw,1.75rem) !important; line-height:1.3 !important; }
