/* Kunwu UI: shared scales, two font weights, mobile-first components. */
:root{
 --kw-grey-100:hsl(210,20%,97%);--kw-grey-200:hsl(210,18%,93%);--kw-grey-300:hsl(210,16%,86%);--kw-grey-400:hsl(210,14%,68%);--kw-grey-500:hsl(210,12%,49%);--kw-grey-600:hsl(210,14%,41%);--kw-grey-700:hsl(210,18%,32%);--kw-grey-800:hsl(210,24%,23%);--kw-grey-900:hsl(210,30%,16%);
 --kw-primary-100:hsl(207,40%,96%);--kw-primary-200:hsl(207,44%,90%);--kw-primary-300:hsl(207,46%,79%);--kw-primary-400:hsl(207,44%,58%);--kw-primary-500:hsl(207,57%,35%);--kw-primary-600:hsl(207,60%,29%);--kw-primary-700:hsl(207,60%,24%);--kw-primary-800:hsl(207,60%,19%);--kw-primary-900:hsl(207,60%,14%);
 --kw-white:hsl(0,0%,100%);--kw-ink:var(--kw-grey-900);--kw-muted:var(--kw-grey-700);--kw-caption:var(--kw-grey-600);--kw-blue:var(--kw-primary-500);--kw-navy:var(--kw-primary-900);--kw-light:var(--kw-grey-100);--kw-line:var(--kw-grey-300);--kw-control-border:var(--kw-grey-500);--kw-tint:var(--kw-primary-100);--kw-error:hsl(360,67%,38%);--kw-success:hsl(154,85%,24%);--kw-on-dark:var(--kw-primary-200);--kw-on-dark-muted:var(--kw-primary-300);
 --kw-radius:4px;--kw-hairline:1px;--kw-focus-width:2px;--kw-shadow-button:0 1px 3px hsla(0,0%,0%,.2);--kw-shadow-menu:0 4px 6px hsla(0,0%,0%,.2);--kw-section-space:64px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--kw-white);color:var(--kw-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75;font-weight:400}img{max-width:100%;height:auto}a{color:var(--kw-blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--kw-focus-width) solid var(--kw-blue);outline-offset:4px}p,h1,h2,h3,dd{overflow-wrap:anywhere}h1,h2,h3,strong,b{font-weight:600}h1,h2,h3{color:var(--kw-ink);line-height:1.4}
