/* Shared editorial rhythm for school and community information pages. Route-scoped. */
.ls-editorial-page .ls-page-body { background: #fbfaf7; padding-inline: clamp(1rem, 4vw, 2rem) !important; }
.ls-editorial-page .ls-page-body > .ls-context-nav { padding-inline: 0; }
.ls-editorial-page .ls-reading-panel { padding: 0; border: 0; background: transparent; box-shadow: none; border-radius: 0; }
.ls-editorial-page .ls-reading-panel > .wp-block-post-content { max-width: none !important; }
.ls-editorial-page .wp-block-post-content > * { margin-inline: 0 !important; max-width: 780px; }
.ls-editorial-page .wp-block-post-content > :is(.ls-story-section, .ls-story-overview, .ls-story-cards, .ls-story-index, .ls-contact-grid, .ls-letter-section, .ls-letter-year) { max-width: none; }
.ls-editorial-page .wp-block-post-content p { line-height: 1.8; color: #46515d; }
.ls-editorial-page .wp-block-post-content .ls-story-lead { max-width: 850px; margin: 0 0 2rem; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.65; color: #26333d; letter-spacing: -.015em; }
.ls-editorial-page .wp-block-post-content h2 { margin: 0 0 1.5rem; font-size: clamp(1.55rem, 2.5vw, 2.1rem); line-height: 1.25; letter-spacing: -.025em; scroll-margin-top: 9rem; }
.ls-editorial-page .wp-block-post-content > h2 { margin-top: 3rem; }
.ls-editorial-page .wp-block-post-content h3 { margin: 2rem 0 1rem; line-height: 1.35; }
.ls-story-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); gap: clamp(1.5rem, 4vw, 4rem); padding-top: clamp(2rem, 4vw, 3.5rem); border-top: 1px solid #e5ded3; margin-top: clamp(2.5rem, 5vw, 4rem); }
.ls-story-section > * { min-width: 0; margin-block-start: 0 !important; }
.ls-story-prose > :first-child { margin-top: 0; }
.ls-story-prose > :last-child { margin-bottom: 0; }
.ls-story-prose p + p { margin-top: 1.25rem; }
.ls-story-prose > :is(ul,ol):not(.ls-story-cards):not(.ls-story-links):not(.ls-story-timeline) { padding-left: 1.5rem; line-height: 1.8; }
.ls-story-prose > :is(ul,ol) > li { margin-bottom: .8rem; }
.ls-story-prose li::marker { color: #a51f2d; font-weight: 650; }
.ls-story-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.ls-story-cards > li { margin: 0 !important; padding: 1.5rem; background: #fff; border: 1px solid #e5ded3; border-radius: 12px; color: #46515d; line-height: 1.75; overflow-wrap: anywhere; }
.ls-story-cards > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ls-story-cards > li > strong { display: block; margin-bottom: .6rem; color: #801722; font-size: 1.08rem; line-height: 1.45; }
.ls-story-cards > li > ul { margin: .8rem 0 0; padding-left: 1.2rem; }
.ls-story-cards > li > ul > li { margin-bottom: 0; }
.ls-story-overview { padding: clamp(1.25rem, 4vw, 3rem); margin-block: 4rem; border-radius: 16px; border: 1px solid #e5ded3; background: #f4f0e8; }
.ls-story-timeline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; padding: 0; margin: 0; list-style: none; }
.ls-story-timeline > li { position: relative; padding: .8rem 0 .8rem 1.4rem; margin: 0 !important; border-bottom: 1px solid #ded6c9; line-height: 1.65; color: #46515d; }
.ls-story-timeline > li::before { content: ''; position: absolute; left: 0; top: 1.4rem; width: 6px; height: 6px; background: #a51f2d; border-radius: 50%; }
.ls-story-links { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.ls-story-links > li { margin: 0 !important; min-width: 0; max-width: 100%; }
.ls-story-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid #d8cdc0; border-radius: 8px; background: #fff; font-size: .9rem; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.ls-story-links a:hover { background: #f4e9e6; border-color: #a51f2d; }
.ls-editorial-page .wp-block-post-content .ls-story-note { padding: 1rem 1.25rem; border-left: 3px solid #a51f2d; background: #f4f0e8; font-size: .9rem; line-height: 1.7; border-radius: 0 8px 8px 0; }
.ls-editorial-page .wp-block-post-content .ls-story-caption { font-size: .875rem; color: #596473; }
.ls-story-index { padding: 1.25rem 1.5rem; border: 1px solid #e5ded3; border-radius: 12px; background: #fff; margin-bottom: 3rem; }
.ls-story-index > summary { cursor: pointer; font-weight: 650; color: #801722; min-height: 44px; align-content: center; }
.ls-story-index .ls-story-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ls-story-index .ls-story-links a { border: 0; padding: .55rem 0; }
.ls-editorial-page :is(.wp-block-post-content a, summary):focus-visible { outline: 3px solid #a51f2d; outline-offset: 4px; }
@media (max-width: 900px) {
 .ls-story-section { grid-template-columns: 1fr; gap: 0; }
 .ls-editorial-page .wp-block-post-content .ls-story-section > h2 { margin-bottom: 1.25rem; }
}
@media (max-width: 600px) {
 .ls-story-cards, .ls-story-timeline, .ls-story-index .ls-story-links { grid-template-columns: 1fr; }
 .ls-story-cards > li { padding: 1.25rem; }
 .ls-story-overview { margin-block: 2.5rem; }
 .ls-story-links { gap: .6rem; }
}
@media (forced-colors: active) {
 .ls-story-section, .ls-story-cards > li, .ls-story-overview, .ls-story-index, .ls-story-links a { border-color: CanvasText; }
 .ls-story-timeline > li::before { background: CanvasText; }
}

/* Community contacts and native document collections. */
.ls-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-block: 2.5rem; scroll-margin-top: 9rem; }
.ls-contact-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #e5ded3; border-top: 3px solid #a51f2d; border-radius: 12px; background: #fff; min-width: 0; margin: 0 !important; }
.ls-editorial-page .wp-block-post-content .ls-contact-card h2 { font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 0 0 .5rem; }
.ls-editorial-page .wp-block-post-content .ls-contact-role { color: #801722; font-size: .95rem; line-height: 1.6; margin: 0 0 1.5rem; }
.ls-contact-line { margin: .5rem 0; overflow-wrap: anywhere; }
.ls-contact-line a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.ls-editorial-page .wp-block-post-content .ls-contact-hours { font-size: clamp(1.6rem, 3vw, 2.3rem); color: #17202c; margin-block: .5rem; }
.ls-student-list { display: flex; flex-wrap: wrap; gap: .75rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.ls-student-list > li { margin: 0 !important; padding: .65rem 1rem; border: 1px solid #e5ded3; border-radius: 8px; background: #fff; }
.ls-bank-details { border: 1px solid #e5ded3; border-radius: 12px; padding: 1.25rem 1.5rem; background: #f4f0e8; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ls-bank-details > :first-child { margin-top: 0; }
.ls-download-stack .wp-block-file { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 1.25rem; border: 1px solid #e5ded3; background: #fff; border-radius: 10px; margin: 1rem 0; font-size: 1rem; }
.ls-download-stack .wp-block-file > a:first-child { flex: 1 1 16rem; overflow-wrap: anywhere; }
.ls-download-stack .wp-block-file .wp-block-file__button { margin: 0; min-height: 44px; display: inline-flex; align-items: center; }
.ls-letter-section { margin-top: 3rem; }
.ls-letter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ls-letter-card { min-width: 0; margin: 0 !important; border: 1px solid #e5ded3; border-radius: 12px; background: #fff; padding: 1.5rem; }
.ls-editorial-page .wp-block-post-content .ls-letter-card :is(h2,h3) { font-size: 1.05rem; line-height: 1.55; color: #17202c; margin: 0 0 1rem; }
.ls-letter-card p { margin: .6rem 0 0; font-size: .9rem; }
.ls-letter-card a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; max-width: 100%; }
.ls-letter-year { padding: 1.25rem 1.5rem; margin-top: 1.25rem; border: 1px solid #e5ded3; border-radius: 12px; background: #f4f0e8; }
.ls-letter-year > summary { cursor: pointer; min-height: 44px; align-content: center; font-size: 1.15rem; line-height: 1.5; font-weight: 650; color: #801722; }
.ls-letter-year[open] > summary { margin-bottom: 1.5rem; }
@media (max-width: 700px) {
 .ls-contact-grid, .ls-letter-grid { grid-template-columns: 1fr; }
 .ls-letter-card { padding: 1.25rem; }
 .ls-letter-year { padding: 1rem; }
 .ls-bank-details { padding: 1rem; }
}
@media (forced-colors: active) {
 .ls-contact-card, .ls-letter-card, .ls-letter-year, .ls-bank-details, .ls-student-list > li { border-color: CanvasText; }
}
.ls-no-wrap { white-space: nowrap; }
.ls-letter-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ls-letter-year > summary::marker { content: '▸  '; }
.ls-letter-year[open] > summary::marker { content: '▾  '; }
.ls-contact-line a[href^="mailto:"] { flex-wrap: wrap; }
.ls-mail-part { white-space: nowrap; }
