/* Editorial direction: architectural image, restrained blue, open content rows. */
:root{
 --kw-primary-100:hsl(218,35%,97%);--kw-primary-200:hsl(218,50%,91%);--kw-primary-300:hsl(218,65%,80%);--kw-primary-400:hsl(218,75%,65%);--kw-primary-500:hsl(218,80%,43%);--kw-primary-600:hsl(218,80%,35%);--kw-primary-700:hsl(218,70%,28%);--kw-primary-800:hsl(218,45%,18%);--kw-primary-900:hsl(218,30%,10%);
 --kw-grey-100:hsl(210,12%,97%);--kw-grey-200:hsl(210,12%,93%);--kw-grey-300:hsl(210,12%,84%);--kw-grey-600:hsl(210,12%,40%);--kw-grey-700:hsl(210,16%,30%);--kw-grey-900:hsl(210,25%,12%);
 --kw-hero-text:hsl(210,24%,85%);--kw-hero-accent:hsl(210,70%,80%);--kw-hero-edge:hsl(210,18%,36%);--kw-radius:4px;
}
.kw-brand{border:0;padding:0}.kw-wordmark{font-weight:600;letter-spacing:.04em}.kw-header-inner{min-height:96px}
.kw-nav>a{font-size:16px;font-weight:600;color:hsl(0,0%,0%);justify-content:center}
.kw-nav>a:hover,.kw-nav>a[aria-current]{color:hsl(0,0%,0%);text-decoration-color:var(--kw-blue)}
.kw-nav .kw-nav-cta{background:transparent;color:hsl(0,0%,0%);margin-top:0;border-radius:0}.kw-nav .kw-nav-cta:hover,.kw-nav .kw-nav-cta[aria-current]{background:transparent;color:hsl(0,0%,0%)}
/* Original-site product photography stays separate from editable headline copy. */
.kw-logo-img{width:256px;max-width:256px;max-height:96px;height:auto}.kw-footer-logo{width:256px;max-width:256px;max-height:none}
.kw-hero{background:var(--kw-primary-100);color:var(--kw-ink);overflow:hidden;border-bottom:var(--kw-hairline) solid var(--kw-line)}
.kw-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);padding:48px 0 32px;gap:32px;align-items:center}
.kw-hero-copy{min-width:0;max-width:640px}
.kw-hero .kw-kicker{font-size:12px;color:var(--kw-blue);display:flex;align-items:center;gap:12px;letter-spacing:.12em}
.kw-hero .kw-kicker:before{content:"";width:24px;height:var(--kw-focus-width);background:var(--kw-blue)}
.kw-hero h1{font-size:30px;font-weight:600;line-height:1.5;color:var(--kw-ink);margin:24px 0;max-width:640px;letter-spacing:0;text-wrap:initial}
.kw-hero p{font-size:16px;line-height:1.9;color:var(--kw-muted);max-width:512px;margin:0 0 32px}
.kw-hero .kw-button-blue{background:var(--kw-blue);color:var(--kw-white);box-shadow:none}.kw-hero .kw-button-blue:hover{background:var(--kw-primary-600)}
.kw-hero .kw-button-outline{color:var(--kw-blue);background:transparent}.kw-hero .kw-button-outline:hover{background:var(--kw-primary-200)}
.kw-hero-visual{position:relative;margin:0;min-width:0}
.kw-hero-concept,.kw-hero-image{width:100%;height:auto;object-fit:contain;max-width:none;border-radius:var(--kw-radius);display:block}
.kw-hero-visual figcaption{font-size:12px;color:var(--kw-caption);padding-top:12px;text-align:right}
.kw-hero-bottom{border-top:var(--kw-hairline) solid var(--kw-line);padding:16px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--kw-muted)}
.kw-hero-bottom a{display:inline-flex;align-items:center;gap:24px;min-height:48px;font-size:14px;color:var(--kw-blue)}
.kw-solution-thumbnail{grid-column:2;grid-row:2;display:block;width:192px;height:128px;box-sizing:border-box;object-fit:cover;object-position:center;background:var(--kw-grey-100);border:var(--kw-hairline) solid var(--kw-line)}
.kw-solution-with-image p{grid-row:3}
.kw-keep-phrase{white-space:nowrap}.kw-eyebrow{font-size:12px;letter-spacing:.12em}.kw-section-head h2{text-wrap:balance;font-size:30px;line-height:1.4;margin:16px 0 24px}.kw-section-head p{font-size:16px;line-height:1.9}
.kw-business-section{background:var(--kw-white)}
.kw-solution-grid{display:flex;flex-direction:column;gap:0;border:0;background:transparent}
.kw-solution-card{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;gap:12px 16px;align-items:start;min-height:0;padding:32px 0;border:0;border-top:var(--kw-hairline) solid var(--kw-line);border-radius:0;background:transparent;transition:color .2s}
.kw-card-top{display:block;grid-column:1;grid-row:1;margin:4px 0 0}.kw-solution-icon{display:none}.kw-card-number{font-size:12px;color:var(--kw-caption);line-height:1.5;padding:0}
.kw-solution-card h3{grid-column:2;grid-row:1;font-size:20px;line-height:1.5;margin:0}.kw-solution-card h3 a:hover{color:var(--kw-blue)}
.kw-solution-card p{grid-column:2;grid-row:2;font-size:16px;line-height:1.9;margin:0;max-width:640px}
.kw-solution-card .kw-text-link{grid-column:3;grid-row:1;display:block;align-self:start;font-size:0;margin:0;min-width:24px;min-height:32px;color:var(--kw-blue)}
.kw-solution-card .kw-text-link span{font-size:24px;font-weight:400}.kw-solution-card:focus-within h3 a{color:var(--kw-blue)}
.kw-home-case-section{background:var(--kw-grey-100)}.kw-case-grid{gap:32px}.kw-case-card-body{padding:24px}.kw-case-card h3{font-size:20px}.kw-case-cover{position:relative}.kw-case-cover:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px hsla(0,0%,0%,.1);pointer-events:none}
.kw-process-section{background:var(--kw-grey-100)}.kw-steps{display:flex;flex-direction:column;gap:0;margin-bottom:32px}.kw-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px 16px;border-top:var(--kw-hairline) solid var(--kw-line);padding:24px 0}.kw-step>span{grid-column:1;grid-row:1;font-size:14px;line-height:1.5;color:var(--kw-blue);font-weight:400;padding-top:4px}.kw-step h3{grid-column:2;grid-row:1;font-size:20px;margin:0}.kw-step p{grid-column:2;grid-row:2;line-height:1.9;margin:0}
.kw-news-card .kw-case-card-body{justify-content:flex-start;padding:24px}.kw-news-card h3{margin:12px 0 0;line-height:1.5}
.kw-process-section{padding-block:48px}.kw-process-section+.kw-section{padding-block:48px}
.kw-process-layout>.kw-section-head{margin-bottom:24px}.kw-process-layout>.kw-section-head h2{margin-bottom:0}
.kw-process-layout .kw-steps{margin-bottom:16px}.kw-process-layout .kw-step{padding-block:16px;row-gap:8px}
.kw-about-preview{background:var(--kw-white)}.kw-about-grid{gap:48px}.kw-about-no-image{display:block}.kw-about-no-image>div>p{font-size:18px;line-height:1.9;max-width:768px}.kw-about-no-image .kw-section-head{margin-bottom:24px}.kw-about-no-image .kw-section-head h2{font-size:30px;max-width:768px}.kw-about-no-image .kw-text-link{margin-top:16px}
.kw-cta{background:var(--kw-primary-100);border-top:var(--kw-hairline) solid var(--kw-line);padding:48px 0}.kw-cta .kw-eyebrow{color:var(--kw-blue)}.kw-cta h2{font-size:36px;color:var(--kw-ink);margin:16px 0}.kw-cta p{color:var(--kw-muted);max-width:640px}.kw-cta .kw-button-white{background:var(--kw-blue);color:var(--kw-white)}.kw-cta .kw-button-white:hover{background:var(--kw-primary-600)}
.kw-footer{background:var(--kw-navy);color:var(--kw-hero-text)}.kw-footer-brand,.kw-footer h2{color:var(--kw-white)}.kw-footer a,.kw-footer p,.kw-footer-bottom{color:var(--kw-hero-text)}.kw-footer a:hover{color:var(--kw-white)}.kw-footer a:focus-visible{outline-color:var(--kw-hero-accent)}.kw-footer-bottom{border-color:var(--kw-hero-edge)}
.kw-footer-grid>div:nth-child(2){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-content:start}.kw-footer-grid>div:nth-child(2)>h2{grid-column:1/-1}
.kw-page-hero,.kw-page>h1{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;font-synthesis:none}
.kw-page-hero{background:var(--kw-white);padding:16px 0 24px;margin-top:0;margin-bottom:0;border:0;border-radius:0}
.kw-page-hero h1,.kw-page>h1{font-size:30px;font-weight:400;line-height:1.4;letter-spacing:0;margin:0 0 16px;max-width:calc(768px + 192px);text-wrap:balance;overflow-wrap:break-word}
.kw-page-hero p,.kw-page-intro p{font-size:16px;font-weight:400;line-height:1.8;max-width:calc(768px + 192px);margin:0;text-wrap:pretty;overflow-wrap:break-word;word-break:normal}.kw-page-hero .kw-button{margin-top:24px}
.kw-page-intro p+p{margin-top:16px}
.kw-page-hero+.kw-section-tight{padding-top:24px}
.kw-page-hero+.kw-section{padding-top:32px}
.kw-page{margin-top:24px}
.kw-breadcrumb{padding-top:16px;font-size:14px;line-height:1.5}.kw-section-tight{padding:48px 0 64px}.kw-section-tight>.kw-solution-grid>.kw-solution-card:first-child{border-top:0;padding-top:0}.kw-detail-aside{border-top:4px solid var(--kw-blue);background:var(--kw-white)}.kw-detail-section h2{padding:0;border:0;font-size:24px}.kw-feature-list{gap:12px}
.kw-service-card{background:var(--kw-white);padding:32px;border:0;border-top:var(--kw-hairline) solid var(--kw-line)}.kw-service-card>span{font-size:14px;font-weight:400}
.kw-contact-info{padding:0;background:transparent;color:var(--kw-muted)}.kw-contact-info h2{font-size:24px;color:var(--kw-ink);margin:16px 0 24px}.kw-contact-info p{font-size:16px;line-height:1.9;margin:0 0 24px}.kw-contact-info span,.kw-contact-info .kw-eyebrow{color:var(--kw-blue)}.kw-contact-info a{color:var(--kw-ink)}.kw-contact-info>div{border-color:var(--kw-line)}.kw-contact-info>div:last-child{padding-bottom:0}.kw-form-card{border-top:4px solid var(--kw-blue);padding:24px}
.kw-empty{padding:32px;background:var(--kw-grey-100);min-height:128px;display:flex;align-items:center;font-size:16px;border:0;border-left:4px solid var(--kw-line)}
@media(min-width:384px){.kw-container{width:calc(100% - 48px)}}
.kw-solution-card.kw-solution-with-image p{grid-row:3}
@media(max-width:383px){.kw-logo-img{width:192px;max-width:192px}.kw-hero h1{font-size:24px}.kw-wordmark{font-size:20px}.kw-actions{align-items:stretch;flex-direction:column}.kw-actions .kw-button-outline{justify-content:flex-start}.kw-form-card{padding:24px 16px}.kw-section-head h2,.kw-page-hero h1,.kw-page>h1{font-size:24px}.kw-solution-card{grid-template-columns:24px minmax(0,1fr) 24px;column-gap:12px}}
@media(min-width:768px){
 .kw-container{width:calc(100% - 64px)}
 .kw-hero-grid{padding:64px 0 48px;gap:48px}.kw-hero h1{font-size:48px;line-height:1.35;margin:32px 0}.kw-hero p{font-size:18px;margin-bottom:32px}.kw-hero-visual{max-width:640px}.kw-hero-bottom{font-size:14px;padding:8px 0 24px}
 .kw-section-head{margin-bottom:48px}.kw-section-head h2{font-size:36px}.kw-solution-card{grid-template-columns:48px minmax(0,1fr) 32px;gap:16px 24px;padding:32px 0}.kw-solution-card h3{font-size:24px}.kw-card-top{margin-top:8px}
 .kw-solution-with-image{grid-template-columns:48px 192px minmax(0,1fr) 32px;column-gap:24px;align-items:center}
 .kw-solution-with-image .kw-solution-thumbnail{grid-column:2;grid-row:1/3;width:192px;height:160px;align-self:center}
 .kw-solution-with-image h3,.kw-solution-with-image p{grid-column:3}
 .kw-solution-card.kw-solution-with-image p{grid-row:2}.kw-solution-with-image .kw-text-link{grid-column:4}
 .kw-service-grid,.kw-partner-grid,.kw-about-services,.kw-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kw-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-form-card{padding:32px}.kw-filter label{width:256px}.kw-footer-grid{grid-template-columns:256px minmax(0,1fr);gap:32px 48px}.kw-footer-grid>div:first-child{grid-column:1/-1}.kw-footer-bottom{margin-top:48px}
 .kw-page-hero{padding:16px 0 24px}.kw-page-hero h1,.kw-page>h1{font-size:36px}.kw-page-hero p,.kw-page-intro p{font-size:16px}
 .kw-page-hero+.kw-section{padding-top:48px}
 .kw-case-list{display:flex;flex-direction:column;gap:0}.kw-case-list .kw-case-card{display:grid;grid-template-columns:256px minmax(0,1fr);gap:32px;padding:32px 0;border-bottom:var(--kw-hairline) solid var(--kw-line);border-radius:0}.kw-case-list .kw-case-card-body{padding:0}.kw-case-list .kw-case-cover{align-self:start}.kw-about-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px}
 .kw-about-no-image .kw-section-head h2{font-size:48px}.kw-about-no-image>div>p{font-size:20px}
}
@media(min-width:1024px){
 .kw-business-section{padding-block:64px}
 :root{--kw-section-space:96px}.kw-header-inner{gap:32px}.kw-menu-toggle{display:none}.kw-nav,.kw-nav.is-open{display:flex;position:static;flex-direction:row;padding:0;gap:24px;background:transparent;box-shadow:none;align-items:center;justify-content:center;flex:1;min-width:0;flex-wrap:wrap}.kw-nav>a{padding:12px 0;font-size:16px;white-space:nowrap}.kw-nav>a:hover{background:transparent}.kw-nav .kw-nav-cta{margin:0;padding:12px 0}
 .kw-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:64px 0;gap:48px;min-height:512px}.kw-hero h1{font-size:48px;line-height:1.4}.kw-hero p{max-width:512px}.kw-hero-bottom{padding:8px 0 24px}
 .kw-business-layout,.kw-process-layout{display:grid;grid-template-columns:256px minmax(0,1fr);gap:64px;align-items:start}.kw-business-layout>.kw-section-head{position:sticky;top:48px}.kw-business-layout .kw-section-head h2{max-width:256px;line-height:1.4}.kw-business-layout .kw-section-head p{margin-top:24px}
 .kw-step{grid-template-columns:48px 128px minmax(0,1fr);gap:24px;padding:32px 0}.kw-step h3{grid-column:2}.kw-step p{grid-column:3;grid-row:1}.kw-step>span{padding-top:4px}.kw-process-layout{row-gap:0}.kw-process-layout>.kw-text-link{grid-column:2}
 .kw-case-grid,.kw-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.kw-home-cases .kw-case-card h3{font-size:20px}
 .kw-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}.kw-about-no-image{display:block}.kw-about-no-image>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 96px;align-items:center}.kw-about-no-image .kw-section-head{grid-row:1/3;margin:0}.kw-about-no-image .kw-section-head h2{font-size:48px;line-height:1.4;margin-bottom:0}.kw-about-no-image>div>p{font-size:18px;margin:0;align-self:end}.kw-about-no-image .kw-text-link{grid-column:2;margin:0;align-self:start}
 .kw-cta{padding:64px 0}.kw-cta-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:48px}.kw-cta h2{font-size:48px}.kw-cta .kw-button{flex-shrink:0}.kw-footer{padding-top:64px}.kw-footer-grid{grid-template-columns:minmax(0,1fr) 192px 384px;gap:48px}.kw-footer-grid>div:first-child{grid-column:auto}
 .kw-section-tight{padding:48px 0 96px}.kw-detail-grid{grid-template-columns:minmax(0,1fr) 256px;gap:64px}.kw-detail-aside{position:sticky;top:32px}.kw-contact-grid{grid-template-columns:384px minmax(0,1fr);gap:64px}.kw-case-list .kw-case-card{grid-template-columns:384px minmax(0,1fr);gap:48px}
}
@media(min-width:1024px) and (max-width:1199px){.kw-nav,.kw-nav.is-open{gap:16px}.kw-business-layout,.kw-process-layout{gap:48px}.kw-step{grid-template-columns:32px minmax(0,1fr)}.kw-step p{grid-column:2;grid-row:2}}
@media(min-width:1200px){.kw-solution-with-image{grid-template-columns:48px 256px minmax(0,1fr) 32px}.kw-solution-with-image .kw-solution-thumbnail{width:256px;height:192px}}
/* The homepage catalog uses the full content width: six services in three rows. */
@media(min-width:1024px){
 .kw-business-layout{display:block}
 .kw-business-layout>.kw-section-head{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 48px;margin-bottom:32px;align-items:center}
 .kw-business-layout .kw-section-head .kw-eyebrow{grid-column:1}
 .kw-business-layout .kw-section-head h2{grid-column:1;max-width:none;font-size:36px;margin:0}
 .kw-business-layout .kw-section-head p{grid-column:2;grid-row:1/3;margin:0;max-width:512px}
 .kw-business-layout .kw-solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
 .kw-business-layout .kw-solution-card{grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:min-content 1fr;gap:12px 16px;padding:24px 0;align-items:start;position:relative}
 .kw-business-layout .kw-solution-card.kw-solution-with-image{grid-template-columns:192px minmax(0,1fr) 24px;column-gap:24px}
 .kw-business-layout .kw-solution-card .kw-card-top{display:none}
 .kw-business-layout .kw-solution-card .kw-solution-thumbnail{grid-column:1;grid-row:1/3;width:192px;height:160px;align-self:center}
 .kw-business-layout .kw-solution-card h3{grid-column:1;grid-row:1;font-size:20px;line-height:1.5}
 .kw-business-layout .kw-solution-card p{grid-column:1;grid-row:2;font-size:14px;line-height:1.8}
 .kw-business-layout .kw-solution-with-image h3,.kw-business-layout .kw-solution-with-image p{grid-column:2}
 .kw-business-layout .kw-solution-card .kw-text-link{grid-column:2;grid-row:1}
 .kw-business-layout .kw-solution-with-image .kw-text-link{grid-column:3}
}
@media(min-width:1024px) and (max-width:1199px){
 .kw-business-layout .kw-solution-grid{column-gap:32px}
 .kw-business-layout .kw-solution-card.kw-solution-with-image{grid-template-columns:128px minmax(0,1fr) 24px;column-gap:16px}
 .kw-business-layout .kw-solution-card .kw-solution-thumbnail{width:128px;height:128px}
}
/* Compact process: four readable stages, with no vacant sidebar. */
@media(min-width:768px){
 .kw-process-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 32px;align-items:start}
 .kw-process-layout>.kw-section-head{grid-column:1;grid-row:1;margin:0}
 .kw-process-layout>.kw-section-head h2{font-size:30px;margin:12px 0 0;max-width:none}
 .kw-process-layout>.kw-text-link{grid-column:2;grid-row:1;align-self:end;margin:0}
 .kw-process-layout .kw-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:0}
 .kw-process-layout .kw-step{display:block;padding:24px 0 0;min-width:0}
 .kw-process-layout .kw-step>span{padding:0;font-size:14px}
 .kw-process-layout .kw-step h3{font-size:20px;margin:12px 0 8px}
 .kw-process-layout .kw-step p{font-size:16px;line-height:1.8;max-width:24em}
}
@media(min-width:1024px){
 .kw-process-section,.kw-process-section+.kw-section{padding-block:64px}
 .kw-process-layout .kw-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kw-solution-card{transition:none}}

