/* 2.16.3 — homepage editorial-surreal polish.
 * Keeps the existing Elementor/video content and adds a restrained luxury
 * editorial system: deep black, ivory, gold, geometry and stronger hierarchy.
 */
body.ksc-homepage{
  background:#090909!important;
  color:#f5efe3;
  overflow-x:clip;
}
body.ksc-homepage .elementor-1103,
body.ksc-homepage .elementor-1103 > .e-con{
  background:#090909!important;
  color:#f5efe3;
}
body.ksc-homepage .elementor-1103 > .elementor-element.kaizen-video-host{
  isolation:isolate;
  position:relative;
  border-color:rgba(243,223,0,.58)!important;
  box-shadow:18px 18px 0 rgba(37,82,255,.32);
}
body.ksc-homepage .elementor-1103 > .elementor-element.kaizen-video-host::before{
  content:"";
  position:absolute;
  z-index:1;
  right:-10%;
  top:8%;
  width:38vw;
  max-width:560px;
  aspect-ratio:1;
  border:1px solid rgba(243,223,0,.55);
  border-radius:50%;
  transform:rotate(17deg);
  pointer-events:none;
}
body.ksc-homepage .elementor-1103 > .elementor-element.kaizen-video-host::after{
  content:"KAIZEN / COMMERCIAL SYSTEMS";
  position:absolute;
  z-index:1;
  right:18px;
  top:28%;
  color:rgba(245,239,227,.8);
  font:700 9px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.22em;
  writing-mode:vertical-rl;
  pointer-events:none;
}

/* One hero source per breakpoint. The performance script mirrors this choice
 * and parks the two unused copies before they can download. */
body.ksc-homepage #kaizen-video-host .kaizen-video-panel{display:none!important}
body.ksc-homepage #kaizen-video-host .kaizen-video-panel--1{display:block!important}
@media(max-width:1024px){
  body.ksc-homepage #kaizen-video-host .kaizen-video-panel--1{display:none!important}
  body.ksc-homepage #kaizen-video-host .kaizen-video-panel--2{display:block!important}
}
@media(max-width:767px){
  body.ksc-homepage #kaizen-video-host .kaizen-video-panel--2{display:none!important}
  body.ksc-homepage #kaizen-video-host .kaizen-video-panel--3{display:block!important}
}

body.ksc-homepage .elementor-element-b2fbdd4{
  min-width:0!important;
  overflow:hidden!important;
  border-block:1px solid rgba(243,223,0,.28);
  background:#090909!important;
}
body.ksc-homepage .elementor-element-b2fbdd4 .elementor-heading-title{
  color:#f3df00!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.25!important;
}
body.ksc-homepage .elementor-element-59e3fd5{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 12%,rgba(37,82,255,.16),transparent 28rem),
    radial-gradient(circle at 8% 56%,rgba(230,50,131,.12),transparent 24rem),
    #090909!important;
}
body.ksc-homepage .elementor-element-59e3fd5::before{
  content:"";
  position:absolute;
  z-index:0;
  right:-13vw;
  top:16%;
  width:28vw;
  max-width:420px;
  aspect-ratio:1;
  border:1px solid rgba(245,239,227,.14);
  border-radius:48% 52% 38% 62%;
  transform:rotate(-19deg);
  pointer-events:none;
}
body.ksc-homepage .elementor-element-59e3fd5 > .e-con,
body.ksc-homepage .elementor-element-59e3fd5 > .elementor-element{
  position:relative;
  z-index:1;
}
body.ksc-homepage .elementor-element-59e3fd5 h2.elementor-heading-title{
  color:#f5efe3!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,5vw,76px)!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
  line-height:.92!important;
}
body.ksc-homepage .elementor-element-59e3fd5 p{
  color:#b8b1a5!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:.03em!important;
  line-height:1.55!important;
}
body.ksc-homepage .elementor-element-59e3fd5 .kzmedia-stage-caption{
  color:#f3df00!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.25!important;
}

