/* Generated by scripts/build-kerlala-ui.mjs. Edit the source CSS files. */
/* Generated WOFF2 subsets; licensed Source Han Sans, renamed under SIL OFL. */
@font-face{font-family:'Kerlala Sans';src:url('./fonts/kerlala-sans-regular.woff2?v=5f415a503c6d') format('woff2');font-style:normal;font-weight:400;font-display:swap;ascent-override:88%;descent-override:12%;line-gap-override:0%}
@font-face{font-family:'Kerlala Sans';src:url('./fonts/kerlala-sans-medium.woff2?v=3b6183fa53de') format('woff2');font-style:normal;font-weight:500;font-display:swap;ascent-override:88%;descent-override:12%;line-gap-override:0%}
@font-face{font-family:'Kerlala Sans';src:url('./fonts/kerlala-sans-bold.woff2?v=105766b2d9fe') format('woff2');font-style:normal;font-weight:700;font-display:swap;ascent-override:88%;descent-override:12%;line-gap-override:0%}

/* Kerlala UI v1 — semantic tokens shared by the approved Figma pages. */
/* One type scale for every public template. Breakpoints: 767 / 1100 / 1279,
   i.e. the 768 / 1101 / 1280 steps used by the font audit. */
:root{
 --kl-font-family:'Kerlala Sans','PingFang SC','Microsoft YaHei',sans-serif;
 --kl-color-primary:#146fe8;
 --kl-color-accent:#fe691f;
 --kl-color-ink:#333;
 --kl-color-muted:#666;
 --kl-color-subtle:#999;
 --kl-color-surface:#fff;
 --kl-color-border:#e1e4e8;
 --kl-radius-card:40px;
 --kl-radius-control:100px;
 --kl-section-gap:112px;
 /* Role tokens — page bundles must reference these instead of hardcoding. */
 --kl-text-display:60px;--kl-leading-display:1.25;
 --kl-text-h1:60px;--kl-leading-h1:1.4;
 --kl-text-h2:48px;--kl-leading-h2:1.35;
 --kl-text-h3:22px;--kl-leading-h3:1.5;
 --kl-text-h4:18px;--kl-leading-h4:1.55;
 --kl-text-lead:20px;--kl-leading-lead:1.5;
 --kl-text-body:16px;--kl-leading-body:1.75;
 --kl-text-small:14px;--kl-leading-small:1.7;
 --kl-text-caption:12px;--kl-leading-caption:1.6;
 --kl-text-button:18px;
 --kl-text-nav:15px;
 --kl-text-footer:14px;
 --kl-weight-regular:400;
 --kl-weight-medium:500;
 --kl-weight-bold:700;
}
@media(max-width:1279px){:root{
 --kl-section-gap:96px;
 --kl-text-display:52px;--kl-text-h1:52px;--kl-text-h2:44px;
 --kl-text-h3:22px;--kl-text-h4:18px;--kl-text-lead:19px;
 --kl-text-body:16px;--kl-text-small:14px;--kl-text-caption:12px;
 --kl-text-button:18px;--kl-text-footer:14px;
}}
@media(max-width:1100px){:root{
 --kl-section-gap:88px;
 --kl-text-display:44px;--kl-text-h1:44px;--kl-text-h2:36px;
 --kl-text-h3:20px;--kl-text-h4:17px;--kl-text-lead:18px;
 --kl-text-body:16px;--kl-text-small:14px;--kl-text-caption:12px;
 --kl-text-button:16px;--kl-text-footer:14px;
}}
@media(max-width:767px){:root{
 --kl-section-gap:72px;--kl-radius-card:28px;
 --kl-text-display:34px;--kl-text-h1:32px;--kl-text-h2:28px;
 --kl-text-h3:18px;--kl-text-h4:16px;--kl-text-lead:16px;
 --kl-text-body:15px;--kl-text-small:13px;--kl-text-caption:12px;
 --kl-text-button:15px;--kl-text-nav:15px;--kl-text-footer:13px;
}}
.kl-site{
 --kl-font-family:'Kerlala Sans','PingFang SC','Microsoft YaHei',sans-serif;
 --kl-color-primary:#146fe8;
 --kl-color-accent:#fe691f;
 --kl-color-ink:#333;
 --kl-color-muted:#666;
 --kl-color-subtle:#999;
 --kl-color-surface:#fff;
 --kl-color-border:#e1e4e8;
 --kl-radius-card:40px;
 --kl-radius-control:100px;
 --kl-section-gap:112px;
 /* Legacy aliases kept for the shared layout rules. */
 --kl-title-size:var(--kl-text-h2);
 --kl-title-line:var(--kl-leading-h2);
}