@media(min-width:1024px){.kw-solution-card.kw-solution-with-image p{grid-row:2}}

/* Optical framing is limited to the imported logo, leaving editable uploads intact. */
.kw-legacy-logo-frame{position:relative;display:block;overflow:hidden;width:256px;height:80px;flex-shrink:0}
.kw-legacy-logo-frame img{position:absolute;left:0;top:-24px;width:384px;max-width:none;height:auto;max-height:none;padding:0;border-radius:0}
.kw-legacy-logo-footer{margin-bottom:24px}
.kw-legacy-logo-footer img{left:16px;filter:brightness(0) invert(1)}
.kw-footer .kw-footer-phone{font-size:24px;font-weight:600;color:var(--kw-white);letter-spacing:.02em;margin-bottom:16px}
.kw-footer .kw-footer-address{margin:0 0 24px;line-height:1.75}
.kw-footer-address span{display:block;color:var(--kw-hero-accent);font-size:12px;margin-bottom:4px}
.kw-empty-state{max-width:768px;padding:32px;background:var(--kw-grey-100);border-radius:var(--kw-radius)}
.kw-empty-state h2{font-size:24px;margin:0 0 12px}.kw-empty-state p{font-size:16px;margin:0 0 24px;line-height:1.9}
@media(max-width:767px){
 .kw-solution-card{grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center}
 .kw-solution-card .kw-card-top,.kw-solution-card .kw-text-link{display:none}
 .kw-solution-card h3{grid-column:1/-1;grid-row:1}
 .kw-solution-card.kw-solution-with-image h3{grid-column:2}
 .kw-solution-with-image .kw-solution-thumbnail{grid-column:1;grid-row:1;width:96px;height:96px}
 .kw-solution-card p,.kw-solution-card.kw-solution-with-image p{grid-column:1/-1;grid-row:2}
}
@media(min-width:384px) and (max-width:767px){.kw-solution-card{grid-template-columns:128px minmax(0,1fr)}.kw-solution-with-image .kw-solution-thumbnail{width:128px;height:128px}}
@media(max-width:383px){.kw-legacy-logo-frame{width:192px;height:64px}.kw-legacy-logo-frame img{width:256px;top:0}.kw-empty-state{padding:24px}}

