/* Knowledge Hub — flexible page sections and page hero. */
.kh-page-hero{padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,80px)}
.kh-page-hero.is-green{background:linear-gradient(135deg,color-mix(in srgb,var(--leaf) 70%,#fff) 0%,var(--leaf) 100%);color:var(--primary)}
.kh-page-hero.is-light{background:#f3f4f2;color:var(--primary)}
.kh-page-hero.is-dark{background:var(--primary);color:#fff}
.kh-page-hero.is-dark .eyebrow,.kh-page-hero.is-dark p{color:#fff}
.kh-page-hero-grid{display:grid;gap:48px;align-items:center}
.kh-page-hero.has-image .kh-page-hero-grid{grid-template-columns:1.1fr .9fr}
.kh-page-hero h1{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.05;font-weight:700;letter-spacing:-.02em;margin:14px 0 18px}
.kh-page-hero p{max-width:620px;font-size:1.08rem;line-height:1.7}
.kh-page-hero .button-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}
.kh-page-hero-media{margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(16,43,46,.45)}
.kh-page-hero-media img{width:100%;height:100%;object-fit:cover}

.kh-sec{padding:clamp(56px,7vw,96px) 0}
.kh-sec.bg-grey{background:#f3f4f2}
.kh-sec.bg-green{background:color-mix(in srgb,var(--leaf) 28%,#fff)}
.kh-sec.bg-dark{background:var(--primary);color:#fff}
.kh-sec.bg-dark .eyebrow,.kh-sec.bg-dark h2,.kh-sec.bg-dark p{color:#fff}
.kh-sec + .kh-sec.bg-light{padding-top:clamp(32px,4vw,56px)}
.kh-sec-head{max-width:720px;margin-bottom:36px}
.kh-sec-head.is-center{margin-inline:auto;text-align:center}
.kh-sec-head h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;font-weight:700;color:inherit;margin:10px 0 14px}
.kh-sec-text{font-size:1.02rem;line-height:1.75;opacity:.88}
.kh-sec-text p+p{margin-top:12px}
.kh-sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.kh-sec-head-row .kh-sec-head{margin-bottom:28px}
.kh-sec-head-row .secondary-action{margin-bottom:32px}

.kh-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.kh-split.is-reversed>figure{order:-1}
.kh-split-media{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3}
.kh-split-media img{width:100%;height:100%;object-fit:cover}

.kh-cards{display:grid;gap:24px}
.kh-cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kh-cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kh-cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kh-card{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:18px;background:#fff;border:1px solid rgba(16,43,46,.08);color:var(--primary);transition:transform .25s ease,background .25s ease,box-shadow .25s ease;min-height:100%}
.bg-light .kh-card{background:#f7f8f6}
a.kh-card:hover{transform:translateY(-4px);background:var(--leaf);box-shadow:0 22px 40px -28px rgba(16,43,46,.5)}
.kh-card-num{font-size:.8rem;font-weight:700;letter-spacing:.14em;color:var(--sun)}
.kh-card-media{display:block;border-radius:12px;overflow:hidden;aspect-ratio:16/10;margin:-8px -8px 4px}
.kh-card-media img{width:100%;height:100%;object-fit:cover}
.kh-card strong{font-size:1.15rem;line-height:1.3}
.kh-card p{font-size:.95rem;line-height:1.6;opacity:.8}
.kh-card-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}
.kh-card-more svg,.kh-card svg{width:16px;height:16px}

.kh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kh-stat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;text-align:center;border-radius:18px;background:rgba(150,200,130,.16)}
.kh-stat strong{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;color:var(--primary);line-height:1}
.bg-dark .kh-stat strong{color:var(--leaf)}
.kh-stat>span{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}

.kh-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;counter-reset:s}
.kh-steps li{display:flex;gap:14px;align-items:flex-start;padding:22px;border-top:3px solid var(--leaf);background:rgba(16,43,46,.03);border-radius:0 0 14px 14px}
.kh-steps li>span{font-weight:700;color:var(--sun);font-size:.95rem}
.kh-steps strong{display:block;font-size:1.05rem}
.kh-steps p{margin-top:6px;font-size:.92rem;opacity:.8}

.kh-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.kh-faq details{border-bottom:1px solid rgba(16,43,46,.12);padding:20px 0}
.kh-faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;font-weight:600;font-size:1.08rem;list-style:none}
.kh-faq summary::-webkit-details-marker{display:none}
.kh-faq summary svg{width:20px;height:20px;flex:none;transition:transform .2s}
.kh-faq details[open] summary svg{transform:rotate(180deg)}
.kh-faq details>div{padding-top:12px;line-height:1.7;opacity:.85}
.kh-faq details a{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-weight:600;color:var(--sun)}
.kh-faq details a svg{width:14px;height:14px}

.kh-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.kh-logo{display:grid;place-items:center;height:110px;padding:20px;border-radius:16px;background:#fff;border:1px solid rgba(16,43,46,.08);transition:transform .2s}
.kh-logo:hover{transform:translateY(-3px)}
.kh-logo img{max-height:64px;width:auto;object-fit:contain}

.kh-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kh-post-card{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid rgba(16,43,46,.08);color:var(--primary);transition:transform .25s,box-shadow .25s}
.kh-post-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(16,43,46,.5)}
.kh-post-media{display:grid;place-items:center;aspect-ratio:4/3;background:#eef0ec;overflow:hidden}
.kh-post-media img{width:100%;height:100%;object-fit:cover}
.kh-post-media.is-logo img{object-fit:contain;padding:28px;background:#fff}
.kh-post-media b{font-size:2rem;color:var(--primary);opacity:.5}
.kh-post-copy{display:flex;flex-direction:column;gap:6px;padding:20px 22px 24px}
.kh-post-copy small{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.65}
.kh-post-copy strong{font-size:1.05rem;line-height:1.35}

.kh-quote{margin:0 auto;max-width:880px;text-align:center}
.kh-quote img{width:84px;height:84px;border-radius:50%;object-fit:cover;margin:0 auto 20px}
.kh-quote blockquote{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.45;font-weight:500}
.kh-quote figcaption{margin-top:16px;font-weight:600;color:var(--sun)}

.kh-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.kh-cta .kh-sec-head{margin:0}
.kh-cta .button-row{display:flex;gap:14px;flex-wrap:wrap}
.bg-dark .secondary-action{color:#fff;border-color:rgba(255,255,255,.5)}

@media (max-width:1024px){
	.kh-cards.cols-4,.kh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.kh-posts,.kh-cards.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
	.kh-page-hero.has-image .kh-page-hero-grid,.kh-split,.kh-faq-layout{grid-template-columns:1fr}
	.kh-split.is-reversed>figure{order:0}
	.kh-cards.cols-2,.kh-cards.cols-3,.kh-cards.cols-4,.kh-posts{grid-template-columns:1fr}
	.kh-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (prefers-reduced-motion:reduce){.kh-card,.kh-post-card,.kh-logo{transition:none}}
