/* Innova Knowledge Hub */
.kh { --kh-orange:#f25d21; --kh-orange-d:#d24a14; --kh-dark:#26282a; --kh-ink:#27272c; --kh-body:#4a4a52; --kh-muted:#6a6a72; --kh-soft:#f8f6f5; --kh-line:#ece7e8; color:var(--kh-ink); }
.kh *, .kh *::before, .kh *::after { box-sizing:border-box; }
.kh h1, .kh h2, .kh h3, .kh p, .kh ul { margin:0; }
.kh ul { padding:0; list-style:none; }
.kh .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.kh a { text-decoration:none; }

.kh-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:6px; font-weight:600; font-size:15px; border:1.5px solid transparent; cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.kh-btn--orange { background:var(--kh-orange); color:#fff; } .kh-btn--orange:hover { background:var(--kh-orange-d); color:#fff; }
.kh-btn--ghost { border-color:rgba(255,255,255,.6); color:#fff; } .kh-btn--ghost:hover { background:#fff; color:var(--kh-ink); }

.kh-label { font-size:13px; font-weight:600; letter-spacing:.56px; text-transform:uppercase; color:var(--kh-orange-d); margin-bottom:10px !important; }
.kh-label--light { color:var(--kh-orange); }
.kh-h2 { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-weight:400; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.12; }
.kh-intro { margin-top:10px !important; max-width:640px; font-size:17px; line-height:1.6; color:var(--kh-body); }
.kh-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.kh-more { flex-shrink:0; font-weight:600; color:var(--kh-ink); border-bottom:2px solid var(--kh-orange); padding-bottom:2px; }
.kh-more:hover { color:var(--kh-orange-d); }

/* Hero */
.kh-hero { position:relative; overflow:hidden; background:var(--kh-dark); color:#fff; padding:clamp(56px,8vw,112px) 0 clamp(40px,5vw,64px); }
.kh-hero::after { content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(242,93,33,.28), rgba(242,93,33,0) 70%); pointer-events:none; }
.kh-hero .container { position:relative; z-index:1; }
.kh-hero__title { max-width:900px; font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-weight:400; font-size:clamp(2.3rem,5vw,4rem); line-height:1.05; color:#fff; }
.kh-hero__title span { color:var(--kh-orange); }
.kh-hero__intro { margin-top:18px !important; max-width:720px; font-size:18px; line-height:1.6; color:rgba(255,255,255,.82); }
.kh-search { display:flex; gap:10px; max-width:760px; margin-top:30px; }
.kh-search__input { flex:1; min-width:0; height:56px; padding:0 18px; border-radius:8px; border:1.5px solid transparent; font:inherit; font-size:16px; color:var(--kh-ink); background:#fff; }
.kh-search__input:focus { outline:none; border-color:var(--kh-orange); box-shadow:0 0 0 3px rgba(242,93,33,.35); }
.kh-search .kh-btn { min-height:56px; }
.kh-quick { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.kh-quick__chip { padding:8px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.9); font-size:14px; font-weight:500; }
.kh-quick__chip:hover { border-color:var(--kh-orange); color:#fff; background:rgba(242,93,33,.15); }
.kh-stats { display:flex; flex-wrap:wrap; gap:10px 32px; margin-top:40px !important; padding-top:24px !important; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.72); font-size:15px; }
.kh-stats strong { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-weight:400; font-size:28px; color:#fff; margin-right:4px; }

/* Sections */
.kh-section { padding:clamp(48px,6vw,88px) 0; }
.kh-section--soft { background:var(--kh-soft); }
.kh-section--dark { background:var(--kh-dark); color:#fff; }
.kh-section--dark .kh-h2 { color:#fff; } .kh-section--dark .kh-intro { color:rgba(255,255,255,.75); }
.kh-section--dark .kh-label { color:var(--kh-orange); } .kh-section--dark .kh-more { color:#fff; }
.kh-section--tools { padding:0; margin-top:-1px; background:linear-gradient(var(--kh-dark) 50%, #fff 50%); }

/* Tools */
.kh-tools { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.kh-tool { position:relative; display:flex; flex-direction:column; gap:6px; padding:22px 56px 22px 22px; border-radius:16px; background:#fff; color:var(--kh-ink); box-shadow:0 18px 40px -24px rgba(0,0,0,.45); border:1px solid var(--kh-line); transition:transform .2s, border-color .2s; }
.kh-tool:hover { transform:translateY(-2px); border-color:var(--kh-orange); }
.kh-tool__label { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; color:var(--kh-orange-d); }
.kh-tool__title { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-size:1.3rem; line-height:1.2; }
.kh-tool__text { font-size:14px; line-height:1.5; color:var(--kh-muted); }
.kh-tool__go { position:absolute; right:18px; top:22px; display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:50%; background:var(--kh-orange); color:#fff; }

/* Roles */
.kh-roles { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.kh-role { display:flex; flex-direction:column; gap:10px; padding:22px; border-radius:16px; border:1px solid var(--kh-line); background:#fff; color:var(--kh-ink); transition:border-color .2s, box-shadow .2s; }
.kh-role:hover { border-color:var(--kh-orange); box-shadow:0 14px 30px -20px rgba(0,0,0,.35); }
.kh-role__title { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-size:1.25rem; line-height:1.2; }
.kh-role__text { font-size:14px; line-height:1.55; color:var(--kh-muted); flex:1; }
.kh-role__go { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; color:var(--kh-orange-d); }

/* Generic cards */
.kh-cards { display:grid; gap:22px; } .kh-cards--3 { grid-template-columns:repeat(3,1fr); }
.kh-card { display:flex; flex-direction:column; border-radius:16px; overflow:hidden; background:#fff; color:var(--kh-ink); border:1px solid var(--kh-line); transition:transform .2s, box-shadow .2s; }
.kh-card:hover { transform:translateY(-2px); box-shadow:0 16px 32px -20px rgba(0,0,0,.4); }
.kh-card__media { position:relative; display:block; aspect-ratio:16/10; background:#e9e5e3; overflow:hidden; }
.kh-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.kh-card:hover .kh-card__media img { transform:scale(1.03); }
.kh-card__body { display:flex; flex-direction:column; gap:8px; padding:18px 20px 22px; }
.kh-card__meta { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; color:var(--kh-orange-d); }
.kh-card__title { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-size:1.25rem; line-height:1.25; }
.kh-card__text { font-size:15px; line-height:1.55; color:var(--kh-body); }
.kh-card--dark { background:#313336; border-color:#3a3c40; color:#fff; } .kh-card--dark .kh-card__text { color:rgba(255,255,255,.72); } .kh-card--dark .kh-card__meta { color:var(--kh-orange); }
.kh-badge { position:absolute; left:14px; top:14px; padding:6px 10px; border-radius:999px; background:rgba(20,20,22,.78); color:#fff; font-size:12px; font-weight:600; }
.kh-badge--live { background:var(--kh-orange); }
.kh-play { position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--kh-orange); color:#fff; box-shadow:0 10px 24px -8px rgba(0,0,0,.6); transition:transform .2s; }
.kh-card--video:hover .kh-play { transform:scale(1.08); }

/* Events and CPD */
.kh-split .kh-h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.kh-split { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.kh-events { display:flex; flex-direction:column; gap:10px; }
.kh-event { display:flex; align-items:center; gap:16px; padding:14px 16px; border-radius:14px; border:1px solid var(--kh-line); color:var(--kh-ink); transition:border-color .2s; }
.kh-event:hover { border-color:var(--kh-orange); }
.kh-event__date { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:58px; border-radius:12px; background:var(--kh-dark); color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.kh-event__date strong { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-weight:400; font-size:22px; line-height:1; text-transform:none; }
.kh-event__body { flex:1; display:flex; flex-direction:column; gap:3px; }
.kh-event__title { font-weight:600; }
.kh-event__meta { font-size:14px; color:var(--kh-muted); }
.kh-event__go { color:var(--kh-orange-d); }
.kh-cpd { display:flex; flex-direction:column; gap:10px; }
.kh-cpd__item { display:flex; align-items:center; gap:16px; padding:10px; border-radius:14px; border:1px solid var(--kh-line); color:var(--kh-ink); transition:border-color .2s; }
.kh-cpd__item:hover { border-color:var(--kh-orange); }
.kh-cpd__thumb { flex-shrink:0; width:96px; height:66px; border-radius:10px; overflow:hidden; background:#e9e5e3; }
.kh-cpd__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.kh-cpd__body { display:flex; flex-direction:column; gap:3px; }
.kh-cpd__label { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; color:var(--kh-orange-d); }
.kh-cpd__title { font-weight:600; line-height:1.35; }

/* Gallery mosaic */
.kh-mosaic { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:12px; }
.kh-tile { position:relative; display:block; border-radius:14px; overflow:hidden; background:#e9e5e3; color:#fff; }
.kh-tile img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.kh-tile:hover img { transform:scale(1.05); }
.kh-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%, rgba(0,0,0,.72)); }
.kh-tile__title { position:absolute; left:14px; right:14px; bottom:12px; z-index:1; font-weight:600; font-size:15px; line-height:1.3; }
.kh-tile--0 { grid-column:span 2; grid-row:span 2; } .kh-tile--0 .kh-tile__title { font-size:20px; }
.kh-tile--3 { grid-row:span 2; }

/* Insights topics */
.kh-topics { display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 24px; }
.kh-topic { padding:8px 14px; border-radius:999px; border:1.5px solid #e3dede; background:#fff; color:var(--kh-ink); font-size:14px; font-weight:600; }
.kh-topic:hover { border-color:var(--kh-ink); }

/* CTA */
.kh-cta { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(28px,4vw,48px); border-radius:20px; background:var(--kh-dark); color:#fff; }
.kh-cta__title { font-family:var(--font-aeonik, Aeonik, Inter, sans-serif); font-weight:400; font-size:clamp(1.6rem,2.6vw,2.2rem); line-height:1.15; color:#fff; max-width:640px; }
.kh-cta__text { margin-top:10px !important; color:rgba(255,255,255,.8); max-width:620px; }
.kh-cta__actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }

.kh a:focus-visible, .kh button:focus-visible { outline:3px solid var(--kh-orange); outline-offset:2px; }

@media (max-width: 1100px) { .kh-roles { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 900px) {
    .kh-cards--3 { grid-template-columns:repeat(2,1fr); }
    .kh-split { grid-template-columns:1fr; gap:48px; }
    .kh-mosaic { grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
    .kh-tile--3 { grid-row:auto; }
    .kh-cta { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 640px) {
    .kh-roles, .kh-cards--3 { grid-template-columns:1fr; }
    .kh-search { flex-direction:column; } .kh-search__input { flex:none; width:100%; }
    .kh-head { flex-direction:column; align-items:flex-start; gap:12px; }
    .kh-stats strong { font-size:22px; }
    .kh-mosaic { grid-auto-rows:150px; }
}
