/* Kaizen: observation → order → action. Scoped to the commercial page. */
.kz { --kz-muted:#59595f; --kz-space:clamp(64px,7vw,104px); color:var(--ink); }
.kz *, .kz *::before, .kz *::after { box-sizing:border-box; }
.kz h1,.kz h2,.kz h3,.kz p,.kz figure,.kz dl,.kz dd,.kz ol { margin:0; }
.kz ol { padding:0; list-style:none; }
.kz h1,.kz h2,.kz h3 { font-weight:500; text-wrap:balance; }
.kz h1 { font-size:clamp(48px,5.2vw,76px); line-height:1.02; letter-spacing:-.055em; }
.kz h2 { font-size:clamp(34px,3.4vw,50px); line-height:1.1; letter-spacing:-.04em; }
.kz h3 { font-size:24px; line-height:1.25; letter-spacing:-.025em; }
.kz p,.kz dd { font-size:18px; line-height:1.6; color:var(--kz-muted); }
.kz .kz-lead { font-size:19px; line-height:1.6; max-width:56ch; }
.kz .kz-kicker { font-size:14px; font-weight:500; color:var(--kz-muted); margin-bottom:20px; }
.kz .kz-number { font-size:14px; line-height:1.7; font-weight:600; color:var(--red); font-variant-numeric:tabular-nums; }
.kz-chapter { padding-block:var(--kz-space); }
.kz [id] { scroll-margin-top:24px; }
.kz-section-head { max-width:820px; margin-bottom:48px; }
.kz-editorial { display:grid; grid-template-columns:5fr 6fr; gap:clamp(40px,7vw,104px); align-items:start; }
.kz-editorial > header { max-width:520px; }
.kz a:focus-visible,.kz summary:focus-visible { outline:2px solid var(--red); outline-offset:5px; border-radius:8px; }
.kz .link-arrow { min-height:44px; gap:12px; }
.kz .link-arrow span { flex-shrink:0; }
.kz-hero { background:#fff; padding-block:96px 80px; }
.kz-hero .eyebrow--red { color:var(--red); font-size:13px; }
.kz-hero .breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:64px; font-size:13px; }
.kz-hero .breadcrumbs li { display:flex; align-items:center; min-height:44px; }
.kz-hero__grid { display:grid; grid-template-columns:1.08fr 1fr; gap:48px; align-items:center; }
.kz-hero .eyebrow { margin-bottom:24px; }
.kz-hero h1 span { display:block; color:var(--red); }
.kz-hero .kz-lead { margin-top:32px; }
.kz-actions { display:flex; gap:24px; flex-wrap:wrap; align-items:center; margin-top:32px; }
.kz-rise { padding:32px 24px; min-width:0; }
.kz-rise__track { height:300px; display:flex; gap:10px; align-items:flex-end; padding-bottom:24px; }
.kz-rise__track i { display:block; flex:1; height:28%; border-radius:12px 12px 4px 4px; background:#e9e9eb; }
.kz-rise__track i:nth-child(2) { height:38%; }
.kz-rise__track i:nth-child(3) { height:48%; }
.kz-rise__track i:nth-child(4) { height:60%; background:#c9c9ce; }
.kz-rise__track i:nth-child(5) { height:72%; background:#a3a3ab; }
.kz-rise__track i:nth-child(6) { height:86%; background:#5b5b63; }
.kz-rise__track i:nth-child(7) { height:100%; background:var(--red); }
.kz-rise figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:24px; font-size:14px; }
.kz-rise figcaption span { color:var(--kz-muted); }
.kz-rise figcaption strong { max-width:15ch; font-weight:500; text-align:right; }
.kz-rise p { margin-top:32px; font-size:16px; }
.kz-problems { display:grid; gap:32px; }
.kz-problems li { display:grid; grid-template-columns:24px 1fr; gap:20px; }
.kz-problems h3 { font-size:23px; }
.kz-problems p { margin-top:8px; }
.kz .kz-conclusion { font-size:26px; line-height:1.35; color:var(--ink); margin-top:48px; letter-spacing:-.02em; }
.kz-philosophy { text-align:center; background:#fff; }
.kz-philosophy h2 { font-size:22px; letter-spacing:-.02em; }
.kz .kz-statement { max-width:940px; margin:24px auto 48px; color:var(--ink); font-size:clamp(38px,4.3vw,62px); line-height:1.12; letter-spacing:-.045em; }
.kz-statement em { font-style:normal; color:var(--red); }
.kz-word { display:flex; align-items:center; justify-content:center; gap:64px; }
.kz-word dt { font-size:clamp(56px,7vw,96px); line-height:1; letter-spacing:-.04em; font-weight:500; }
.kz-word dd { margin-top:12px; }
.kz-word > div+div::before { content:'+'; position:absolute; left:-40px; top:16px; font-size:40px; color:#aaa; }
.kz-word > div { position:relative; }
.kz .kz-definition { margin-top:40px; font-size:16px; }
.kz-definition span { color:var(--red); margin-inline:8px; }
.kz-rules { background:#181818; color:#fff; }
.kz-rules__grid { display:grid; grid-template-columns:4fr 6fr; gap:96px; align-items:start; }
.kz-rules__intro { position:sticky; top:112px; }
.kz-rules .kz-kicker,.kz-rules p { color:#bdbdc3; }
.kz-rule-index { display:flex; align-items:baseline; gap:12px; margin-top:40px; }
.kz-rule-index span { font-size:144px; line-height:1; letter-spacing:-.065em; font-variant-numeric:tabular-nums; }
.kz-rule-index small { color:#bdbdc3; font-size:20px; }
.kz-rule-progress { height:3px; max-width:200px; background:#414146; margin-top:24px; border-radius:4px; overflow:hidden; }
.kz-rule-progress i { display:block; height:100%; background:#ff6969; transform:scaleX(.1429); transform-origin:left; transition:transform 320ms var(--ease-out); }
.kz-rules__list { display:grid; gap:48px; }
.kz-rules__list li { display:grid; grid-template-columns:32px 1fr; gap:24px; padding-block:16px; }
.kz-rules__list .kz-number { color:#ff8585; }
.kz-rules__list h3 { font-size:30px; }
.kz-rules__list p { margin-top:12px; }
.kz-five { background:#fff; }
.kz-five__grid { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:start; }
.kz-order { background:var(--canvas); border-radius:var(--radius-lg); padding:32px; position:sticky; top:104px; }
.kz-order__caption { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.kz-order__caption strong { font-size:40px; letter-spacing:-.04em; font-weight:500; }
.kz-order__caption span { font-size:14px; max-width:24ch; text-align:right; }
.kz-order__field { position:relative; height:240px; margin-block:24px; }
.kz-piece { position:absolute; width:19%; height:22%; left:calc(5% + var(--col)*24%); top:calc(9% + var(--row)*30%); border-radius:8px; background:#3b3b43; transition:transform 480ms var(--ease-out), opacity 240ms, background-color 240ms; transform:translate(var(--dx),var(--dy)) rotate(var(--rot)); }
.kz-piece--0 { --col:0; --row:0; --dx:8px; --dy:15px; --rot:-12deg; }
.kz-piece--1 { --col:1; --row:0; --dx:24px; --dy:-12px; --rot:20deg; }
.kz-piece--2 { --col:2; --row:0; --dx:-12px; --dy:20px; --rot:-8deg; }
.kz-piece--3 { --col:3; --row:0; --dx:-10px; --dy:8px; --rot:15deg; }
.kz-piece--4 { --col:0; --row:1; --dx:14px; --dy:0px; --rot:24deg; }
.kz-piece--5 { --col:1; --row:1; --dx:-12px; --dy:8px; --rot:-20deg; background:var(--red); }
.kz-piece--6 { --col:2; --row:1; --dx:20px; --dy:0px; --rot:14deg; }
.kz-piece--7 { --col:3; --row:1; --dx:-16px; --dy:16px; --rot:-14deg; }
.kz-piece--8 { --col:0; --row:2; --dx:0px; --dy:-4px; --rot:-18deg; }
.kz-piece--9 { --col:1; --row:2; --dx:12px; --dy:16px; --rot:10deg; }
.kz-piece--10 { --col:2; --row:2; --dx:0px; --dy:-12px; --rot:-12deg; }
.kz-piece--11 { --col:3; --row:2; --dx:-12px; --dy:0px; --rot:22deg; }
.kz-order:not([data-order-stage="0"]) .kz-piece { transform:none; }
.kz-order[data-order-stage="2"] .kz-piece,.kz-order[data-order-stage="3"] .kz-piece,.kz-order[data-order-stage="4"] .kz-piece { background:#bcbcc3; }
.kz-order[data-order-stage="3"] .kz-piece:nth-child(4n+2),.kz-order[data-order-stage="4"] .kz-piece:nth-child(4n+2) { background:var(--red); }
.kz-order figcaption { color:var(--kz-muted); font-size:16px; line-height:1.5; }
.kz .kz-safety { margin-top:24px; color:var(--ink); font-size:16px; }
.kz-safety span { color:var(--red); margin-right:8px; }
.kz-five__steps { display:grid; gap:8px; }
.kz-five details { padding:20px 24px; border-radius:var(--radius-md); }
.kz-five details[open] { background:var(--canvas); }
.kz-five summary { display:grid; grid-template-columns:24px 1fr 16px; gap:16px; align-items:start; cursor:pointer; list-style:none; min-height:52px; }
.kz-five summary::-webkit-details-marker { display:none; }
.kz-five summary small { font-size:12px; letter-spacing:.05em; display:block; margin-bottom:8px; color:var(--kz-muted); }
.kz-five summary strong { font-size:22px; line-height:1.3; font-weight:500; display:block; }
.kz-five summary i { position:relative; width:14px; height:14px; margin-top:24px; }
.kz-five summary i::before,.kz-five summary i::after { content:''; position:absolute; top:6px; width:14px; height:2px; background:var(--red); }
.kz-five summary i::after { transform:rotate(90deg); transition:transform 180ms; }
.kz-five details[open] summary i::after { transform:rotate(0); }
.kz-five details p { padding-left:40px; margin-top:16px; }
.kz-workflow__list { display:grid; grid-template-columns:1fr 1fr; gap:40px 64px; }
.kz-workflow__list li { display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; }
.kz-workflow__list .kz-number { background:#fff; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; }
.kz-workflow__list h3 { padding-top:6px; }
.kz-workflow__list p { margin-top:12px; max-width:47ch; }
.kz-workflow__list li:last-child { grid-column:1/-1; max-width:800px; }
.kz-system { background:#fff; }
.kz-system__map { display:grid; grid-template-columns:1fr 1.8fr; align-items:center; gap:64px; }
.kz-system__core { padding:40px 32px; background:#181818; color:#fff; border-radius:var(--radius-lg); position:relative; }
.kz-system__core::after { content:''; position:absolute; width:64px; height:2px; top:50%; left:100%; background:#c7c7cd; }
.kz-system__core span { color:#ff8585; font-size:14px; letter-spacing:.06em; }
.kz-system__core strong { display:block; margin-top:24px; font-size:28px; line-height:1.2; font-weight:500; letter-spacing:-.025em; }
.kz-system__branches { position:relative; padding-left:32px!important; display:grid; gap:20px; border-left:2px solid #c7c7cd; }
.kz-system__branches li { position:relative; display:flex; gap:24px; align-items:baseline; }
.kz-system__branches li::before { content:''; position:absolute; right:calc(100% + 8px); top:13px; width:24px; height:2px; background:#c7c7cd; }
.kz-system__branches span { font-size:13px; color:var(--red); font-variant-numeric:tabular-nums; }
.kz-system__branches strong { font-size:22px; font-weight:500; }
.kz-assessment-loop { margin-top:32px!important; display:grid; gap:12px; }
.kz-assessment-loop li { font-size:18px; color:var(--kz-muted); }
.kz-assessment-loop li:not(:last-child)::after { content:'↓'; display:block; color:var(--red); margin-top:12px; }
.kz .kz-note { margin-top:24px; font-size:14px; }
.kz-maturity__scale { display:grid; gap:24px; }
.kz-maturity__scale li { display:grid; grid-template-columns:48px 1fr; gap:24px; }
.kz-maturity__scale li > span { font-size:40px; font-weight:500; line-height:1; color:var(--ink); }
.kz-level { display:flex; gap:6px; margin-top:12px; }
.kz-level i { height:6px; flex:1; background:#dedee2; border-radius:6px; }
.kz-level i.is-filled { background:var(--red); }
.kz-results { background:#fff; }
.kz-results__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 48px; }
.kz-results dt { font-size:25px; font-weight:500; letter-spacing:-.02em; }
.kz-results dt span { display:block; margin-bottom:12px; }
.kz-results dd { margin-top:12px; }
.kz-result-chain { display:flex; flex-wrap:wrap; gap:16px; padding-top:48px!important; }
.kz-result-chain li { font-size:12px; letter-spacing:.035em; color:var(--kz-muted); }
.kz-result-chain li:not(:last-child)::after { content:'→'; color:var(--red); margin-left:16px; }
.kz-action .kz-section-head { max-width:900px; }
.kz-plan { background:#fff; border-radius:var(--radius-lg); overflow:hidden; }
.kz-plan__header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 32px; background:#181818; color:#fff; }
.kz-plan__header strong { font-size:24px; font-weight:500; }
.kz-plan__header span { font-size:14px; color:#c5c5ca; }
.kz-plan__body { display:grid; grid-template-columns:1fr 1.6fr; gap:48px; padding:40px 32px; }
.kz-plan__problem h3 { font-size:16px; margin-top:20px; color:var(--kz-muted); }
.kz-plan__problem > p { font-size:26px; line-height:1.35; color:var(--ink); margin-top:12px; letter-spacing:-.025em; }
.kz-plan__problem dl { margin-top:24px; }
.kz-plan dt { font-size:13px; color:var(--kz-muted); margin-bottom:8px; }
.kz-plan dd { color:var(--ink); font-size:16px; }
.kz-plan__fields { display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; align-content:start; }
.kz-plan__fields > div:nth-child(2) { grid-column:1/-1; grid-row:2; }
.kz-plan__fields > div:first-child { grid-column:1/-1; }
.kz .kz-plan__note { padding:0 32px 32px; font-size:14px; max-width:80ch; }
.kz-audience { background:#fff; }
.kz-audience dl { display:grid; gap:32px; }
.kz-audience dt { font-size:24px; line-height:1.3; font-weight:500; letter-spacing:-.025em; }
.kz-audience dd { margin-top:12px; }
.kz-contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; }
.kz-contact .kz-lead { margin-top:24px; }
.kz-contact .link-arrow { margin-top:24px; }
.kz-direct { margin-top:40px; }
.kz-direct > p { font-size:14px; margin-bottom:16px; }
.kz-contact .lead-form__header h3 { font-size:30px; }
.kz-contact .lead-form__note { font-size:13px; }
.kz-related { display:flex; gap:32px; flex-wrap:wrap; padding-bottom:48px; }
.no-js .kz-rule-index,.no-js .kz-rule-progress { display:none; }
@media(min-width:961px) and (prefers-reduced-motion:no-preference) {
  .kz-rise__track i { animation:kz-build 650ms var(--ease-out) both; transform-origin:bottom; }
  .kz-rise__track i:nth-child(2) { animation-delay:60ms; }
  .kz-rise__track i:nth-child(3) { animation-delay:120ms; }
  .kz-rise__track i:nth-child(4) { animation-delay:180ms; }
  .kz-rise__track i:nth-child(5) { animation-delay:240ms; }
  .kz-rise__track i:nth-child(6) { animation-delay:300ms; }
  .kz-rise__track i:nth-child(7) { animation-delay:360ms; }
}
@keyframes kz-build { from { transform:scaleY(.4); } to { transform:scaleY(1); } }
@media(max-width:1100px) {
  .kz-hero__grid { gap:24px; }
  .kz-rise { padding-inline:0; }
  .kz-editorial,.kz-rules__grid,.kz-contact__grid { gap:48px; }
  .kz-five__grid { gap:32px; }
}
@media(max-width:960px) {
  .kz-hero__grid { grid-template-columns:1fr; gap:24px; }
  .kz-hero__copy { max-width:720px; }
  .kz-rise { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:end; padding:24px 0 0; }
  .kz-rise__track { grid-row:span 2; height:200px; padding-bottom:0; }
  .kz-rise figcaption { flex-direction:column; gap:8px; }
  .kz-rise figcaption strong { text-align:left; max-width:none; }
  .kz-rise p { margin:0; align-self:start; }
  .kz-editorial { grid-template-columns:1fr; gap:32px; }
  .kz-editorial > header { max-width:740px; }
  .kz-rules__grid { grid-template-columns:1fr 1.5fr; gap:32px; }
  .kz-rule-index span { font-size:112px; }
  .kz-five__grid { grid-template-columns:.9fr 1.1fr; gap:24px; }
  .kz-order { padding:24px; }
  .kz-order__caption { flex-direction:column; align-items:flex-start; gap:8px; }
  .kz-order__caption span { text-align:left; }
  .kz-five details { padding:16px; }
  .kz-five summary { gap:12px; }
  .kz-five summary strong { font-size:20px; }
  .kz-five details p { padding-left:0; }
  .kz-workflow__list { gap:32px; }
  .kz-workflow__list li { grid-template-columns:32px 1fr; gap:16px; }
  .kz-workflow__list .kz-number { width:32px; height:32px; }
  .kz-workflow__list h3 { padding:0; font-size:22px; }
  .kz-system__map { grid-template-columns:1fr 1.5fr; gap:32px; }
  .kz-system__core::after { width:32px; }
  .kz-system__core { padding:32px 24px; }
  .kz-system__core strong { font-size:24px; }
  .kz-system__branches strong { font-size:20px; }
  .kz-results__list { grid-template-columns:1fr 1fr; gap:32px; }
  .kz-plan__body { gap:32px; grid-template-columns:1fr 1.2fr; }
  .kz-contact__grid { gap:32px; }
  .kz-contact h2 { font-size:34px; }
  .kz-direct .contact-actions { grid-template-columns:1fr; }
  .kz-direct .contact-actions__item { min-height:76px; }
}
@media(max-width:600px) {
  .kz { --kz-space:56px; }
  .kz h1 { font-size:42px; letter-spacing:-.045em; }
  .kz h2 { font-size:32px; letter-spacing:-.035em; }
  .kz h3 { font-size:22px; }
  .kz p,.kz dd,.kz .kz-lead { font-size:16px; line-height:1.6; }
  .kz .kz-kicker { font-size:13px; margin-bottom:16px; }
  .kz-hero { padding-block:88px 48px; }
  .kz-hero .breadcrumbs { font-size:12px; gap:8px; margin-bottom:40px; }
  .kz-hero .eyebrow { margin-bottom:20px; }
  .kz-hero .kz-lead { margin-top:24px; }
  .kz-actions { gap:12px; margin-top:24px; }
  .kz-actions .btn { width:100%; }
  .kz-actions .link-arrow { justify-content:center; width:100%; }
  .kz-rise { display:block; padding-top:8px; }
  .kz-rise__track { height:160px; gap:8px; }
  .kz-rise figcaption { flex-direction:row; margin-top:16px; font-size:12px; }
  .kz-rise figcaption strong { max-width:15ch; text-align:right; }
  .kz-rise p { margin-top:16px; font-size:14px; }
  .kz-problems { gap:28px; }
  .kz-problems li { gap:12px; }
  .kz-problems h3 { font-size:21px; }
  .kz .kz-conclusion { font-size:24px; margin-top:32px; }
  .kz-philosophy h2 { font-size:18px; }
  .kz .kz-statement { font-size:34px; margin-block:24px 32px; }
  .kz-word { gap:48px; }
  .kz-word dt { font-size:56px; }
  .kz-word > div+div::before { font-size:24px; left:-32px; top:12px; }
  .kz .kz-definition { margin-top:24px; font-size:14px; }
  .kz-rules__grid { grid-template-columns:1fr; gap:32px; }
  .kz-rules__intro { position:static; }
  .kz-rule-index,.kz-rule-progress { display:none; }
  .kz-rules__list { gap:32px; }
  .kz-rules__list li { padding:0; grid-template-columns:24px 1fr; gap:12px; }
  .kz-rules__list h3 { font-size:24px; }
  .kz-rules__list p { margin-top:8px; }
  .kz-section-head { margin-bottom:32px; }
  .kz-five__grid { grid-template-columns:1fr; gap:24px; }
  .kz-order { position:static; padding:24px; }
  .kz-order__caption { flex-direction:row; align-items:center; gap:16px; }
  .kz-order__caption span { text-align:right; font-size:12px; max-width:20ch; }
  .kz-order__field { height:180px; margin-block:16px; }
  .kz-five details { padding:16px 12px; }
  .kz-five summary strong { font-size:20px; }
  .kz-workflow__list { grid-template-columns:1fr; gap:32px; }
  .kz-workflow__list li:last-child { grid-column:auto; }
  .kz-system__map { grid-template-columns:1fr; gap:0; }
  .kz-system__core { padding:24px; }
  .kz-system__core strong { margin-top:16px; }
  .kz-system__core::after { display:none; }
  .kz-system__branches { margin:0 0 0 24px!important; padding-top:32px!important; padding-left:24px!important; gap:24px; }
  .kz-system__branches li { gap:16px; }
  .kz-system__branches li::before { width:16px; }
  .kz-system__branches strong { font-size:18px; }
  .kz-maturity__scale li { grid-template-columns:32px 1fr; gap:16px; }
  .kz-maturity__scale li > span { font-size:32px; }
  .kz-results__list { grid-template-columns:1fr; gap:28px; }
  .kz-results dt { display:flex; gap:16px; align-items:baseline; font-size:23px; }
  .kz-results dt span { margin:0; }
  .kz-results dd { margin:8px 0 0 34px; }
  .kz-result-chain { flex-direction:column; gap:12px; padding-top:32px!important; }
  .kz-result-chain li:not(:last-child)::after { content:'↓'; margin-left:0; margin-top:12px; display:block; }
  .kz-plan__header { flex-direction:column; gap:8px; align-items:flex-start; padding:24px; }
  .kz-plan__body { grid-template-columns:1fr; padding:24px; gap:32px; }
  .kz-plan__problem h3 { font-size:14px; line-height:1.4; }
  .kz-plan__problem > p { font-size:24px; line-height:1.35; }
  .kz-plan__fields { grid-template-columns:1fr; gap:24px; }
  .kz-plan__fields > div { grid-column:auto!important; grid-row:auto!important; }
  .kz .kz-plan__note { padding:0 24px 24px; font-size:13px; }
  .kz-audience dt { font-size:22px; }
  .kz-audience dd { margin-top:8px; }
  .kz-contact__grid { grid-template-columns:1fr; gap:40px; }
  .kz-contact h2 { font-size:32px; }
  .kz-contact .lead-form__header h3 { font-size:26px; }
  .kz-related { flex-direction:column; gap:16px; padding-bottom:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .kz *, .kz *::before,.kz *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .kz-rules__intro,.kz-order { position:static; }
  .kz-rule-index,.kz-rule-progress { display:none; }
}