/* Full-width original-site banners keep their complete artwork at every breakpoint. */
.kw-carousel{position:relative;background:var(--kw-white)}
.kw-carousel-stage{width:100%;aspect-ratio:1920 / 550;background:var(--kw-primary-100);overflow:hidden}
.kw-carousel-slide,.kw-carousel-slide>a{display:block;height:100%}.kw-carousel-slide[hidden],.kw-carousel-controls[hidden]{display:none}
.kw-carousel-image{display:block;width:100%;height:100%;object-fit:contain}
.kw-carousel-controls button{cursor:pointer;font:inherit;border:0}
.kw-carousel-controls [data-prev],.kw-carousel-controls [data-next]{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;padding:0;border-radius:50%;background:hsla(210,24%,96%,.6);color:var(--kw-grey-700);font-size:36px;line-height:1}
.kw-carousel-controls [data-prev]{left:24px}.kw-carousel-controls [data-next]{right:24px}
.kw-carousel-controls [data-prev]:hover,.kw-carousel-controls [data-next]:hover{background:hsla(210,24%,96%,.8)}
.kw-carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 128px)}
.kw-carousel-dots button{display:grid;place-items:center;width:24px;height:32px;background:transparent;padding:4px}
.kw-carousel-dots span{display:block;width:16px;height:16px;background:var(--kw-white);border-radius:50%;box-shadow:0 1px 3px hsla(0,0%,0%,.2)}
.kw-carousel-dots [aria-current=true] span{background:hsl(126,85%,33%);box-shadow:0 0 0 2px var(--kw-white)}
.kw-carousel-controls button:focus-visible{outline:2px solid var(--kw-blue);outline-offset:4px}
.kw-carousel-pause:focus{position:absolute!important;top:16px;left:50%;transform:translateX(-50%);z-index:2;padding:12px 16px;background:var(--kw-white);color:var(--kw-ink);width:auto;height:auto;clip:auto;clip-path:none}
@media(max-width:767px){.kw-carousel-controls [data-prev],.kw-carousel-controls [data-next]{width:32px;height:32px;font-size:24px}.kw-carousel-controls [data-prev]{left:8px}.kw-carousel-controls [data-next]{right:8px}.kw-carousel-dots{bottom:4px;max-width:calc(100% - 96px)}.kw-carousel-dots button{width:24px;height:24px}.kw-carousel-dots span{width:8px;height:8px}}
.kw-home-intro{padding:48px 0;background:var(--kw-primary-100)}.kw-home-intro-grid{display:grid;gap:24px}.kw-home-intro h1{font-size:24px;line-height:1.5;margin:12px 0 0;max-width:512px}.kw-home-intro p{font-size:16px;line-height:1.9;margin:0 0 24px}.kw-home-intro .kw-actions{gap:24px}
@media(min-width:768px){.kw-home-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.kw-home-intro h1{font-size:30px}}
@media(min-width:1024px){.kw-home-intro{padding:48px 0}.kw-home-intro-grid{gap:96px}.kw-home-intro h1{font-size:36px}}

