/* Approved local knowledge-library.js / knowledge.css composition, scoped to Knowledge. */
.library-intro { max-width: 800px; margin-bottom: 62px; }
.library-intro h1, .knowledge-article-header h1 { font-size: clamp(58px, 6.5vw, 88px); margin-bottom: 28px; }
.library-intro .prose { max-width: 610px; font-size: 16px; }
.library-divider { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 22px; margin-bottom: 44px; font-size: 10px; letter-spacing: .14em; }
.library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 58px 32px; }
.library-tile { min-width: 0; display: block; overflow-wrap: anywhere; }
.library-photo img { width: 100%; height: auto; aspect-ratio: 1.4; object-fit: cover; border-radius: var(--radius); }
.library-tile .library-photo { margin-bottom: 24px; }
.library-tile .eyebrow { font-size: 9px; margin-bottom: 12px; }
.library-tile-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.library-tile h2 { font-size: 32px; margin-bottom: 14px; letter-spacing: -.015em; }
.library-tile-title .arrow-icon { align-self: flex-start; margin-top: 10px; transition: transform var(--transition); }
.library-tile:hover .arrow-icon { transform: translate(3px,-3px); }
.library-tile:hover h2 { color: #93482f; }
.library-tile:focus-visible { outline: 2px solid var(--forest); outline-offset: 8px; border-radius: 3px; }
.library-description { color: var(--muted); font-size: 14px; line-height: 1.85; margin-bottom: 13px; }
.library-categories { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 30px; font-size: 13px; }
.library-categories a:hover, .library-categories [aria-current] { text-decoration: underline; text-underline-offset: 6px; color: #93482f; }
.library-pagination { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 60px; font-size: 14px; }
.library-pagination [aria-current] { text-decoration: underline; text-underline-offset: 6px; }
.library-empty { max-width: 650px; }
.library-landing { position: relative; }
.library-results[aria-busy="true"] { cursor: progress; }
.library-feedback { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); margin: 0; }
.library-feedback.is-loading { width: auto; height: auto; overflow: visible; clip-path: none; transform: translateY(-25px); font-size: 12px; color: var(--muted); }
.sv-knowledge-detail .knowledge-article { padding-block: clamp(50px, 7vw, 90px) var(--section-space); }
.knowledge-article-header { max-width: 860px; margin-bottom: 45px; overflow-wrap: anywhere; }
.knowledge-breadcrumb { display: inline-block; font-size: 12px; margin-bottom: 38px; color: var(--muted); }
.knowledge-breadcrumb:hover { text-decoration: underline; text-underline-offset: 5px; }
.knowledge-article-header .prose { max-width: 640px; }
.knowledge-general-hero { max-width: 800px; margin-bottom: 65px !important; }
.knowledge-general-hero img { display: block; width: auto; max-width: 100%; height: auto; border-radius: var(--radius); }
.knowledge-reading-layout.has-toc { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, .85fr); column-gap: var(--content-gap); align-items: start; }
.knowledge-reading-main { grid-column: 1; grid-row: 1; min-width: 0; max-width: 750px; }
.knowledge-toc { grid-column: 2; grid-row: 1; position: sticky; top: 50px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; }
.knowledge-toc summary { font-family: var(--heading); font-size: 25px; cursor: pointer; }
.knowledge-toc nav { display: grid; gap: 12px; margin-top: 20px; max-height: 70vh; overflow: auto; padding: 4px; }
.knowledge-toc nav a { color: var(--muted); }
.knowledge-toc nav a:hover { color: #93482f; text-decoration: underline; text-underline-offset: 4px; }
.knowledge-native { font-size: 16px; line-height: 1.9; color: var(--muted); overflow-wrap: anywhere; }
.knowledge-native h2 { font-size: 42px; margin-top: 65px; margin-bottom: 28px; color: var(--charcoal); }
.knowledge-native h2:first-child { margin-top: 0; }
.knowledge-native h3 { font-size: 29px; margin: 36px 0 20px; color: var(--charcoal); }
.knowledge-native h4, .knowledge-native h5, .knowledge-native h6 { font-family: var(--heading); font-size: 22px; font-weight: 500; margin: 28px 0 16px; color: var(--charcoal); }
.knowledge-native p { margin-bottom: 25px; }
.knowledge-native ul, .knowledge-native ol { padding-left: 23px; margin-bottom: 30px; }
.knowledge-native li { margin-bottom: 9px; }
.knowledge-native a { text-decoration: underline; text-underline-offset: 4px; color: var(--charcoal); }
.knowledge-native img { max-width: 100%; height: auto; border-radius: 10px; }
.knowledge-native figure { max-width: 100%; margin-block: 35px; }
.knowledge-native figcaption { font-size: 12px; }
.knowledge-native blockquote { margin: 30px 0; padding: 14px 0 14px 24px; border-left: 2px solid #93482f; color: var(--charcoal); }
.knowledge-native blockquote p:last-child { margin-bottom: 0; }
.knowledge-table-scroll, .knowledge-native .wp-block-table { overflow-x: auto; max-width: 100%; margin-block: 28px; }
.knowledge-native table { width: 100%; border-collapse: collapse; font-size: 14px; }
.knowledge-native th, .knowledge-native td { text-align: left; padding: 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.knowledge-article-footer { border-top: 1px solid var(--line); margin-top: 70px; padding-top: 35px; }
/* Same outer measure/gutters as .wrap, without applying global resets to widgets. */
.sv-knowledge-canvas { width: min(var(--page-max), calc(100% - 112px)); margin-inline: auto; min-width: 0; }
.sv-knowledge-elementor { min-width: 0; overflow-wrap: anywhere; font-family: var(--sans); color: var(--muted); font-size: 16px; line-height: 1.9; }
/* Beat Elementor's generic widget defaults, but remain below its per-document
   .elementor-ID .elementor-element.elementor-element-ID selectors. No !important.
   Text rules stay on widgets: paragraphs/lists inherit authored widget settings. */
.sv-knowledge-elementor .elementor-widget-heading .elementor-heading-title { font-family: var(--heading); color: var(--charcoal); font-weight: 600; line-height: 1.08; letter-spacing: -.015em; }
.sv-knowledge-elementor .elementor-widget-heading .elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: 42px; }
.sv-knowledge-elementor .elementor-widget-heading h1.elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: clamp(58px, 6.5vw, 88px); }
.sv-knowledge-elementor .elementor-widget-heading h3.elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: 29px; }
.sv-knowledge-elementor .elementor-widget-heading :where(h4,h5,h6).elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: 22px; }
.sv-knowledge-elementor .elementor-widget-text-editor { font-family: var(--sans); font-size: 16px; font-weight: 400; line-height: 1.9; color: var(--muted); }
.sv-knowledge-elementor .elementor-widget-text-editor :where(p) { margin-block: 0 25px; }
.sv-knowledge-elementor .elementor-widget-text-editor :where(ul,ol) { padding-inline-start: 23px; margin-block: 0 30px; }
.sv-knowledge-elementor .elementor-widget-text-editor :where(li) { margin-bottom: 9px; }
.sv-knowledge-elementor .elementor-widget-text-editor :where(a) { color: var(--charcoal); text-decoration: underline; text-underline-offset: 4px; }
.sv-knowledge-elementor .elementor-widget-text-editor :where(a:focus-visible) { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 1100px) { .sv-knowledge-canvas { width: calc(100% - 80px); } }
@media (max-width: 1000px) { .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .knowledge-reading-layout.has-toc { column-gap: 40px; } }
@media (max-width: 700px) {
 .knowledge-reading-layout.has-toc { grid-template-columns: minmax(0,1fr); gap: 35px; }
 .knowledge-toc { grid-column: 1; grid-row: 1; position: static; }
 .knowledge-reading-main { grid-column: 1; grid-row: 2; }
 .knowledge-toc nav { max-height: 260px; }
}
@media (max-width: 640px) {
 .sv-knowledge-canvas { width: calc(100% - 44px); }
 .sv-knowledge-elementor .elementor-widget-heading h1.elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: clamp(50px, 12vw, 66px); }
 .sv-knowledge-elementor .elementor-widget-heading h2.elementor-heading-title:where(.elementor-size-default, :not([class*="elementor-size-"])) { font-size: 36px; }
 .library-grid { grid-template-columns: minmax(0,1fr); gap: 44px; }
 .library-intro h1, .knowledge-article-header h1 { font-size: clamp(50px, 12vw, 66px); }
 .library-intro { margin-bottom: 42px; }
 .knowledge-general-hero { margin-bottom: 40px !important; }
 .knowledge-native h2 { font-size: 36px; }
}