.kw-container{width:calc(100% - 32px);max-width:calc(768px + 384px);margin-inline:auto}.kw-skip{position:absolute;left:16px;top:-96px;z-index:1000;background:var(--kw-white);padding:12px 16px}.kw-skip:focus{top:16px}
.kw-header{background:var(--kw-white);border-bottom:var(--kw-hairline) solid var(--kw-line);position:relative;z-index:20}.kw-header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}.kw-brand{display:inline-flex;align-items:center;color:var(--kw-ink);min-width:0}.kw-wordmark{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:.08em}.kw-wordmark small{display:block;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5;margin-top:4px;color:var(--kw-caption)}.kw-logo-img,.kw-footer-logo{max-width:192px;max-height:64px;object-fit:contain}
.kw-menu-toggle{display:flex;flex:none;width:48px;height:48px;border:var(--kw-hairline) solid var(--kw-control-border);background:var(--kw-white);border-radius:var(--kw-radius);flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}.kw-menu-toggle span{width:24px;height:var(--kw-focus-width);background:var(--kw-ink)}.kw-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--kw-white);box-shadow:var(--kw-shadow-menu);padding:16px 24px 24px;flex-direction:column;gap:4px}.kw-nav.is-open{display:flex}.kw-nav>a{color:var(--kw-muted);font-size:16px;min-height:48px;display:flex;align-items:center;padding:12px;border-radius:var(--kw-radius)}.kw-nav>a:hover{color:var(--kw-blue);background:var(--kw-tint)}.kw-nav>a[aria-current]{color:var(--kw-blue);font-weight:600;text-decoration:underline;text-underline-offset:8px}.kw-nav .kw-nav-cta{color:var(--kw-blue);font-weight:600;background:var(--kw-tint);justify-content:center;margin-top:8px}
.kw-kicker,.kw-eyebrow{display:block;color:var(--kw-blue);font-size:12px;font-weight:600;letter-spacing:.08em}.kw-hero{background:var(--kw-light)}.kw-hero-grid{display:grid;gap:32px;padding-block:48px}.kw-hero-copy,.kw-hero-visual{min-width:0}.kw-hero h1{font-size:30px;line-height:1.4;max-width:640px;margin:16px 0 24px;text-wrap:balance}.kw-hero p{font-size:16px;color:var(--kw-muted);line-height:1.75;max-width:34em;margin:0 0 32px}.kw-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.kw-button{min-height:48px;padding:12px 24px;border-radius:var(--kw-radius);display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:16px;font-weight:600;border:var(--kw-hairline) solid transparent;cursor:pointer;transition:background .15s,color .15s}.kw-button-blue{background:var(--kw-blue);color:var(--kw-white);box-shadow:var(--kw-shadow-button)}.kw-button-blue:hover{background:var(--kw-primary-600);color:var(--kw-white)}.kw-button-white{background:var(--kw-white);color:var(--kw-navy)}.kw-button-white:hover{background:var(--kw-primary-200)}.kw-button-outline{color:var(--kw-blue);background:transparent;padding-inline:12px}.kw-button-outline:hover{background:var(--kw-primary-200)}.kw-button:active{box-shadow:none}.kw-button:disabled{cursor:wait;box-shadow:none}
.kw-hero-visual{margin:0}.kw-hero-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--kw-radius)}.kw-hero-visual figcaption,.kw-about-figure figcaption,.kw-about-gallery figcaption,.kw-detail-cover figcaption{font-size:12px;color:var(--kw-caption);padding-top:8px}.kw-hero-directory{background:var(--kw-white);padding:24px;border-radius:var(--kw-radius);border-top:4px solid var(--kw-blue)}.kw-hero-directory-label{display:block;font-size:14px;color:var(--kw-caption);margin-bottom:16px}.kw-hero-directory ol{list-style:none;margin:0;padding:0}.kw-hero-directory li+li{border-top:var(--kw-hairline) solid var(--kw-line)}.kw-hero-directory a{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:12px;align-items:center;min-height:64px;padding-block:12px;color:var(--kw-ink)}.kw-hero-directory a:hover{color:var(--kw-blue)}.kw-hero-directory a span{font-size:12px;color:var(--kw-caption)}.kw-hero-directory a span:last-child{font-size:16px;color:var(--kw-blue)}.kw-hero-directory a strong{font-size:16px;line-height:1.5}
.kw-section{padding-block:var(--kw-section-space)}.kw-section-tight{padding:32px 0 64px}.kw-section-alt{background:var(--kw-light)}.kw-section-head{margin:0 0 32px}.kw-section-head h2{font-size:24px;margin:8px 0 16px}.kw-section-head p{margin:0;max-width:34em;font-size:16px;color:var(--kw-muted)}
.kw-solution-grid,.kw-case-grid,.kw-steps,.kw-service-grid,.kw-partner-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.kw-solution-card{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:16px;align-content:start;padding:24px 0;border-top:var(--kw-hairline) solid var(--kw-line)}.kw-card-number{grid-row:1/4;color:var(--kw-caption);font-size:14px;padding-top:4px;font-variant-numeric:tabular-nums}.kw-solution-card h3{font-size:20px;line-height:1.5;margin:0 0 12px}.kw-solution-card h3 a,.kw-case-card h3 a{color:var(--kw-ink)}.kw-solution-card h3 a:hover,.kw-case-card h3 a:hover{color:var(--kw-blue);text-decoration:underline;text-underline-offset:4px}.kw-solution-card p{font-size:16px;color:var(--kw-muted);margin:0 0 16px;max-width:34em}.kw-text-link,.kw-more{font-size:14px;font-weight:600;display:inline-flex;gap:8px;align-items:center;min-height:48px;justify-self:start}.kw-text-link:hover,.kw-more:hover{text-decoration:underline;text-underline-offset:4px}.kw-solution-card .kw-text-link{grid-column:2}
.kw-case-card{background:var(--kw-white);border-radius:var(--kw-radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.kw-case-cover{display:block;aspect-ratio:16/10;overflow:hidden}.kw-case-cover img{width:100%;height:100%;object-fit:cover;display:block}.kw-case-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.kw-case-tag{font-size:12px;font-weight:600;color:var(--kw-blue)}.kw-case-card h3{font-size:20px;margin:8px 0 16px;line-height:1.5}.kw-case-card p{color:var(--kw-muted);font-size:16px;margin:0 0 16px}.kw-case-card .kw-text-link{margin-top:auto}.kw-card-art,.kw-detail-placeholder{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:24px;background:var(--kw-tint);color:var(--kw-navy)}.kw-card-art span,.kw-detail-placeholder span{font-size:12px;color:var(--kw-caption)}.kw-card-art strong,.kw-detail-placeholder strong{font-size:24px}.kw-more{margin-top:24px}.kw-empty{grid-column:1/-1;margin:0;padding:32px;background:var(--kw-light);border-radius:var(--kw-radius);color:var(--kw-muted);border-left:4px solid var(--kw-line)}
.kw-steps{margin:0 0 24px}.kw-step{padding:24px 0 0;border-top:var(--kw-hairline) solid var(--kw-line)}.kw-step>span,.kw-service-card>span{display:block;color:var(--kw-blue);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.kw-step h3{font-size:20px;margin:16px 0 8px}.kw-step p{font-size:16px;color:var(--kw-muted);margin:0}.kw-about-preview{background:var(--kw-tint)}.kw-about-grid{display:grid;gap:32px;align-items:center}.kw-about-preview .kw-section-head{margin-bottom:16px}.kw-about-grid>div>p{color:var(--kw-muted);max-width:34em;margin:0 0 16px}.kw-about-figure{margin:0}.kw-about-image{display:block;width:100%;height:auto;border-radius:var(--kw-radius)}
.kw-cta{background:var(--kw-navy);color:var(--kw-white);padding-block:48px}.kw-cta-inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.kw-cta .kw-eyebrow{color:var(--kw-on-dark-muted)}.kw-cta h2{font-size:24px;margin:8px 0 16px;color:var(--kw-white)}.kw-cta p{margin:0;max-width:34em;color:var(--kw-on-dark)}.kw-cta a:focus-visible{outline-color:var(--kw-primary-300)}
.kw-footer{background:var(--kw-white);color:var(--kw-muted);padding-top:48px}.kw-footer-grid{display:grid;gap:32px}.kw-footer-brand{font-size:24px;font-weight:600;letter-spacing:.08em;color:var(--kw-ink)}.kw-footer p{font-size:14px;margin:8px 0}.kw-footer h2{font-size:14px;margin:0 0 16px}.kw-footer a{display:flex;align-items:center;color:var(--kw-muted);font-size:14px;min-height:48px;overflow-wrap:anywhere}.kw-footer a:hover{color:var(--kw-blue);text-decoration:underline;text-underline-offset:4px}.kw-footer-bottom{border-top:var(--kw-hairline) solid var(--kw-line);margin-top:32px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;color:var(--kw-caption)}
.kw-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--kw-caption);padding-top:16px;font-size:12px}.kw-breadcrumb a{display:inline-flex;align-items:center;min-height:48px;color:var(--kw-caption)}.kw-page-hero{padding:32px 0 24px}.kw-page-hero h1{font-size:30px;max-width:768px;margin:12px 0 24px}.kw-page-hero p,.kw-page-intro p{font-size:16px;max-width:34em;color:var(--kw-muted);margin:0 0 24px}.kw-page-intro p:last-child{margin-bottom:0}.kw-page-hero .kw-button{margin-top:24px}.kw-page{width:calc(100% - 32px);max-width:768px;margin:48px auto 64px}.kw-page>h1{font-size:30px}.kw-page p,.kw-news-body{line-height:1.9}
.kw-detail-grid,.kw-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}.kw-detail-section{padding:0 0 32px;margin:0 0 32px;border-bottom:var(--kw-hairline) solid var(--kw-line)}.kw-detail-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.kw-detail-section h2{font-size:24px;margin:0 0 16px}.kw-detail-section p{font-size:16px;color:var(--kw-muted);line-height:1.9;max-width:34em}.kw-feature-list{list-style:none;padding:0;margin:0}.kw-feature-list li{padding:0 0 0 24px;position:relative;line-height:1.75;color:var(--kw-muted)}.kw-feature-list li+li{margin-top:16px}.kw-feature-list li:before{content:"";width:4px;height:4px;background:var(--kw-blue);position:absolute;left:4px;top:12px}.kw-detail-aside{background:var(--kw-white);padding:24px;border-radius:var(--kw-radius);border-top:4px solid var(--kw-line)}.kw-detail-aside h3{font-size:20px;margin:8px 0 16px}.kw-detail-aside p{font-size:16px;color:var(--kw-muted)}.kw-detail-aside dl{margin:0 0 24px}.kw-detail-aside dt{font-size:12px;color:var(--kw-caption);margin-top:24px}.kw-detail-aside dd{margin:4px 0 0;font-size:16px}.kw-detail-aside .kw-button{width:100%;text-align:center}.kw-detail-placeholder{aspect-ratio:16/9;height:auto;margin-bottom:32px;border-radius:var(--kw-radius)}.kw-detail-cover{margin:0 0 32px}.kw-detail-cover img{border-radius:var(--kw-radius);display:block;width:100%}.kw-diagram{margin:32px 0;padding:16px;background:var(--kw-white);border-radius:var(--kw-radius)}.kw-diagram figcaption{font-size:14px;color:var(--kw-caption)}
.kw-filter{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:32px}.kw-filter label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px;width:100%}.kw-filter>a{min-height:48px;display:inline-flex;align-items:center;font-size:14px}.kw-service-card{border-top:var(--kw-hairline) solid var(--kw-line);padding:24px 0}.kw-service-card h2{font-size:24px;margin:16px 0}.kw-service-card p,.kw-muted{color:var(--kw-muted)}
.kw-contact-info h2,.kw-form-card h2{font-size:24px;margin:0 0 24px}.kw-contact-info>div{border-top:var(--kw-hairline) solid var(--kw-line);padding:24px 0}.kw-contact-info span{display:block;color:var(--kw-caption);font-size:14px;margin-bottom:8px}.kw-contact-info a,.kw-contact-info p{overflow-wrap:anywhere}.kw-form-card{background:var(--kw-white);border-top:4px solid var(--kw-blue);border-radius:var(--kw-radius);padding:24px}.kw-form-card form>label,.kw-form-grid label{display:flex;flex-direction:column;font-size:14px;font-weight:600;margin-bottom:24px;gap:8px}.kw-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 24px}.kw-field-label{display:block}.kw-form-card em{color:var(--kw-error);font-style:normal}.kw-form-card input,.kw-form-card select,.kw-form-card textarea,.kw-filter select{width:100%;min-width:0;min-height:48px;border:var(--kw-hairline) solid var(--kw-control-border);border-radius:var(--kw-radius);padding:12px;font-size:16px;font-weight:400;background:var(--kw-white);color:var(--kw-ink)}.kw-form-card textarea{resize:vertical}.kw-form-card ::placeholder{color:var(--kw-caption);opacity:1}.kw-field-error{font-size:14px;font-weight:400;color:var(--kw-error)}.kw-field-error:empty{display:none}.kw-form-card [aria-invalid=true]{border-color:var(--kw-error)}.kw-privacy-note{font-size:14px;color:var(--kw-muted);margin:0 0 24px}.kw-privacy-note a{text-decoration:underline;text-underline-offset:4px}.kw-form-status{margin-top:16px;font-size:14px}.kw-form-status[data-state=success]{color:var(--kw-success)}.kw-form-status[data-state=error]{color:var(--kw-error)}.kw-honeypot{position:absolute!important;clip-path:inset(50%);width:1px!important;height:1px!important;overflow:hidden;white-space:nowrap}
.kw-page .wp-block-post-content,.kw-news-body,.kw-service-card p{overflow-wrap:anywhere}.kw-page-extra{padding-block:48px}.kw-partner-card{border-top:var(--kw-hairline) solid var(--kw-line);padding:24px 0}.kw-partner-card img{display:block;max-height:128px;width:auto;max-width:100%;object-fit:contain}.kw-partner-card h3{font-size:20px}.kw-partner-card p{font-size:14px;color:var(--kw-muted)}.kw-news-card time,.kw-news-article time,.kw-news-meta{font-size:14px;color:var(--kw-caption)}.kw-pagination{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0}.kw-pagination a{display:grid;place-items:center;width:48px;height:48px;border:var(--kw-hairline) solid var(--kw-control-border);border-radius:var(--kw-radius)}.kw-pagination a[aria-current=page]{background:var(--kw-blue);color:var(--kw-white);font-weight:600;text-decoration:underline}.kw-news-article{max-width:768px;padding-bottom:64px}.kw-news-article .kw-page-hero{width:100%}.kw-news-body img{height:auto}.kw-news-tags{color:var(--kw-muted);font-size:14px;border-top:var(--kw-hairline) solid var(--kw-line);padding-top:24px}
.kw-about-gallery{display:grid;gap:24px;padding-block:32px}.kw-about-gallery figure{margin:0}.kw-about-gallery-image{display:block;width:100%;height:auto;border-radius:var(--kw-radius)}.kw-about-services{display:grid;gap:24px}.kw-about-services a{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:8px 16px;border-top:var(--kw-hairline) solid var(--kw-line);padding:24px 0;color:var(--kw-ink)}.kw-about-services strong{font-size:20px}.kw-about-services span{grid-column:1;font-size:16px;color:var(--kw-muted)}.kw-about-services b{grid-column:2;grid-row:1/3;color:var(--kw-blue);font-size:20px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