@media(prefers-reduced-motion:no-preference){.kw-carousel-slide:not([hidden]){animation:kw-banner-in .3s ease-out}@keyframes kw-banner-in{from{opacity:.4}to{opacity:1}}}

@media(max-width:767px){.kw-carousel-stage{aspect-ratio:12 / 5}.kw-carousel-image{object-fit:contain}}

/* Compact news index: covers above short metadata and full editable titles. */
.kw-news-list{display:grid;grid-template-columns:minmax(0,1fr);gap:32px 24px;align-items:start}
.kw-news-list .kw-news-card{border:0;border-radius:0;background:transparent;min-height:0}
.kw-news-list .kw-case-card-body{padding:16px 0 0}
.kw-news-list .kw-news-card h3{font-size:18px;line-height:1.5;margin:8px 0 0;overflow-wrap:anywhere}
.kw-news-list .kw-news-empty{grid-column:1/-1}
@media(min-width:768px){.kw-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.kw-news-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}}

/* Mobile collections scroll within their own row; desktop layout is unchanged. */
.kw-rail-hint{display:none}
@media(max-width:767px){
 main :is(.kw-solution-grid,.kw-case-grid,.kw-steps,.kw-service-grid,.kw-partner-grid,.kw-about-services,.kw-about-gallery){
  display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;align-items:flex-start;
  overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:auto;
  min-width:0;max-width:100%;padding-block:4px 12px;scrollbar-width:none;
 }
 main :is(.kw-solution-grid,.kw-case-grid,.kw-steps,.kw-service-grid,.kw-partner-grid,.kw-about-services,.kw-about-gallery)>*{
  flex:0 0 min(384px,calc(100% - 32px));min-width:0;scroll-snap-align:none;overflow-wrap:anywhere;
 }
 main :is(.kw-solution-grid,.kw-case-grid,.kw-steps,.kw-service-grid,.kw-partner-grid,.kw-about-services,.kw-about-gallery)>:only-child{flex-basis:100%}
 main .kw-service-grid .kw-service-card{padding:24px 16px}
 main .kw-steps .kw-step{padding-top:16px}
 main .kw-case-grid .kw-case-card-body{padding:16px}
 main .kw-case-grid .kw-news-card .kw-case-card-body{padding:16px 0 0}
 main .kw-solution-grid .kw-solution-card{padding-block:16px}
 main .kw-about-gallery{margin-block:24px}
 main .kw-rail-hint:not([hidden]){display:block;font-size:12px;color:var(--kw-caption);margin:8px 0 16px}
 main .kw-service-grid+.kw-rail-hint,main .kw-about-gallery+.kw-rail-hint{width:calc(100% - 32px);max-width:1152px;margin-inline:auto}
 main [data-mobile-rail]:focus-visible{outline:2px solid var(--kw-blue);outline-offset:4px}
 main :is(.kw-solution-grid,.kw-case-grid,.kw-steps,.kw-service-grid,.kw-partner-grid,.kw-about-services,.kw-about-gallery)::-webkit-scrollbar{display:none}
}