body.ksc-homepage .elementor-1103 .elementor-button{
  max-width:calc(100vw - 32px);
  border-radius:999px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(13px,1.4vw,22px)!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  line-height:1.15!important;
  white-space:normal;
}
body.ksc-homepage .elementor-1103 img{
  max-width:100%;
}

@media(max-width:767px){
  body.ksc-homepage .elementor-1103 > .elementor-element.kaizen-video-host{
    width:calc(100% - 12px)!important;
    box-shadow:9px 9px 0 rgba(37,82,255,.28);
  }
  body.ksc-homepage .elementor-1103 > .elementor-element.kaizen-video-host::after{
    right:8px;
    font-size:7px;
  }
  body.ksc-homepage .elementor-element-59e3fd5 h2.elementor-heading-title{
    font-size:clamp(34px,11vw,56px)!important;
  }
}

/* Brand nameplates keep the existing portfolio footage intact while making
 * the client work legible before the first frame is fully decoded. They are
 * intentionally text-based, so the gallery adds no third-party image request.
 */
body.ksc-homepage .kaizen-brandmark{
  position:absolute;
  z-index:5;
  top:16px;
  right:16px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  max-width:min(62%,320px);
  padding:7px 10px;
  border:1px solid rgba(245,239,227,.72);
  background:rgba(9,9,9,.76);
  color:#f5efe3;
  font:900 10px/1.1 Arial,Helvetica,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:4px 4px 0 rgba(37,82,255,.72);
  pointer-events:none;
}
body.ksc-homepage .kaizen-brandmark--downy{background:#f3efe4;color:#171717;border-color:#f3efe4}
body.ksc-homepage .kaizen-brandmark--finish{background:#f5d226;color:#111;border-color:#f5d226}
body.ksc-homepage .kaizen-brandmark--bbva{background:#072f91;color:#fff;border-color:#5b8cff}
body.ksc-homepage .kaizen-brandmark--household{background:#cf2e35;color:#fff;border-color:#ffb0b3}
body.ksc-homepage .kaizen-brandmark--nike{background:#fff;color:#111;border-color:#fff}
body.ksc-homepage .kaizen-brandmark--snapchat{background:#fffc00;color:#111;border-color:#fffc00}
body.ksc-homepage .kzmedia-scene,
body.ksc-homepage .kzcarousel-scene{
  isolation:isolate;
  position:relative;
}
body.ksc-homepage .kzmedia-scene .kzmedia-overlay,
body.ksc-homepage .kzcarousel-scene .kzmedia-overlay{position:relative}

/* The performance layer deliberately parks portfolio media until a visitor
 * asks for it. This control makes that state discoverable and exposes native
 * controls for each of the three aspect ratios without replacing the
 * existing Elementor content or video sources. */
body.ksc-homepage .kaizen-video-section-actions{
  position:absolute;
  z-index:30;
  top:20px;
  left:20px;
  display:flex;
  align-items:center;
  pointer-events:none;
}
body.ksc-homepage .kaizen-video-section-control{
  appearance:none;
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  max-width:min(92vw,360px);
  padding:13px 18px;
  border:2px solid #f5efe3!important;
  border-radius:0!important;
  background:#f3df00!important;
  color:#090909!important;
  box-shadow:7px 7px 0 rgba(37,82,255,.95);
  font:900 12px/1.15 Arial,Helvetica,sans-serif!important;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-align:center;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
body.ksc-homepage .kaizen-video-section-control:hover,
body.ksc-homepage .kaizen-video-section-control:focus-visible{
  background:#fff!important;
  color:#090909!important;
  outline:2px solid #f5efe3;
  outline-offset:3px;
  transform:translate(-1px,-1px);
  box-shadow:8px 8px 0 rgba(37,82,255,.98);
}
body.ksc-homepage .kaizen-video-section-control.is-active{
  background:#fff!important;
  border-color:#090909!important;
}
body.ksc-homepage .kaizen-video-section-control.is-loading{
  background:#090909!important;
  border-color:#f3df00!important;
  color:#f3df00!important;
  cursor:wait;
  animation:kaizen-section-pulse 1s ease-in-out infinite alternate;
}
body.ksc-homepage .kaizen-video-section-control.is-error{
  background:#e63283!important;
  border-color:#fff!important;
  color:#fff!important;
}
body.ksc-homepage .kaizen-video-section-loading .kzmedia-device-screen{
  outline:1px solid rgba(243,223,0,.8);
  outline-offset:4px;
}
@keyframes kaizen-section-pulse{
  from{opacity:.72;transform:translateY(0)}
  to{opacity:1;transform:translateY(-2px)}
}
body.ksc-homepage .kzmedia-scene video[controls],
body.ksc-homepage .kzcarousel-scene video[controls]{
  cursor:pointer;
}
@media(max-width:767px){
  body.ksc-homepage .kaizen-brandmark{top:10px;right:10px;max-width:74%;font-size:8px;letter-spacing:.1em}
  body.ksc-homepage .kaizen-video-section-actions{top:12px;left:12px}
  body.ksc-homepage .kaizen-video-section-control{min-height:44px;max-width:calc(100vw - 40px);padding:10px 12px;font-size:9px!important;letter-spacing:.08em;box-shadow:5px 5px 0 rgba(37,82,255,.95)}
}

/* The global header is moved to body by the small chrome bootstrap script.
 * These body-scoped guards keep the menu compact even if cached markup has
 * not yet received the kg-site namespace. */
@media (max-width:1100px){
  body.ksc-global-site-active .kg-header-shell .kg-menu-toggle{display:grid!important;place-items:center!important;flex:0 0 auto!important;width:58px!important;height:40px!important;padding:4px 8px!important;border:1px solid var(--kg-yellow)!important;background:transparent!important;color:var(--kg-paper)!important}
  body.ksc-global-site-active .kg-header-shell .kg-nav{position:fixed!important;z-index:9993!important;top:var(--kg-menu-top,74px)!important;left:12px!important;right:12px!important;width:auto!important;height:calc(100vh - var(--kg-menu-top,74px) - 12px)!important;height:calc(var(--kg-viewport-height,100vh) - var(--kg-menu-top,74px) - 12px)!important;max-height:none!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;scrollbar-gutter:stable!important;pointer-events:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;padding:12px!important;border:1px solid var(--kg-yellow)!important;background:#0b0b0b!important;box-shadow:8px 8px 0 var(--kg-blue)!important}
  body.ksc-global-site-active .kg-header-shell .kg-nav.kg-open{display:flex!important}
  body.ksc-global-site-active{--kg-menu-top:74px}
  body.admin-bar.ksc-global-site-active{--kg-menu-top:106px}
  body.ksc-global-site-active .kg-header-shell .kg-nav>a,
  body.ksc-global-site-active .kg-header-shell .kg-solutions>summary{justify-content:space-between!important;min-height:48px!important;padding:0 12px!important;border-bottom:1px solid rgba(245,239,227,.12)!important}
  body.ksc-global-site-active .kg-header-shell .kg-solutions{width:100%!important;flex:0 0 auto!important;min-height:0!important}
  body.ksc-global-site-active .kg-header-shell .kg-mega{position:static!important;width:100%!important;grid-template-columns:1fr!important;margin:6px 0 10px!important;box-shadow:none!important}
  body.ksc-global-site-active .kg-header-shell .kg-cart{justify-content:center!important;margin-top:8px!important}
  body.ksc-global-site-active .kg-header-shell .kg-whatsapp{justify-content:center!important}
}
@media(max-width:782px){body.ksc-global-site-active{--kg-menu-top:74px}.admin-bar.ksc-global-site-active{--kg-menu-top:120px}}
@media(max-width:640px){body.ksc-global-site-active{--kg-menu-top:66px}.admin-bar.ksc-global-site-active{--kg-menu-top:112px}}