/* Shared site shell and Figma components; page layouts stay in their own bundles. */
.kl-site{--page:var(--kl-page);--blue:var(--kl-color-primary);--ink:var(--kl-color-ink);font:20px/1.8 var(--kl-font-family);color:var(--kl-color-ink);position:relative;isolation:isolate}
.kl-site main,.kh-footer{width:var(--page);margin:0 auto}
.kl-site h1,.kl-site h2,.kl-site h3{letter-spacing:0}
.kl-site main h2{font-size:48px;line-height:72px;font-weight:700;margin:0 0 96px}
.kl-site main h3{font-size:30px;font-weight:500;line-height:44px}
.kl-site main p{color:var(--kl-color-muted)}
.kl-site ul,.kl-site ol{padding:0;margin:0;list-style:none}
.kl-site figure{margin:0}
.kl-site button{font:inherit}
.kh-hero-background{position:absolute;top:0;left:50%;transform:translateX(-50%);width:1920px;height:1201px;max-width:none;object-fit:cover;z-index:-1;pointer-events:none}
.kl-site{overflow-x:clip}
.kl-site .header{height:98px;padding-top:42px;position:relative;background:transparent;border:0;backdrop-filter:none}
.kl-site .header-inner{width:var(--page);height:56px;gap:0}
.kl-site .brand-logo{width:172px;height:48px;max-width:none}
.kl-site .primary-nav{margin-left:80px;margin-right:auto;gap:32px}
.kl-site .nav-trigger,.kl-site .nav-direct{padding:0;font-size:20px;font-weight:400;line-height:24px;gap:8px}
.kl-site .nav-trigger:hover,.kl-site .nav-direct:hover{background:transparent}
.kl-site .nav-caret{width:18px;height:18px}
.kl-site .header-actions{gap:16px}
.kl-site .header-actions .login{font-size:20px;width:138px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid #333;border-radius:100px;color:#000}
.kl-site .header-actions .btn{font-size:20px;font-weight:400;width:181px;height:56px;padding:0;background:#333;border:0;border-radius:100px}
.kl-site .nav-panel{top:calc(100% + 18px)}
.kl-site .product-panel{top:74px}
.kl-site .content-panel{top:74px}
.kl-site .nav-entry{line-height:24px}
.kh-button{display:inline-flex;align-items:center;justify-content:center;min-width:214px;height:60px;padding:0 24px;border:1px solid #333;border-radius:100px;color:var(--kl-color-ink);background:transparent;font-size:20px;line-height:24px;font-weight:400;text-align:center;white-space:nowrap}
.kh-button:hover,.kh-button:focus-visible{background:#146fe8;color:#fff;border-color:#146fe8}
.kh-blue{background:var(--kl-color-primary);color:white;border-color:transparent}
.kh-blue:hover{background:#0957c0;color:white}
.kh-hero{padding-top:281px;padding-bottom:263px;text-align:center}
.kl-site .kh-hero h1{font-size:72px;font-weight:700;line-height:108px;color:#222;margin:0}
.kh-hero h1 span{color:var(--kl-color-ink)}
.kl-site .kh-hero>p{font-size:20px;line-height:30px;color:var(--kl-color-ink);margin:12px auto 0;max-width:810px}
.kh-hero-actions{display:flex;justify-content:center;gap:48px;margin-top:48px}
.kh-hero-actions .kh-button{min-width:194px;width:194px}
.kh-hero-actions .kh-blue{background:#0d55ff}
.kh-section{position:relative;margin-bottom:var(--kl-section-gap);scroll-margin-top:40px}
.kh-faq summary::-webkit-details-marker{display:none}
.kl-site .kh-eyebrow{font-size:20px;color:#999;line-height:30px;margin:7px 0 20px}
.kh-chevron{transform:scaleX(-1);width:28.7414px;height:28.7414px;flex:none}
.kh-active-arrow{display:none}
.kh-cases{display:grid;grid-template-columns:repeat(2,minmax(0,780fr));gap:38px;padding:0 1px}
.kh-cases article{border:1px solid #e1e4e8;border-radius:var(--kl-radius-card);overflow:hidden;min-width:0;background:white;min-height:694px}
.kh-case-art{height:395px;overflow:hidden;position:relative;background:#dbdbdb}
.kh-case-art img{position:absolute;max-width:none;object-fit:cover}
.kh-case-tianyang img{width:186.55%;height:auto;left:-83.53%;top:-73.617px}
.kh-case-ykqy img{width:139.487%;height:auto;aspect-ratio:1088/612;left:-15.385%;top:-186.715px;transform:scaleX(-1)}
.kh-case-copy{padding:52px 49px 46px}
.kl-site .kh-case-copy h3{display:flex;align-items:center;gap:16px;font-size:30px;line-height:44px;white-space:nowrap}
.kh-case-copy h3 span{color:#146fe8}
.kh-case-copy h3 i{height:20px;width:1px;background:#d9d9d9;flex:none}
.kh-case-copy p{font-size:20px;line-height:36px;margin-top:16px;height:72px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.kh-case-link{display:flex;align-items:center;gap:8px;font-size:24px;line-height:36px;font-weight:500;margin-top:32px}
.kh-case-link .kh-chevron{width:24px;height:24px}
.kh-cases-action{text-align:center;margin-top:40.285px}
.kh-cases-action .kh-button{position:relative;left:-6px}
.kl-site .kh-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,802px);gap:80px;min-height:737.846px}
.kl-site .kh-faq h2{margin:0}
.kh-faq-content{padding-top:2px;min-width:0}
.kh-faq-page details{border-bottom:1px solid #e1e4e8}
.kh-faq-page{border-top:1px solid #e1e4e8}
.kh-faq-page summary{font-size:20px;line-height:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;min-height:110.275px;padding-right:14px}
.kh-faq-plus{position:relative;width:22px;height:22px;flex:none}
.kh-faq-plus:before,.kh-faq-plus:after{content:"";position:absolute;background:#bbb;left:0;top:10px;width:22px;height:2px}
.kh-faq-plus:after{transform:rotate(90deg)}
.kh-faq [open] .kh-faq-plus:after{display:none}
.kh-faq [open] .kh-faq-plus:before{background:var(--kl-color-primary)}
.kh-faq-page details>p{font-size:20px;line-height:30px;margin:-1px 116px 35px 30px;color:var(--kl-color-ink)}
.kh-faq-controls{display:flex;align-items:center;justify-content:space-between;margin-top:40px;font-size:18px;line-height:27px}
.kh-faq-controls>div{display:flex;gap:48px}
.kh-faq-controls button{position:relative;display:grid;place-items:center;background:none;padding:0;border:0;width:60.15px;height:60.15px;border-radius:50%}
.kh-round-background,.kh-round-outline{position:absolute;left:0;top:0;width:60.1504px;height:60.1504px;max-width:none}
.kh-faq-prev-icon{position:relative;width:24.0601px;height:24.0601px}
.kh-faq-next-icon{position:relative;width:60.1504px;height:60.1504px;max-width:none}
.kl-site .kh-cta{height:340px;border-radius:22px;padding:116px 110px 0 144px;background:linear-gradient(90deg,#4094ffb3 0%,#e0eefdb3 33.173%,#f8f9f8b3 55.769%,#ffedabb3 79.808%,#fd8719b3 100%)}
.kl-site .kh-cta h2{font-size:48px;line-height:69px;margin:0}
.kl-site .kh-cta>p{font-size:20px;line-height:24.597px;color:#3b3c45;margin-top:16px}
.kh-cta>.kh-button{position:absolute;right:110px;top:140.523px;width:238px;height:69px;font-weight:500}
.kh-footer{border-top:1px solid #e1e2e5;padding:106px 5px 42px;min-height:561.87px}
.kh-footer-top{display:grid;grid-template-columns:minmax(0,1fr) 774px;gap:60px}
.kh-footer-logo{display:inline-block}
.kh-footer-logo img{width:229px;height:64px}
.kh-footer-brand>p{font-size:20px;line-height:31.258px;color:#3b3c45;margin-top:32px}
.kh-footer-qrs{display:grid;grid-template-columns:repeat(2,minmax(0,144px));gap:24px;margin-top:24px;max-width:100%}
.kh-footer-qr{display:block;width:100%;aspect-ratio:1;background:#fff;border-radius:8px;overflow:hidden}
.kh-footer-qr>img{display:block;width:100%;height:100%;object-fit:contain}
.kh-footer-wecom-qr{position:relative}
.kh-footer-wecom-qr>img{position:absolute;max-width:none;width:352.9411765%;height:auto;left:-225.4901961%;top:-454.248366%}
.kh-footer-qrs figcaption{margin-top:8px;line-height:24px;text-align:center}
.kh-footer-qrs figcaption strong{display:block;font-size:16px;font-weight:500;color:var(--kl-color-ink)}
.kh-footer-qrs figcaption span{display:block;font-size:14px;line-height:22px;color:var(--kl-color-muted)}
.kh-footer-columns{display:grid;grid-template-columns:181px 181px 150px 1fr;gap:50px}
.kh-footer h3{font-size:20px;line-height:21px;letter-spacing:.938px;margin:0 0 34px}
.kh-footer-columns a{display:block;font-size:20px;line-height:31.258px;margin-bottom:27px;white-space:nowrap}
.kh-footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:61px;gap:20px;font-size:15.629px;line-height:21px}
.kh-footer-bottom>p{font-size:18.234px;line-height:31.258px}
.kh-footer-bottom>p>a{font-size:13px}
.kh-noscript{display:flex;gap:24px;justify-content:center}
.kl-site details summary:focus-visible{outline:3px solid #146fe8;outline-offset:5px}
@media(min-width:1101px){
.kl-site .primary-nav{height:100%;flex-shrink:0}
.kl-site .nav-entry{display:flex;align-items:center;height:100%;flex-shrink:0}
.kl-site .content-entry{position:relative}
.kl-site .nav-panel{top:calc(100% + 12px)}
.kl-site .content-panel{left:calc(50% - 320px);right:auto}
}
@media(min-width:1101px) and (max-width:1240px){
.kl-site .header-actions .login{display:none}
}
@media(max-width:1799px) and (min-width:1101px){
.kl-site{--page:var(--kl-page)}
.kl-site .primary-nav{margin-left:48px;gap:20px}
.kl-site .nav-trigger,.kl-site .nav-direct{font-size:16px}
.kl-site .header-actions .login{width:110px;font-size:16px}
.kl-site .header-actions .btn{width:160px;font-size:16px}
.kl-site main h2{font-size:42px}
.kl-site .kh-case-copy h3{font-size:24px}
.kh-footer-top{grid-template-columns:1fr 650px;gap:40px}
.kh-footer-columns{grid-template-columns:repeat(4,1fr);gap:24px}
.kh-footer-columns a{font-size:16px}
.kl-site .kh-faq{grid-template-columns:1fr 1fr;gap:60px}
.kh-case-copy{padding-left:30px;padding-right:30px}
.kl-site .kh-hero h1{font-size:64px}
.kl-site .kh-cta{padding-left:80px}
.kh-cta>.kh-button{right:70px}
}
@media(max-width:1100px){
.kl-site{--page:var(--kl-page);font-size:16px}
.kl-site .header{height:88px;padding-top:24px}
.kl-site .header-inner{height:40px}
.kl-site .brand-logo{width:143px;height:40px}
.kl-site .primary-nav{margin:0}
.kl-site .nav-trigger,.kl-site .nav-direct{font-size:16px;padding:12px}
.kl-site .primary-nav{top:64px;left:-24px;width:calc(100% + 48px);max-height:calc(100dvh - 88px)}
.kl-site .header-actions .login{display:none}
.kl-site .header-actions .btn{width:auto;height:40px;font-size:14px;padding:0 16px}
.kl-site .menu-toggle{display:grid;width:40px;height:40px}
.kl-site .primary-nav{display:none}
.kl-site .primary-nav.is-open{display:block}
.kl-site .nav-panel,.kl-site .product-panel,.kl-site .content-panel{position:static;top:auto;width:100%}
.kl-site .kh-hero{padding:150px 0 160px}
.kl-site .kh-hero h1{font-size:48px;line-height:1.5}
.kl-site .kh-hero>p{font-size:18px;line-height:30px;max-width:730px}
.kl-site main h2{font-size:36px;line-height:54px;margin-bottom:56px}
.kh-section{margin-bottom:96px}
.kh-button{font-size:16px;min-width:176px;height:52px}
.kh-cases{gap:24px}
.kh-cases article{min-height:0;border-radius:24px}
.kh-case-art{height:auto;aspect-ratio:780/395}
.kh-case-tianyang img{top:-18.637%}
.kh-case-ykqy img{top:-47.27%}
.kh-case-copy{padding:24px}
.kl-site .kh-case-copy h3{font-size:20px;line-height:32px;flex-wrap:wrap;gap:8px}
.kh-case-copy p{font-size:16px;line-height:28px;height:84px;-webkit-line-clamp:3}
.kh-case-link{font-size:18px;margin-top:24px}
.kl-site .kh-faq{display:block;min-height:0}
.kl-site .kh-faq h2{margin-bottom:40px}
.kh-faq-page details>p{margin-right:40px}
.kl-site .kh-cta{padding:64px 48px;height:auto;min-height:300px}
.kl-site .kh-cta h2{font-size:36px;line-height:54px}
.kl-site .kh-cta>p{font-size:18px;max-width:55%;line-height:30px}
.kh-cta>.kh-button{right:40px;top:130px;width:190px;height:60px}
.kh-footer{padding:64px 0 32px}
.kh-footer-top{grid-template-columns:1fr;gap:48px}
.kh-footer-columns{grid-template-columns:repeat(4,1fr);gap:20px}
.kh-footer-columns a{font-size:16px;margin-bottom:16px}
.kh-footer-bottom{margin-top:32px}
.kh-footer-bottom>p{font-size:14px}
}
@media(max-width:640px){
.kl-site{--page:var(--kl-page)}
.kl-site .primary-nav{left:-20px;width:calc(100% + 40px)}
.kl-site .header-actions{gap:10px}
.kl-site .header-actions .btn{display:none}
.kl-site .kh-hero{padding:110px 0 100px}
.kl-site .kh-hero h1{font-size:36px;line-height:1.5}
.kh-hero h1 span{display:block}
.kl-site .kh-hero>p{font-size:16px;line-height:28px;margin-top:24px}
.kh-hero-actions{gap:16px;margin-top:32px}
.kh-hero-actions .kh-button{min-width:0;width:50%;font-size:15px;padding:0 12px;height:48px}
.kh-hero-background{width:1200px;height:751px;max-width:none}
.kl-site main h2{font-size:28px;line-height:42px;margin-bottom:40px}
.kh-section{margin-bottom:72px}
.kh-cases{grid-template-columns:1fr}
.kl-site .kh-case-copy h3{font-size:22px}
.kh-cases-action .kh-button{left:0}
.kh-faq-page summary{font-size:17px;min-height:88px;line-height:28px;padding:20px 0}
.kh-faq-page details>p{font-size:16px;line-height:28px;margin:0 24px 28px 0}
.kh-faq-controls{margin-top:24px}
.kh-faq-controls>div{gap:24px}
.kl-site .kh-cta{padding:40px 28px;min-height:0;border-radius:22px}
.kl-site .kh-cta h2{font-size:28px;line-height:42px}
.kl-site .kh-cta>p{font-size:16px;max-width:100%;line-height:28px;margin-top:12px}
.kh-cta>.kh-button{position:static;width:auto;height:52px;margin-top:24px}
.kh-footer-columns{grid-template-columns:repeat(2,1fr);gap:32px 24px}
.kh-footer h3{font-size:18px;margin-bottom:24px}
.kh-footer-brand>p{font-size:16px;margin-top:24px}
.kh-footer-logo img{width:172px;height:48px}
.kh-footer-bottom{align-items:flex-start;flex-direction:column;gap:24px}
.kh-footer-bottom>p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
.kl-site{scroll-behavior:auto}
.kl-site *{animation:none!important;transition:none!important}
}
.kl-site main summary:after{display:none}
.kl-site .kh-faq-page details{margin:0;padding:0}
.kl-site .kh-faq h2{align-self:start}
.kl-site .kh-faq-page summary{min-height:109.275px}
.kl-site .kh-faq-page details>p{margin-top:-11.4px;margin-bottom:34.6px}
.kl-site .kh-cases article{min-height:694px}
.kl-site .kh-case-copy{padding-bottom:43px}
@media(max-width:640px){
.kl-site .kh-faq-page summary{min-height:88px}
.kl-site .kh-faq-page details>p{margin:0 24px 28px 0}
.kl-site .kh-cases article{min-height:0}
}
.kh-footer-contact{display:block;font-size:20px;line-height:31.258px;margin-bottom:27px;white-space:nowrap;border:0;background:none;padding:0;color:inherit}
.kh-footer-contact:hover{color:#146fe8}
@media(max-width:1799px){
.kh-footer-contact{font-size:16px}
}
.kl-site #cases>h2{line-height:71px}
.kl-site .kh-faq-page details>p{padding:0}
.kl-site .kh-faq-page{border-top:0}
.kl-site .kh-faq-page details:first-child{border-top:1px solid #e1e4e8}
.kl-site .kh-faq-page details>p{margin-bottom:34.774px}
.kl-site .kh-footer-contact{font-size:20px;line-height:31.258px}
.kh-footer-columns>div>:last-child{margin-bottom:0}
.kh-footer-bottom{margin-top:47px}
@media(max-width:1799px){
.kl-site .kh-footer-contact{font-size:16px}
}
@media(max-width:1100px){
.kl-site #cases>h2{line-height:54px}
}
@media(max-width:640px){
.kl-site #cases>h2{line-height:42px}
}
.kl-site .kh-faq-page summary{font-weight:400}
.kl-site .kh-faq-page details[open] summary{font-weight:700;color:#111}
.kl-site .kh-faq-page details[open]{border-bottom-color:#146fe8}
.kl-site .kh-faq h2{color:#000}
.kh-faq-next-icon{mask-image:url('./icons/arrow-right-mask.png');mask-repeat:no-repeat;mask-size:20.05px 20.05px;mask-position:21.052px 20.051px}
.kl-site .kh-footer{padding-top:105.405px;padding-bottom:42px}
.kh-footer-bottom{margin-top:64px}
.kh-footer-bottom>p>a{font-size:12px;white-space:nowrap}
@media(max-width:1100px){
.kl-site .kh-footer{padding-top:64px;padding-bottom:32px}
.kh-footer-bottom{margin-top:32px}
}
.kh-background-wrap{position:absolute;left:0;top:0;width:100%;height:1201px;overflow:hidden;z-index:-1;pointer-events:none}
.kh-background-wrap .kh-hero-background{z-index:0}
.kl-site #workflow{margin-left:-1px}
.kl-site #cases>h2{color:#000}
.kl-site .kh-footer{padding-bottom:38.891px}
@media(max-width:1100px){
.kl-site .kh-footer{padding-bottom:32px}
}
@media(max-width:640px){
.kh-background-wrap{height:751px}
}
.kh-footer-logo{display:block;width:max-content}
.kh-cases article{mask-mode:alpha;mask-size:100% 100%;mask-repeat:no-repeat}
.kh-cases article:first-child{mask-image:url('./images/case-card-mask.svg')}
.kh-cases article:last-child{mask-image:url('./images/case-ykqy-mask.png')}
.kh-cases article:last-child .kh-case-copy p{margin-top:26px}
.kh-cases article:last-child .kh-case-link{margin-top:22px}
@media(min-width:1800px){
.kh-case-tianyang img{width:1455.089px;left:-652.524px;top:-74.617px}
.kh-case-ykqy img{width:1088px;left:-121px;top:-187.715px}
.kl-site .kh-footer{padding-right:1px;position:relative;border-color:transparent}
.kh-footer:before{content:"";position:absolute;left:5px;right:1px;top:-1px;height:1px;background:#e1e2e5}
.kh-footer h3{height:19px;line-height:20.839px;margin-bottom:32.5px}
.kh-footer-columns a,.kl-site .kh-footer-contact{margin-bottom:26.76px}
.kh-footer-columns>div>:last-child{margin-bottom:0}
.kh-footer-columns>div:first-child>a:first-of-type{margin-bottom:29.77px}
.kh-footer-columns>div:nth-child(2)>h3{margin-bottom:29.53px}
.kh-footer-columns>div:nth-child(3)>h3{margin-bottom:30.88px}
.kh-footer-columns>div:nth-child(3)>a:first-of-type{margin-bottom:27.24px}
.kh-footer-columns>div:nth-child(4)>h3{margin-bottom:30.43px}
.kh-footer-bottom{margin-top:67.703px}
}

/* Shared service columns, workflow steps and delivery cards. */
.kh-scenes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:72px;padding-right:9px}
.kh-scenes>:is(a,article){position:relative;display:block;min-width:0}
.kh-scenes>:is(a,article)+:is(a,article):before{content:"";position:absolute;left:-37px;top:0;width:1px;height:224px;background:#e4e4e1}
.kh-number{display:block;color:#999;font-size:20px;line-height:38px;margin-top:2px}
.kh-home .kh-scenes h3{font-size:30px;line-height:34px;margin-top:14px;color:#181818}
.kh-scenes p{margin-top:28px;font-size:20px;line-height:36px;min-height:108px}
.kh-steps{align-self:center;display:flex;flex-direction:column;gap:44px;position:relative;padding-left:33px}
.kh-steps:before{content:"";position:absolute;left:8px;top:65px;bottom:30px;width:1px;background:#e9e9e9}
.kh-step{border:1px solid transparent;border-radius:27px;position:relative;min-height:58px}
.kh-step summary{list-style:none;cursor:pointer;display:flex;gap:17px;align-items:center;padding:0 23px;min-height:58px}
.kh-step summary::-webkit-details-marker{display:none}
.kh-step-dot{position:absolute;left:-34px;top:21px;width:16px;height:16px}
.kh-step[open] .kh-step-dot{top:55px;content:url('./icons/workflow-active.svg')}
.kh-step:not([open]) .kh-step-dot{content:url('./icons/workflow-inactive.svg')}
.kh-step-icon{width:52px;height:52px;display:grid;place-items:center;flex:none;border:1px solid #e7e7e7;border-radius:15px;background:white}
.kh-step-icon img{width:24px;height:24px}
.kh-home .kh-step h3{font-size:30px;line-height:36px;color:#999}
.kh-step[open]{background:#fff;border-color:#e8e8e8;box-shadow:0 6px 10.3px #11111108;padding:34px 0}
.kh-step[open] summary{min-height:58px}
.kh-step[open] h3{color:#181818}
.kh-step[open] .kh-step-icon{background:#333;border-color:#333}
.kh-step p{padding:4px 22px 0 91px;font-size:20px;line-height:34px;min-height:74px}
@media(max-width:1799px) and (min-width:1101px){.kh-home .kh-scenes h3,.kh-home .kh-step h3{font-size:24px}
.kh-scenes{gap:40px}
.kh-scenes>:is(a,article)+:is(a,article):before{left:-21px}
.kh-step p{padding-left:70px;font-size:18px}
.kh-step summary{gap:14px;padding-left:16px}}
@media(max-width:1100px){.kh-scenes{grid-template-columns:repeat(2,1fr);gap:40px}
.kh-scenes>:is(a,article)+:is(a,article):before{display:none}
.kh-scenes p{min-height:auto;font-size:18px;line-height:32px;margin-top:16px}
.kh-home .kh-scenes h3{font-size:24px}
.kh-steps{align-self:stretch}}
@media(max-width:640px){.kh-scenes{gap:32px 24px}
.kh-home .kh-scenes h3{font-size:20px;line-height:30px;margin-top:4px}
.kh-scenes p{font-size:15px;line-height:27px;margin-top:12px}
.kh-number{font-size:16px}
.kh-step summary{padding:0 14px;gap:14px}
.kh-home .kh-step h3{font-size:20px;line-height:30px}
.kh-step-icon{width:40px;height:40px;border-radius:12px}
.kh-step p{font-size:16px;line-height:28px;padding:8px 14px 0 68px}
.kh-step[open]{padding:20px 0}
.kh-step[open] .kh-step-dot{top:41px}
.kh-steps{gap:24px;padding-left:25px}
.kh-step-dot{left:-26px}}
.kh-home .kh-step{margin:0;padding:0}
.kh-home .kh-step[open]{padding:34px 0}
@media(max-width:640px){.kh-home .kh-step[open]{padding:20px 0}}
.kh-home .kh-step summary{justify-content:flex-start}
.kh-home .kh-step:not([open]){border:0}
.kh-home .kh-step[open]{padding:34px 0 33px}
.kh-home .kh-step[open] summary{padding-left:22px}
.kh-home .kh-step:not([open]) summary{padding-left:24px}
.kh-step:first-child{margin-bottom:10px!important}
.kh-steps{transform:translateY(.5px)}
@media(max-width:640px){.kh-home .kh-step[open]{padding:20px 0}
.kh-home .kh-step[open] summary,.kh-home .kh-step:not([open]) summary{padding-left:14px}
.kh-step:first-child{margin-bottom:0!important}}

/* Shared service columns, workflow steps and delivery cards. */
.kh-offering main .ko-metrics h2{line-height:72px;height:78px}
.kh-offering main .ko-metrics h2{margin-bottom:70px}
.ko-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px;width:calc(100% + 7px)}
.ko-metric{border:1px solid #d6d9d7;border-radius:var(--kl-radius-card);min-height:350px;padding:53px 27px 28px}
.ko-metric>img{display:block;width:44px;height:44px}
.kh-offering .ko-metric h3{font-size:30px;font-weight:500;line-height:38px;margin:33px 0 18px;white-space:nowrap;color:#15181a}
.kh-offering .ko-metric p{font-size:20px;line-height:36px;color:#5d6468;text-align:justify;margin:0}
@media(min-width:1800px){.ko-managed .ko-metric h3{height:38px}
.ko-managed .ko-metric p{height:108px}}
@media(max-width:1799px){.ko-metric-grid{width:100%;gap:24px}
.ko-metric{padding:42px 24px 30px}
.kh-offering .ko-metric h3{font-size:24px;white-space:normal}
.kh-offering .ko-metric p{font-size:18px;line-height:32px}}
@media(max-width:1100px){.ko-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ko-metric{min-height:320px}
.kh-offering main .ko-metrics h2{height:auto;line-height:54px;margin-bottom:56px}}
@media(max-width:640px){.kh-offering main .ko-metrics h2{font-size:28px;line-height:42px;height:auto;margin-bottom:40px}
.ko-metric-grid{grid-template-columns:1fr;gap:24px}
.ko-metric{padding:32px 26px;min-height:0;border-radius:28px}
.kh-offering .ko-metric h3{font-size:24px;line-height:36px;margin:26px 0 16px}
.kh-offering .ko-metric p{font-size:16px;line-height:30px}}

/* Case carousel: two desktop cards, one mobile card, native scrolling without JS. */
.kh-case-carousel .kh-cases{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 38px)/2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab}
.kh-case-carousel .kh-cases::-webkit-scrollbar{display:none}
.kh-case-carousel .kh-cases article{scroll-snap-align:start;mask-image:none}
.kh-case-carousel .kh-cases article.kh-case-slide-tianyang{mask-image:url('./images/case-card-mask.svg')}
.kh-case-carousel .kh-cases article.kh-case-slide-ykqy{mask-image:url('./images/case-ykqy-mask.png')}
.kh-case-carousel .kh-cases article .kh-case-copy p{margin-top:16px}
.kh-case-carousel .kh-cases article .kh-case-link{margin-top:32px}
.kh-case-carousel .kh-cases article.kh-case-slide-ykqy .kh-case-copy p{margin-top:26px}
.kh-case-carousel .kh-cases article.kh-case-slide-ykqy .kh-case-link{margin-top:22px}
.kh-case-carousel .kh-cases.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.kh-case-carousel .kh-cases:focus-visible{outline:2px solid var(--kl-color-primary);outline-offset:6px}
.kh-case-controls{position:absolute;right:0;top:6px;display:flex;gap:20px}
.kh-case-controls button{display:grid;place-items:center;width:60px;height:60px;padding:0;border:1px solid #999;border-radius:50%;background:#fff;cursor:pointer}
.kh-case-controls button:last-child{background:var(--kl-color-primary);border-color:var(--kl-color-primary)}
.kh-case-controls img{width:24px;height:24px}
.kh-case-controls button:last-child img{transform:rotate(180deg);filter:brightness(0) invert(1)}
.kl-site .kh-case-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
@media(max-width:1100px){.kh-case-carousel .kh-cases{grid-auto-columns:calc((100% - 24px)/2)}.kh-case-carousel .kh-cases article:not(.kh-case-slide-ykqy) .kh-case-link{margin-top:24px}.kh-case-controls{top:3px;gap:16px}.kh-case-controls button{width:48px;height:48px}}
@media(max-width:640px){.kh-case-carousel .kh-cases{grid-auto-columns:100%}.kh-case-controls button{width:36px;height:36px}.kh-case-controls img{width:18px;height:18px}.kh-case-controls{gap:12px}}

/* Supplied workflow assets retain their complete composition at every step. */
.kl-site [data-step-gallery]{display:grid;align-items:center;min-width:0;position:relative;margin:0;background:none}
.kl-site [data-step-gallery] img{position:static;display:block;grid-area:1/1;width:100%;height:auto;max-width:100%;object-fit:contain;margin:auto;transform:none;opacity:0;visibility:hidden;transition:opacity .16s ease}
.kl-site [data-step-gallery] img[data-step-active]{opacity:1;visibility:visible}
.kl-site .kl-process-art[data-step-gallery]{aspect-ratio:auto;overflow:visible}
.kl-site .co-workflow-art[data-step-gallery]{aspect-ratio:auto;overflow:visible}
@media(prefers-reduced-motion:reduce){.kl-site [data-step-gallery] img{transition:none}.kw-directory-card{transition:none}}
.kl-site .kw-process-gallery{align-self:center}
.kl-site .kw-process{align-items:center}
.kl-site .kw-process-gallery img{max-height:520px}
.kl-site .kh-workflow.kw-process .kw-process-gallery img{max-height:none}
/* Native disclosure states also switch the visual without JavaScript. */
@supports selector(:has(*)){
 .kw-process:has(.kh-step[open]) [data-step-gallery] img{opacity:0;visibility:hidden}
 .kw-process:has(.kh-step:nth-child(1)[open]) [data-step-gallery] img:nth-child(1),
 .kw-process:has(.kh-step:nth-child(2)[open]) [data-step-gallery] img:nth-child(2),
 .kw-process:has(.kh-step:nth-child(3)[open]) [data-step-gallery] img:nth-child(3),
 .kw-process:has(.kh-step:nth-child(4)[open]) [data-step-gallery] img:nth-child(4){opacity:1;visibility:visible}
}
