/* jx-km: AI knowledge management landing page. Generated by scripts/services/km_page.py. Builds on jx-products.css (.fh) */
.km{--km-amber:#F5A524}
.km .fh-sec{padding:96px 0}
.km-head{max-width:720px;margin:0 0 48px}
.km-center{margin-left:auto;margin-right:auto;text-align:center}
.km h2{font-size:clamp(30px,3.6vw,44px)}

/* hero */
.km-hero{padding:72px 0 96px}
.km-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.km-hero .fh-h1{font-size:clamp(38px,4.8vw,60px)}
.km-trust{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.km-trust li{display:flex;align-items:center;gap:8px;font-size:14px;color:#d9d2ec}
.km-ok{width:18px;height:18px;flex:none}
.km-ok circle{fill:rgba(167,139,250,.22)}
.km-ok path{fill:none;stroke:#a78bfa;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.km-hero-vis{position:relative}
.km-frame{transform:none}
@media (min-width:1200px){.km-hero-vis .km-frame{width:calc(100% + 120px)}}
.km-chip{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;padding:10px 14px;border-radius:999px;box-shadow:0 18px 40px -12px rgba(18,10,36,.55);white-space:nowrap}
.km-chip .km-ok circle{fill:#EDE7FF}.km-chip .km-ok path{stroke:var(--p)}
.km-chip b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#FFF1D6;color:#B45309;font-size:12px}
.km-chip1{left:-18px;bottom:22%;animation:km-float 6s ease-in-out infinite}
.km-chip2{right:6%;top:-16px;animation:km-float 6s ease-in-out -3s infinite}
@keyframes km-float{50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.km-chip{animation:none}}

/* problem */
.km-probs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.km-probs li{text-align:left}
.km-probs h3{font-size:22px;margin:18px 0 8px}
.km-probs p{font-size:17px;line-height:1.6;color:var(--mut);margin:0}
.km-ill{width:96px;height:96px}
.km-f1{fill:#EDE7FF}.km-f2{fill:#C4B5FD}.km-f3{fill:var(--p)}
.km-s{fill:none;stroke:var(--p);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.km-o{opacity:.45}.km-thick{stroke-width:4}
.km-s2{fill:none;stroke:var(--km-amber);stroke-width:2.6;stroke-linecap:round}
.km-paper{fill:#fff;stroke:var(--km-amber);stroke-width:2}
.km-glass{fill:rgba(255,255,255,.85);stroke:var(--p);stroke-width:3.5}
.km-dot{fill:var(--p)}

/* how it works */
.km-steps{display:flex;flex-direction:column;gap:88px}
.km-step{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.km-flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.km-flip .km-step-copy{order:2}
.km-step h3{font-size:clamp(24px,2.4vw,30px);line-height:1.2;margin:0 0 14px}
.km-badge{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p2);margin:0 0 16px}
.km-badge span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--p);color:#fff;letter-spacing:0;font-size:14px}
.km-bul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.km-bul li{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--ink)}
.km-bul .km-ok circle,.km-path .km-ok circle{fill:#EDE7FF}.km-bul .km-ok path{stroke:var(--p)}
.km-shot{transition:transform .4s}
.km-step:hover .km-shot{transform:translateY(-4px)}

/* outcomes */
.km-out{background:radial-gradient(700px 400px at 85% 0%,rgba(124,58,237,.5),transparent 60%),var(--ink);color:#fff;padding:96px 0}
.km-out .fh-k{color:#c4b5fd}
.km-out h2{color:#fff;max-width:760px}
.km-outs{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.km-outs li{font-size:20px;line-height:1.5;color:#d9d2ec;padding:28px 0 0;border-top:2px solid rgba(196,181,253,.35)}
.km-outs strong{display:block;font-size:26px;color:#fff;margin-bottom:6px}
.km-out-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:56px;padding:28px 32px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(196,181,253,.25)}
.km-out-cta p{margin:0;font-size:22px;font-weight:700;color:#fff}

/* security */
.km-sec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}
.km-diag{width:100%;height:auto;display:block}
.km-box{fill:#F6F3FD;stroke:var(--p3);stroke-width:2;stroke-dasharray:8 7}
.km-boxt{font:700 15px "DM Sans",Arial,sans-serif;fill:var(--p2)}
.km-shield{fill:var(--p)}
.km-pill{fill:#fff;stroke:var(--p3);stroke-width:1.5}
.km-n{fill:#fff;stroke:#d8cdf6;stroke-width:1.5}
.km-n.km-core{fill:var(--p);stroke:var(--p)}
.km-n.km-ext{fill:#fff;stroke:#bdb4cf;stroke-dasharray:5 5}
.km-t{font:600 13px "DM Sans",Arial,sans-serif;fill:var(--ink)}
.km-t.km-core{fill:#fff;font-size:17px;font-weight:700}
.km-t.km-sm{font-weight:500;fill:var(--mut)}
.km-l{fill:none;stroke:var(--p3);stroke-width:2.5}
.km-ld{stroke-dasharray:6 6;stroke:#bdb4cf}
.km-lock{fill:var(--km-amber)}
.km-lockb{fill:none;stroke:var(--km-amber);stroke-width:2.5}

/* start path */
.km-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative}
.km-path:before{content:"";position:absolute;top:27px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,var(--p3),var(--p))}
.km-path li{position:relative;text-align:center;padding:0 12px}
.km-sn{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#fff;border:2px solid var(--p);color:var(--p);font-weight:700;font-size:20px;position:relative}
.km-path li:first-child .km-sn{background:var(--p);color:#fff}
.km-path h3{font-size:20px}
.km-path p{font-size:16px;line-height:1.6;color:var(--mut);margin:0}

/* faq + end */
.km-faq h2{text-align:center}
.km-faq .fh-narrow{margin:0 auto}
.km-end{padding:0 0 110px}
.km-end-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;padding:48px;border-radius:24px;background:linear-gradient(135deg,#F6F3FD,#fff);border:1px solid var(--line);box-shadow:0 30px 70px -40px rgba(108,60,225,.45)}
.km-end-card img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 12px 30px -10px rgba(18,10,36,.35)}
.km-end-card h2{font-size:clamp(26px,2.8vw,34px);margin-bottom:12px}
.km-end-card p{font-size:17px;line-height:1.6;color:var(--mut);margin:0 0 10px}
.km-sig{margin-bottom:24px!important;color:var(--ink)!important}

@media (max-width:991px){
 .km .fh-sec,.km-out{padding:72px 0}
 .km-hero-grid,.km-step,.km-sec-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .km-frame{transform:none}
 .km-flip .km-step-copy{order:0}
 .km-probs,.km-outs{grid-template-columns:minmax(0,1fr);gap:32px}
 .km-path{grid-template-columns:minmax(0,1fr);gap:28px}
 .km-path:before{display:none}
 .km-steps{gap:64px}
 .km-probs li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 18px;align-items:start}
 .km-probs .km-ill{width:64px;height:64px;grid-row:span 2}
 .km-probs h3{margin:6px 0 4px}
}
@media (max-width:640px){
 .km-chip1{left:8px;bottom:-14px}.km-chip2{right:8px;top:-14px}
 .km-chip{font-size:12px;padding:8px 12px}
 .km-end-card{grid-template-columns:minmax(0,1fr);padding:32px 24px;text-align:center}
 .km-end-card img{margin:0 auto;width:120px;height:120px}
 .km-end-card .fh-actions{justify-content:center}
 .km-out-cta{padding:22px}
}

/* ---------- knowledge management consulting (.kmc) ---------- */
.kmc-ba{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:10px}
.kmc-col{background:#fff;border-radius:16px;padding:20px 18px;box-shadow:0 30px 70px -24px rgba(0,0,0,.6),0 0 0 1px rgba(196,181,253,.25)}
.kmc-before{background:#F4F1F8;transform:rotate(-1.5deg)}
.kmc-after{transform:rotate(1deg)}
.kmc-lab{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.kmc-after .kmc-lab{color:var(--p2)}
.kmc-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kmc-col li{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.kmc-before li{background:#FBFAFD}
.kmc-before li:nth-child(odd){transform:translateX(6px)}
.kmc-file{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kmc-before .kmc-file{color:#6b6480;text-decoration:line-through;text-decoration-color:rgba(220,38,38,.45)}
.kmc-col em{font-style:normal;font-size:11.5px;font-weight:700;align-self:flex-start;padding:3px 8px;border-radius:999px}
.kmc-bad{background:#FEE2E2;color:#B91C1C}
.kmc-good{background:#EDE7FF;color:var(--p)}
.kmc-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--p);box-shadow:0 10px 30px -8px rgba(124,58,237,.9)}
.kmc-arrow svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

.kmc-svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px}
.kmc-svc h3{font-size:20px;margin:16px 0 6px}
.kmc-svc p{font-size:16px;line-height:1.6;color:var(--mut);margin:0}
.kmc-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#EDE7FF,#fff);border:1px solid #DDD3F8}
.kmc-ico svg{width:26px;height:26px;fill:none;stroke:var(--p);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.kmc-path4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kmc-path4:before{left:12%;right:12%}

.kmc-offer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;padding:48px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -40px rgba(108,60,225,.45)}
.kmc-offer .fh-btn{margin-top:6px}
.kmc-offer .km-bul{gap:16px}

.kmc-bridge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;text-decoration:none;color:inherit}
.kmc-bridge .fh-frame{transition:transform .4s}
.kmc-bridge:hover .fh-frame{transform:translateY(-4px)}
.kmc-bridge .sv-arrow{font-weight:700;color:var(--p)}
.kmc-xlink{text-align:center;margin:40px 0 0;font-size:17px;color:var(--mut)}
.kmc-xlink a{font-weight:700;color:var(--p);text-decoration:none}
.km .sv-logos{background:#fff}

@media (max-width:991px){
 .kmc-svc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
 .kmc-path4{grid-template-columns:minmax(0,1fr)}
 .kmc-offer,.kmc-bridge{grid-template-columns:minmax(0,1fr);gap:32px;padding:32px}
 .kmc-bridge{padding:0}
}
@media (max-width:640px){
 .kmc-ba{grid-template-columns:minmax(0,1fr);gap:14px}
 .kmc-arrow{margin:0 auto;transform:rotate(90deg)}
 .kmc-before,.kmc-after{transform:none}
 .kmc-svc{grid-template-columns:minmax(0,1fr)}
 .kmc-offer{padding:24px}
}
.km .fh-h1,.km h2{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (max-width:640px){
 .km-hero .fh-h1{font-size:34px}
 .kmc-col li:nth-child(4){display:none}
}
