*{box-sizing:border-box}
:root{
  --paper:#fff;
  --ink:#090a0c;
  --muted:#6f746f;
  --line:#cfd2cd;
  --blue:#0a0b0d;
}
html,body{
  margin:0;background:#fff;color:var(--ink);
  font-family:"Helvetica Neue","Arial Nova",Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
em{font-style:normal}

.ke2-toolbar{
  position:fixed;z-index:120;top:0;left:0;right:0;height:46px;padding:0 18px;
  display:flex;align-items:center;justify-content:space-between;
  background:#090a0b;color:#fff;border-bottom:1px solid #252628;
  font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em
}
.ke2-toolbar>div{display:flex;gap:16px;align-items:center}
.ke2-toolbar span{color:#73777c}

.ke2-scroll{height:540vh;background:var(--paper)}
.ke2-sticky{
  position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;
  background:var(--paper);isolation:isolate
}
.ke2-sticky:before{
  content:"";position:absolute;inset:0;z-index:0;opacity:.32;
  background-image:
    linear-gradient(rgba(10,12,14,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,12,14,.03) 1px,transparent 1px);
  background-size:80px 80px
}

.ke2-top{
  position:absolute;z-index:50;top:78px;left:28px;right:28px;
  display:flex;justify-content:space-between;align-items:flex-start
}
.ke2-brand strong{display:block;font-size:12px;font-weight:800;letter-spacing:-.025em}
.ke2-brand span{
  display:block;margin-top:6px;color:#707570;
  font:700 9.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em
}
.ke2-stage{
  display:flex;align-items:center;gap:10px;color:#6f746f;
  font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.105em
}
.ke2-stage i{width:46px;height:1px;background:#b9bdb9}.ke2-stage b{color:#111}

.ke2-rulers{position:absolute;inset:0;z-index:1;pointer-events:none}
.ke2-ruler{position:absolute;background:rgba(10,12,14,.10)}
.ke2-ruler--x{left:0;right:0;top:50%;height:1px}
.ke2-ruler--y{top:0;bottom:0;left:50%;width:1px}

.ke2-word{
  position:absolute;z-index:10;left:28px;right:28px;
  font-size:clamp(82px,13.8vw,268px);
  line-height:.79;font-weight:800;letter-spacing:-.067em;
  white-space:nowrap;will-change:transform,opacity,color;
  transform-origin:left center;
  color:var(--ink);
}
.ke2-word--design{top:20%}
.ke2-word--technology{top:42%;color:#111}
.ke2-word--systems{top:64%;color:var(--blue)}

.ke2-capabilities{
  position:absolute;z-index:18;left:28px;right:28px;top:50%;
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid #aeb3ae;border-bottom:1px solid #aeb3ae;
  opacity:0;transform:translateY(30px)
}
.ke2-capabilities span{
  min-height:92px;padding:14px 12px;
  display:flex;align-items:flex-end;border-right:1px solid #c7cbc7;
  font-size:clamp(13px,1.2vw,21px);font-weight:800;
  letter-spacing:-.035em;line-height:1
}
.ke2-capabilities span:first-child{padding-left:0}
.ke2-capabilities span:last-child{border-right:0}

.ke2-system-lines{
  position:absolute;z-index:14;left:31%;right:9%;top:24%;bottom:18%;
  opacity:0;pointer-events:none
}
.ke2-line{position:absolute;display:block;background:#14171a;transform-origin:left center}
.ke2-line--1{left:10%;top:18%;width:73%;height:1px}
.ke2-line--2{left:26%;top:8%;width:1px;height:74%;transform-origin:center top}
.ke2-line--3{left:52%;top:18%;width:1px;height:65%;transform-origin:center top}
.ke2-line--4{left:10%;bottom:18%;width:73%;height:1px}
.ke2-node{
  position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid #111;background:var(--paper)
}
.ke2-node--1{left:10%;top:18%;transform:translate(-50%,-50%)}
.ke2-node--2{left:52%;top:18%;transform:translate(-50%,-50%)}
.ke2-node--3{left:83%;top:18%;transform:translate(-50%,-50%)}
.ke2-node--4{left:26%;bottom:18%;transform:translate(-50%,50%)}
.ke2-node--5{left:52%;bottom:18%;width:18px;height:18px;background:#111;transform:translate(-50%,50%)}

.ke2-final-lockup{
  position:absolute;z-index:35;left:50%;top:50%;
  width:min(88vw,1500px);
  transform:translate(-50%,-46%) scale(.86);
  opacity:0;pointer-events:none;
  text-align:left
}
.ke2-final-lockup small{
  display:block;margin-bottom:14px;color:#6e736f;
  font:700 9.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em
}
.ke2-final-lockup h2{
  margin:0;font-size:clamp(70px,11vw,210px);line-height:.78;
  font-weight:800;letter-spacing:-.07em
}
.ke2-final-lockup h2 em{color:var(--blue)}
.ke2-final-lockup p{
  margin:22px 0 0;color:#656b66;
  font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em
}

.ke2-copy{
  position:absolute;z-index:45;left:28px;bottom:92px;
  max-width:470px;pointer-events:none
}
.ke2-copy small{
  display:block;margin-bottom:8px;color:#666c67;
  font:700 9.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em
}
.ke2-copy p{margin:0;color:#616762;font-size:14px;line-height:1.6}

.ke2-side{
  position:absolute;z-index:5;right:-42px;top:50%;
  transform:translateY(-50%) rotate(90deg);transform-origin:center;
  color:rgba(10,12,14,.04);font-size:clamp(76px,10vw,185px);
  font-weight:800;letter-spacing:-.065em;white-space:nowrap
}

.ke2-bottom{
  position:absolute;z-index:50;left:28px;right:28px;bottom:23px;
  padding-top:10px;border-top:1px solid #cbd0cb;
  display:flex;justify-content:space-between;align-items:center;
  color:#727772;font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.105em
}
.ke2-progress-wrap{display:flex;align-items:center;gap:12px}
.ke2-progress-wrap>div{width:230px;height:1px;background:#c4c8c4;overflow:hidden}
.ke2-progress-wrap i{display:block;width:100%;height:100%;background:#111;transform:scaleX(0);transform-origin:left}
.ke2-progress-wrap b{color:#131514}

.ke2-end{
  min-height:100vh;padding:120px 8vw;display:flex;justify-content:space-between;align-items:flex-end;gap:50px;
  background:#0b0c0e;color:#fff
}
.ke2-end small{
  color:#777d84;font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em
}
.ke2-end h2{
  margin:12px 0 18px;font-size:clamp(64px,9vw,160px);line-height:.82;letter-spacing:-.065em
}
.ke2-end p{max-width:600px;color:#9299a1;line-height:1.55}
.ke2-end>a{white-space:nowrap;border-bottom:1px solid #4c5158;padding-bottom:6px;font-size:9px}

@media(max-width:1050px){
  .ke2-word{left:18px;right:18px;font-size:16vw}
  .ke2-top{left:18px;right:18px;top:60px}
  .ke2-copy{left:18px;bottom:86px;max-width:360px}
  .ke2-bottom{left:18px;right:18px;bottom:15px}
  .ke2-capabilities{left:18px;right:18px}
}
@media(max-width:720px){
  .ke2-scroll{height:480vh}
  .ke2-toolbar span{display:none}
  .ke2-word{font-size:17vw;line-height:.84}
  .ke2-word--design{top:28%}.ke2-word--technology{top:44%}.ke2-word--systems{top:60%}
  .ke2-capabilities{grid-template-columns:1fr 1fr;top:42%}
  .ke2-capabilities span{min-height:65px;border-bottom:1px solid #c7cbc7}
  .ke2-capabilities span:nth-child(2n){border-right:0}
  .ke2-system-lines{left:8%;right:8%;top:35%;bottom:20%}
  .ke2-final-lockup{width:92vw}
  .ke2-final-lockup h2{font-size:18vw}
  .ke2-copy{bottom:78px;max-width:280px}
  .ke2-copy p{font-size:9.5px}
  .ke2-bottom small{display:none}
  .ke2-progress-wrap{width:100%}
  .ke2-progress-wrap>div{flex:1}
  .ke2-progress-wrap b{display:none}
  .ke2-end{display:block;padding:100px 22px}
  .ke2-end>a{display:inline-block;margin-top:42px}
}
@media(prefers-reduced-motion:reduce){
  .ke2-scroll{height:140vh}
}

/* =========================================================
   V5.1.12 — SERVICES CONTINUATION / MONOCHROME REFINEMENT
   ========================================================= */

.ke2-services{
  position:relative;
  background:#fff;
  color:#090a0c;
  padding:110px 28px 0;
  border-top:1px solid #c9cdc8;
}

.ke2-services-intro{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:50px;
  align-items:end;
  padding-bottom:58px;
  border-bottom:1px solid #aeb3ae;
}
.ke2-services-intro small{
  display:block;
  color:#737872;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
  margin-bottom:14px;
}
.ke2-services-intro h2{
  margin:0;
  max-width:1100px;
  font-size:clamp(64px,8.8vw,168px);
  line-height:.80;
  letter-spacing:-.075em;
  font-weight:800;
}
.ke2-services-note{
  max-width:420px;
  justify-self:end;
  padding-bottom:9px;
}
.ke2-services-note span{
  display:block;
  margin-bottom:12px;
  color:#6e736e;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-services-note p{
  margin:0;
  color:#555b56;
  font-size:13px;
  line-height:1.55;
}

.ke2-services-list{
  position:relative;
  width:100%;
}

.ke2-service-row{
  position:relative;
  display:grid;
  grid-template-columns:80px minmax(150px,.58fr) minmax(420px,1.65fr) minmax(250px,.72fr) 28px;
  gap:24px;
  align-items:center;
  min-height:210px;
  padding:28px 6px;
  border-bottom:1px solid #bfc4bf;
  transition:
    background-color .35s cubic-bezier(.2,.7,.2,1),
    color .35s cubic-bezier(.2,.7,.2,1),
    padding-left .35s cubic-bezier(.2,.7,.2,1),
    padding-right .35s cubic-bezier(.2,.7,.2,1);
}

.ke2-service-row.is-active{
  background:#0b0c0e;
  color:#fff;
  padding-left:22px;
  padding-right:22px;
}
.ke2-service-no{
  align-self:start;
  color:#777d77;
  font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ke2-service-row.is-active .ke2-service-no{color:#8d9399}

.ke2-service-kicker{
  align-self:start;
  color:#6d736e;
  font:700 7px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ke2-service-row.is-active .ke2-service-kicker{color:#92989f}

.ke2-service-row h3{
  margin:0;
  font-size:clamp(34px,4.6vw,88px);
  line-height:.88;
  letter-spacing:-.06em;
  font-weight:800;
}
.ke2-service-row p{
  margin:0;
  max-width:470px;
  color:#656b66;
  font-size:11.5px;
  line-height:1.58;
}
.ke2-service-row.is-active p{color:#a7adb4}

.ke2-service-arrow{
  justify-self:end;
  font-size:18px;
  line-height:1;
  transform:translateX(-4px);
  transition:transform .3s ease;
}
.ke2-service-row.is-active .ke2-service-arrow{transform:translateX(0)}

.ke2-services-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px 0 28px;
  color:#707570;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-services-foot b{color:#111}

.ke2-end{
  border-top:1px solid #22262a;
}

@media(max-width:1050px){
  .ke2-services{padding-left:18px;padding-right:18px}
  .ke2-services-intro{
    grid-template-columns:1fr;
    gap:24px;
  }
  .ke2-services-note{
    justify-self:start;
    padding-bottom:0;
  }
  .ke2-service-row{
    grid-template-columns:56px minmax(130px,.55fr) minmax(300px,1.4fr) minmax(220px,.8fr) 24px;
    gap:16px;
  }
}

@media(max-width:760px){
  .ke2-services{
    padding-top:76px;
    padding-left:16px;
    padding-right:16px;
  }
  .ke2-services-intro{
    padding-bottom:38px;
  }
  .ke2-services-intro h2{
    font-size:16vw;
    line-height:.84;
  }
  .ke2-service-row,
  .ke2-service-row.is-active{
    grid-template-columns:42px 1fr 24px;
    gap:10px 12px;
    min-height:185px;
    padding:22px 8px;
  }
  .ke2-service-no{
    grid-column:1;
    grid-row:1;
  }
  .ke2-service-kicker{
    grid-column:2;
    grid-row:1;
  }
  .ke2-service-row h3{
    grid-column:1 / 3;
    grid-row:2;
    font-size:12vw;
  }
  .ke2-service-row p{
    grid-column:1 / 3;
    grid-row:3;
    font-size:10px;
    max-width:100%;
  }
  .ke2-service-arrow{
    grid-column:3;
    grid-row:1 / 4;
    align-self:center;
  }
}


/* =========================================================
   V5.1.13 — SELECTED WORKS / REAL PROJECTS
   ========================================================= */

.ke2-works{
  position:relative;
  background:#0b0c0e;
  color:#fff;
  padding:118px 28px 0;
  border-top:1px solid #1e2124;
}

.ke2-works-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:50px;
  align-items:end;
  padding-bottom:64px;
  border-bottom:1px solid #30343a;
}
.ke2-works-head small{
  display:block;
  margin-bottom:15px;
  color:#7c8289;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.ke2-works-head h2{
  margin:0;
  max-width:1180px;
  font-size:clamp(66px,9vw,172px);
  line-height:.79;
  letter-spacing:-.075em;
  font-weight:800;
}
.ke2-works-head-note{
  justify-self:end;
  max-width:430px;
  padding-bottom:8px;
}
.ke2-works-head-note span{
  display:block;
  margin-bottom:12px;
  color:#777e85;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-works-head-note p{
  margin:0;
  color:#9da4ab;
  font-size:12px;
  line-height:1.55;
}

.ke2-work-list{
  width:100%;
}

.ke2-work-row{
  min-height:112vh;
  display:grid;
  grid-template-columns:minmax(300px,.42fr) minmax(0,1.58fr);
  gap:34px;
  align-items:start;
  padding:76px 0;
  border-bottom:1px solid #2b2f34;
}

.ke2-work-sticky{
  position:sticky;
  top:92px;
  min-height:72vh;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  align-content:start;
  padding-top:3px;
}

.ke2-work-index{
  color:#60666c;
  font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
  padding-top:7px;
}

.ke2-work-copy small{
  display:block;
  color:#777f87;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
  margin-bottom:13px;
}
.ke2-work-copy h3{
  margin:0;
  font-size:clamp(42px,4.6vw,86px);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:800;
}
.ke2-work-copy p{
  max-width:390px;
  margin:18px 0 0;
  color:#9ba2a9;
  font-size:11.5px;
  line-height:1.58;
}
.ke2-work-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:22px;
}
.ke2-work-tags span{
  padding:6px 8px;
  border:1px solid #30353a;
  color:#868e96;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
}
.ke2-work-copy>a{
  display:inline-block;
  margin-top:28px;
  padding-bottom:6px;
  border-bottom:1px solid #5b6269;
  color:#d7dce1;
  font-size:9px;
}

.ke2-work-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#14171a;
  transform:scale(.97);
  opacity:.68;
  transition:
    transform .65s cubic-bezier(.2,.7,.2,1),
    opacity .5s ease;
}
.ke2-work-row.is-active .ke2-work-media{
  transform:scale(1);
  opacity:1;
}
.ke2-work-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  filter:grayscale(.12) contrast(1.02);
}
.ke2-work-row.is-active .ke2-work-media img{
  transform:scale(1);
  filter:grayscale(0) contrast(1);
}
.ke2-work-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12));
  pointer-events:none;
}
.ke2-work-open{
  position:absolute;
  z-index:3;
  right:14px;
  bottom:14px;
  padding:8px 10px;
  background:rgba(10,11,13,.88);
  color:#fff;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.1em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
}
.ke2-work-media:hover .ke2-work-open{
  opacity:1;
  transform:translateY(0);
}
.ke2-work-corner{
  position:absolute;
  z-index:4;
  width:18px;
  height:18px;
  opacity:.58;
}
.ke2-work-corner--tl{left:12px;top:12px;border-left:1px solid #fff;border-top:1px solid #fff}
.ke2-work-corner--tr{right:12px;top:12px;border-right:1px solid #fff;border-top:1px solid #fff}
.ke2-work-corner--br{right:12px;bottom:12px;border-right:1px solid #fff;border-bottom:1px solid #fff}
.ke2-work-corner--bl{left:12px;bottom:12px;border-left:1px solid #fff;border-bottom:1px solid #fff}

.ke2-work-row:nth-child(even){
  grid-template-columns:minmax(0,1.58fr) minmax(300px,.42fr);
}
.ke2-work-row:nth-child(even) .ke2-work-sticky{
  grid-column:2;
  grid-row:1;
  padding-left:10px;
}
.ke2-work-row:nth-child(even) .ke2-work-media{
  grid-column:1;
  grid-row:1;
}

.ke2-works-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px 0 30px;
  color:#686f76;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-works-foot b{color:#a9b0b7}

@media(max-width:1050px){
  .ke2-works{
    padding-left:18px;
    padding-right:18px;
  }
  .ke2-works-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .ke2-works-head-note{
    justify-self:start;
  }
  .ke2-work-row,
  .ke2-work-row:nth-child(even){
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding:58px 0;
  }
  .ke2-work-sticky,
  .ke2-work-row:nth-child(even) .ke2-work-sticky{
    position:relative;
    top:auto;
    min-height:0;
    grid-column:1;
    grid-row:1;
    padding-left:0;
  }
  .ke2-work-media,
  .ke2-work-row:nth-child(even) .ke2-work-media{
    grid-column:1;
    grid-row:2;
  }
}
@media(max-width:760px){
  .ke2-works{
    padding-top:80px;
    padding-left:16px;
    padding-right:16px;
  }
  .ke2-works-head{
    padding-bottom:40px;
  }
  .ke2-works-head h2{
    font-size:16vw;
    line-height:.84;
  }
  .ke2-work-row{
    padding:42px 0;
  }
  .ke2-work-sticky{
    grid-template-columns:38px 1fr;
    gap:12px;
  }
  .ke2-work-copy h3{
    font-size:12vw;
  }
  .ke2-work-copy p{
    font-size:10px;
  }
  .ke2-work-media{
    aspect-ratio:16/10;
  }
}

/* =========================================================
   V5.1.14 — SYSTEMS / PRODUCTS
   ========================================================= */

.ke2-systems{
  position:relative;
  background:#f4f4f0;
  color:#0a0b0d;
  padding:118px 28px 0;
  border-top:1px solid #c9cdc8;
}

.ke2-systems-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:50px;
  align-items:end;
  padding-bottom:62px;
  border-bottom:1px solid #adb2ad;
}
.ke2-systems-head small{
  display:block;
  margin-bottom:15px;
  color:#727771;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.ke2-systems-head h2{
  margin:0;
  max-width:1180px;
  font-size:clamp(66px,9vw,172px);
  line-height:.79;
  letter-spacing:-.075em;
  font-weight:800;
}
.ke2-systems-note{
  max-width:430px;
  justify-self:end;
  padding-bottom:8px;
}
.ke2-systems-note span{
  display:block;
  margin-bottom:12px;
  color:#6f746f;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-systems-note p{
  margin:0;
  color:#555b56;
  font-size:12px;
  line-height:1.55;
}

.ke2-core-band{
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(360px,1.08fr) minmax(260px,.5fr);
  gap:34px;
  min-height:390px;
  align-items:center;
  padding:42px 0 48px;
  border-bottom:1px solid #bfc4bf;
}
.ke2-core-mark{
  position:relative;
  width:min(250px,100%);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:1px solid #aeb4ae;
  background:#0b0c0e;
  color:#fff;
}
.ke2-core-mark:before,
.ke2-core-mark:after{
  content:"";
  position:absolute;
  background:#3a3d40;
}
.ke2-core-mark:before{left:50%;top:0;bottom:0;width:1px}
.ke2-core-mark:after{top:50%;left:0;right:0;height:1px}
.ke2-core-mark span{
  position:absolute;
  left:14px;top:13px;
  color:#8b9197;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-core-mark strong{
  font-size:clamp(36px,4vw,64px);
  letter-spacing:-.06em;
  z-index:2;
}

.ke2-core-copy small{
  display:block;
  margin-bottom:12px;
  color:#6c726c;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-core-copy h3{
  margin:0;
  font-size:clamp(46px,5.5vw,102px);
  line-height:.83;
  letter-spacing:-.07em;
  font-weight:800;
}
.ke2-core-copy p{
  max-width:600px;
  margin:22px 0 0;
  color:#5f655f;
  font-size:12px;
  line-height:1.58;
}

.ke2-core-spec{
  display:grid;
  border-top:1px solid #c2c7c2;
}
.ke2-core-spec span{
  padding:14px 0;
  border-bottom:1px solid #c2c7c2;
  color:#686e68;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.11em;
}

.ke2-product-stack{
  width:100%;
}

.ke2-product-row{
  display:grid;
  grid-template-columns:56px minmax(370px,.8fr) minmax(420px,1.2fr);
  gap:26px;
  align-items:center;
  min-height:420px;
  padding:44px 0;
  border-bottom:1px solid #bcc1bc;
}

.ke2-product-no{
  align-self:start;
  padding-top:5px;
  color:#777d77;
  font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}

.ke2-product-main{
  max-width:620px;
}
.ke2-product-topline{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:13px;
  color:#6a706a;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ke2-product-topline b{
  padding:4px 6px;
  background:#111;
  color:#fff;
  font-size:6px;
  font-weight:700;
}
.ke2-product-main h3{
  margin:0;
  font-size:clamp(42px,5vw,92px);
  line-height:.86;
  letter-spacing:-.068em;
  font-weight:800;
}
.ke2-product-main p{
  margin:18px 0 0;
  max-width:520px;
  color:#606660;
  font-size:11.5px;
  line-height:1.58;
}
.ke2-product-caps{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:20px;
}
.ke2-product-caps span{
  padding:6px 8px;
  border:1px solid #bfc4bf;
  color:#6e746e;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
}
.ke2-product-main>a{
  display:inline-block;
  margin-top:26px;
  padding-bottom:6px;
  border-bottom:1px solid #6f756f;
  font-size:9px;
}

.ke2-product-plane{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid #b1b6b1;
  background:
    linear-gradient(rgba(10,12,14,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,12,14,.045) 1px,transparent 1px),
    #e8e9e4;
  background-size:32px 32px;
  transform:scale(.965);
  opacity:.56;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .45s ease,background-color .45s ease;
}
.ke2-product-row.is-active .ke2-product-plane{
  transform:scale(1);
  opacity:1;
  background-color:#dedfda;
}
.ke2-product-plane img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(.78) contrast(1.04);
  opacity:.78;
  transform:scale(1.035);
  transition:filter .5s ease,opacity .5s ease,transform .7s cubic-bezier(.2,.7,.2,1);
}
.ke2-product-row.is-active .ke2-product-plane img{
  filter:grayscale(.12) contrast(1);
  opacity:1;
  transform:scale(1);
}
.ke2-product-plane:before,
.ke2-product-plane:after{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  background:rgba(10,12,14,.16);
}
.ke2-product-plane:before{left:50%;top:0;bottom:0;width:1px}
.ke2-product-plane:after{top:50%;left:0;right:0;height:1px}
.ke2-product-plane-label{
  position:absolute;
  z-index:3;
  left:12px;
  bottom:12px;
  padding:6px 8px;
  background:rgba(244,244,240,.90);
  border:1px solid #b7bcb7;
  color:#606660;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.11em;
}

.ke2-product-row.is-active{
  background:#efefeb;
}
.ke2-product-row.is-active .ke2-product-main h3{
  transform:translateX(6px);
}
.ke2-product-main h3{
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}

.ke2-systems-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px 0 30px;
  color:#6e746e;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke2-systems-foot b{color:#111}

@media(max-width:1050px){
  .ke2-systems{
    padding-left:18px;
    padding-right:18px;
  }
  .ke2-systems-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .ke2-systems-note{justify-self:start}
  .ke2-core-band{
    grid-template-columns:220px 1fr;
  }
  .ke2-core-spec{
    grid-column:1/-1;
    grid-template-columns:repeat(4,1fr);
    gap:0;
  }
  .ke2-core-spec span{
    padding:12px;
    border:1px solid #c2c7c2;
    border-right:0;
  }
  .ke2-core-spec span:last-child{border-right:1px solid #c2c7c2}
  .ke2-product-row{
    grid-template-columns:42px minmax(320px,.9fr) minmax(340px,1.1fr);
    gap:18px;
  }
}

@media(max-width:760px){
  .ke2-systems{
    padding-top:80px;
    padding-left:16px;
    padding-right:16px;
  }
  .ke2-systems-head{
    padding-bottom:42px;
  }
  .ke2-systems-head h2{
    font-size:16vw;
    line-height:.84;
  }
  .ke2-core-band{
    grid-template-columns:1fr;
    min-height:0;
    padding:32px 0 38px;
  }
  .ke2-core-mark{
    width:180px;
  }
  .ke2-core-copy h3{
    font-size:13vw;
  }
  .ke2-core-spec{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
  }
  .ke2-core-spec span{
    border-right:1px solid #c2c7c2;
  }
  .ke2-product-row{
    grid-template-columns:34px 1fr;
    gap:12px;
    min-height:0;
    padding:36px 0;
  }
  .ke2-product-main{
    grid-column:2;
  }
  .ke2-product-main h3{
    font-size:13vw;
  }
  .ke2-product-plane{
    grid-column:1/-1;
    aspect-ratio:16/10;
    margin-top:8px;
  }
  .ke2-product-main p{
    font-size:10px;
  }
  .ke2-systems-foot{
    gap:20px;
    align-items:flex-start;
  }
}

/* =========================================================
   V5.1.15 — DEFINITIVE SERVICES / WORK / SYSTEMS REFINEMENT
   ========================================================= */

/* SERVICES: hover/focus only. No scroll-driven random black rows. */
.ke2-service-row,
.ke2-service-row.is-active{
  background:transparent !important;
  color:#090a0c !important;
  padding-left:6px !important;
  padding-right:6px !important;
}
.ke2-service-row .ke2-service-no,
.ke2-service-row.is-active .ke2-service-no{color:#777d77 !important}
.ke2-service-row .ke2-service-kicker,
.ke2-service-row.is-active .ke2-service-kicker{color:#6d736e !important}
.ke2-service-row p,
.ke2-service-row.is-active p{color:#656b66 !important}
.ke2-service-row .ke2-service-arrow,
.ke2-service-row.is-active .ke2-service-arrow{transform:translateX(-4px) !important}

.ke2-service-row:hover,
.ke2-service-row:focus-within{
  background:#0b0c0e !important;
  color:#fff !important;
  padding-left:22px !important;
  padding-right:22px !important;
}
.ke2-service-row:hover .ke2-service-no,
.ke2-service-row:focus-within .ke2-service-no{color:#8d9399 !important}
.ke2-service-row:hover .ke2-service-kicker,
.ke2-service-row:focus-within .ke2-service-kicker{color:#92989f !important}
.ke2-service-row:hover p,
.ke2-service-row:focus-within p{color:#a7adb4 !important}
.ke2-service-row:hover .ke2-service-arrow,
.ke2-service-row:focus-within .ke2-service-arrow{transform:translateX(0) !important}

/* SELECTED WORK: image wall inspired by the approved reference rhythm. */
.ke3-works{
  position:relative;
  background:#0b0c0e;
  color:#fff;
  padding:118px 28px 0;
  border-top:1px solid #1e2124;
}
.ke3-works-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:50px;
  align-items:end;
  padding-bottom:62px;
  border-bottom:1px solid #30343a;
}
.ke3-works-head small{
  display:block;
  margin-bottom:15px;
  color:#7b8289;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
.ke3-works-head h2{
  margin:0;
  font-size:clamp(66px,9vw,172px);
  line-height:.79;
  letter-spacing:-.075em;
  font-weight:800;
}
.ke3-works-note{
  justify-self:end;
  max-width:410px;
  padding-bottom:8px;
}
.ke3-works-note span{
  display:block;
  margin-bottom:12px;
  color:#777e85;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke3-works-note p{
  margin:0;
  color:#9da4ab;
  font-size:12px;
  line-height:1.55;
}

.ke3-work-wall{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:10px;
  padding:34px 0 0;
}
.ke3-work-tile{
  position:relative;
  overflow:hidden;
  min-height:340px;
  background:#15171a;
}
.ke3-work-tile--wide{
  grid-column:span 8;
  aspect-ratio:16/9;
}
.ke3-work-tile--standard{
  grid-column:span 6;
  aspect-ratio:16/10;
}
.ke3-work-tile--portrait{
  grid-column:span 4;
  aspect-ratio:4/5;
}
.ke3-work-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.015);
  filter:grayscale(.08) contrast(1.01);
  transition:
    transform .7s cubic-bezier(.2,.7,.2,1),
    filter .45s ease;
}
.ke3-work-tile:hover img{
  transform:scale(1.035);
  filter:grayscale(0) contrast(1);
}
.ke3-work-tile:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.56));
  opacity:.42;
  transition:opacity .35s ease;
}
.ke3-work-tile:hover:after{opacity:.72}
.ke3-work-tile-meta{
  position:absolute;
  z-index:3;
  left:16px;
  right:16px;
  bottom:15px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  color:#fff;
}
.ke3-work-tile-meta small{
  color:#c7ccd1;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.11em;
}
.ke3-work-tile-meta strong{
  max-width:62%;
  text-align:right;
  font-size:clamp(18px,1.8vw,34px);
  line-height:.92;
  letter-spacing:-.05em;
}

.ke3-works-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px 0 30px;
  color:#686f76;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke3-works-foot b{color:#a9b0b7}

/* SYSTEMS: deliberately small and quiet. */
.ke3-systems{
  background:#f4f4f0;
  color:#0a0b0d;
  padding:88px 28px 0;
  border-top:1px solid #c7cbc6;
}
.ke3-systems-head{
  display:grid;
  grid-template-columns:1fr minmax(280px,.5fr);
  gap:40px;
  align-items:end;
  padding-bottom:38px;
  border-bottom:1px solid #b8bdb8;
}
.ke3-systems-head small{
  display:block;
  margin-bottom:12px;
  color:#707670;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke3-systems-head h2{
  margin:0;
  font-size:clamp(52px,6.5vw,122px);
  line-height:.83;
  letter-spacing:-.07em;
  font-weight:800;
}
.ke3-systems-head>p{
  margin:0 0 7px;
  max-width:430px;
  justify-self:end;
  color:#606660;
  font-size:12px;
  line-height:1.55;
}
.ke3-systems-rows{
  border-bottom:1px solid #b8bdb8;
}
.ke3-system-row{
  min-height:84px;
  display:grid;
  grid-template-columns:70px minmax(180px,.48fr) 1fr 130px;
  gap:20px;
  align-items:center;
  border-bottom:1px solid #c4c8c4;
  transition:padding .3s ease,background .3s ease;
}
.ke3-system-row:last-child{border-bottom:0}
a.ke3-system-row:hover{
  background:#ecece7;
  padding-left:10px;
  padding-right:10px;
}
.ke3-system-row>span{
  color:#757b75;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ke3-system-row>strong{
  font-size:clamp(19px,2vw,34px);
  letter-spacing:-.045em;
}
.ke3-system-row>p{
  margin:0;
  color:#656b65;
  font-size:10.5px;
  line-height:1.45;
}
.ke3-system-row>b{
  justify-self:end;
  color:#5e645e;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.1em;
}
.ke3-systems-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 0 25px;
  color:#707670;
  font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
}
.ke3-systems-foot b{color:#111}

@media(max-width:1050px){
  .ke3-works,.ke3-systems{padding-left:18px;padding-right:18px}
  .ke3-works-head,.ke3-systems-head{grid-template-columns:1fr;gap:22px}
  .ke3-works-note,.ke3-systems-head>p{justify-self:start}
  .ke3-work-tile--wide{grid-column:span 12}
  .ke3-work-tile--standard{grid-column:span 6}
  .ke3-work-tile--portrait{grid-column:span 6;aspect-ratio:4/5}
  .ke3-system-row{grid-template-columns:50px minmax(160px,.5fr) 1fr 90px}
}
@media(max-width:720px){
  .ke3-works{padding-top:78px;padding-left:16px;padding-right:16px}
  .ke3-works-head{padding-bottom:40px}
  .ke3-works-head h2{font-size:16vw;line-height:.84}
  .ke3-work-wall{gap:6px;padding-top:18px}
  .ke3-work-tile--wide,
  .ke3-work-tile--standard,
  .ke3-work-tile--portrait{
    grid-column:span 12;
    aspect-ratio:16/10;
    min-height:0;
  }
  .ke3-work-tile-meta strong{font-size:7vw}
  .ke3-systems{padding:70px 16px 0}
  .ke3-systems-head h2{font-size:14vw}
  .ke3-system-row{
    grid-template-columns:36px 1fr auto;
    gap:8px 12px;
    min-height:112px;
    padding:15px 0;
  }
  .ke3-system-row>span{grid-column:1;grid-row:1}
  .ke3-system-row>strong{grid-column:2;grid-row:1;font-size:7vw}
  .ke3-system-row>p{grid-column:1/4;grid-row:2}
  .ke3-system-row>b{grid-column:3;grid-row:1}
}

/* =========================================================
   V5.1.16 — HOMEPAGE PROTOTYPE FINISH PASS
   ========================================================= */

/* SERVICES — hover/focus stays intentional without horizontal layout shift. */
.ke2-service-row,
.ke2-service-row.is-active{
  padding-left:14px !important;
  padding-right:14px !important;
  outline:none;
}
.ke2-service-row:hover,
.ke2-service-row:focus,
.ke2-service-row:focus-within{
  padding-left:14px !important;
  padding-right:14px !important;
}
.ke2-service-row:focus-visible{
  box-shadow:inset 0 0 0 1px #30343a;
}

/* SELECTED WORK — imagery leads; metadata support stays restrained. */
.ke3-work-tile:after{
  opacity:.20;
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.62));
}
.ke3-work-tile:hover:after{opacity:.58}
.ke3-work-tile-meta{
  opacity:.88;
  transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);
}
.ke3-work-tile:hover .ke3-work-tile-meta{
  opacity:1;
  transform:translateY(-2px);
}

/* SYSTEMS — compact rows should not jump on hover. */
.ke3-system-row,
a.ke3-system-row:hover{
  padding-left:10px;
  padding-right:10px;
}
a.ke3-system-row:hover{background:#ecece7}

/* REAL HOMEPAGE OUTRO — keeps admin escape secondary. */
.ke2-end-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.ke2-end-actions>a{
  white-space:nowrap;
  border-bottom:1px solid #4c5158;
  padding-bottom:6px;
  font-size:9px;
}
.ke2-end-actions .ke2-end-back{
  border-bottom:0;
  padding-bottom:0;
  color:#727980;
  font-size:7px;
  letter-spacing:.12em;
}

@media(max-width:760px){
  .ke2-service-row,
  .ke2-service-row.is-active,
  .ke2-service-row:hover,
  .ke2-service-row:focus,
  .ke2-service-row:focus-within{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .ke3-system-row,
  a.ke3-system-row:hover{
    padding-left:0;
    padding-right:0;
  }
  .ke2-end-actions{
    align-items:flex-start;
    margin-top:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ke2-service-row,
  .ke3-work-tile img,
  .ke3-work-tile:after,
  .ke3-work-tile-meta,
  .ke3-system-row{
    transition:none !important;
  }
}

/* =========================================================
   V5.1.17 — NAVIGATION / TYPOGRAPHY / DISCOVERY PASS
   ========================================================= */

/* HERO — safer optical spacing and cleaner glyph rendering. */
.ke2-word,
.ke2-final-lockup h2,
.ke2-services-intro h2,
.ke2-service-row h3,
.ke3-works-head h2,
.ke3-systems-head h2,
.ke2-end h2{
  font-kerning:normal;
  font-synthesis:none;
  font-feature-settings:"kern" 1,"liga" 1;
  text-rendering:optimizeLegibility;
}
.ke2-word{letter-spacing:-.055em}
.ke2-final-lockup h2{letter-spacing:-.06em}

/* SERVICES — rows are now real navigation, not decorative controls. */
a.ke2-service-row{cursor:pointer}
a.ke2-service-row:focus-visible{
  box-shadow:inset 0 0 0 1px #30343a;
}
a.ke2-service-row .ke2-service-arrow{
  transition:transform .3s ease,opacity .3s ease;
  opacity:.64;
}
a.ke2-service-row:hover .ke2-service-arrow,
a.ke2-service-row:focus-visible .ke2-service-arrow{
  opacity:1;
}

/* SECTION EXITS — explicit but visually secondary. */
.ke3-section-link{
  display:inline-block;
  color:inherit;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
  transition:opacity .25s ease;
}
.ke3-section-link:hover,
.ke3-section-link:focus-visible{opacity:.58}
.ke3-works-foot .ke3-section-link{color:#d5dae0}
.ke3-systems-foot .ke3-section-link{color:#111}

/* PROJECT WALL — keyboard navigation receives the same intentional state as hover. */
.ke3-work-tile:focus-visible{
  outline:1px solid #fff;
  outline-offset:-1px;
}
.ke3-work-tile:focus-visible img{
  transform:scale(1.035);
  filter:grayscale(0) contrast(1);
}
.ke3-work-tile:focus-visible:after{opacity:.58}
.ke3-work-tile:focus-visible .ke3-work-tile-meta{
  opacity:1;
  transform:translateY(-2px);
}

@media(max-width:720px){
  .ke2-word{letter-spacing:-.045em}
  .ke3-section-link{font-size:6.5px}
}

/* =========================================================
   V5.1.18 — MOBILE / RHYTHM / FINAL POLISH PASS
   ========================================================= */

/* Stable pinned viewport: avoids mobile browser chrome resizing the hero. */
.ke2-sticky{
  height:100vh;
  height:100svh;
}

/* Section rhythm: one consistent editorial cadence from hero to CTA. */
.ke2-services{padding-top:104px}
.ke3-works{padding-top:104px}
.ke3-systems{padding-top:82px}
.ke2-end{padding-top:104px;padding-bottom:104px}

/* Touch devices should not retain desktop hover states after a tap. */
@media (hover:none), (pointer:coarse){
  a.ke2-service-row:hover{
    background:transparent !important;
    color:#090a0c !important;
  }
  a.ke2-service-row:hover .ke2-service-no{color:#777d77 !important}
  a.ke2-service-row:hover .ke2-service-kicker{color:#6d736e !important}
  a.ke2-service-row:hover p{color:#656b66 !important}
  a.ke2-service-row:hover .ke2-service-arrow{
    transform:translateX(-4px) !important;
    opacity:.64;
  }

  .ke3-work-tile:hover img{
    transform:scale(1.015);
    filter:grayscale(.08) contrast(1.01);
  }
  .ke3-work-tile:hover:after{opacity:.20}
  .ke3-work-tile:hover .ke3-work-tile-meta{
    opacity:.88;
    transform:none;
  }
  a.ke3-system-row:hover{background:transparent}
}

@media(max-width:720px){
  .ke2-sticky{
    height:100svh;
    min-height:560px;
  }
  .ke2-top{top:54px}
  .ke2-stage{gap:7px}
  .ke2-stage i{width:28px}
  .ke2-copy{
    bottom:72px;
    max-width:min(78vw,300px);
  }
  .ke2-bottom{
    bottom:max(14px,env(safe-area-inset-bottom));
  }

  .ke2-services,
  .ke3-works,
  .ke3-systems{
    padding-top:84px;
  }
  .ke2-services-intro,
  .ke3-works-head{
    padding-bottom:36px;
  }
  .ke2-services-note p,
  .ke3-works-note p,
  .ke3-systems-head>p{
    font-size:11px;
    line-height:1.5;
  }

  .ke2-service-row,
  .ke2-service-row.is-active,
  .ke2-service-row:hover,
  .ke2-service-row:focus,
  .ke2-service-row:focus-within{
    min-height:0;
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
  .ke2-service-row h3{
    font-size:11.3vw;
    line-height:.90;
  }
  .ke2-service-row p{line-height:1.52}

  .ke3-work-wall{
    gap:10px;
    padding-top:22px;
  }
  .ke3-work-tile-meta{
    left:13px;
    right:13px;
    bottom:13px;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  .ke3-work-tile-meta strong{
    max-width:100%;
    text-align:left;
    font-size:6.5vw;
    line-height:.94;
  }

  .ke3-system-row{
    min-height:104px;
    padding-top:18px;
    padding-bottom:18px;
  }
  .ke3-system-row>strong{
    font-size:6.5vw;
    line-height:.95;
  }
  .ke3-system-row>p{line-height:1.5}

  .ke2-services-foot,
  .ke3-works-foot,
  .ke3-systems-foot{
    flex-wrap:wrap;
    gap:12px 20px;
  }

  .ke2-end{
    min-height:88svh;
    padding:88px 16px max(34px,env(safe-area-inset-bottom));
  }
  .ke2-end p{
    max-width:92%;
    font-size:11.5px;
  }
  .ke2-end-actions{
    width:100%;
    margin-top:40px;
  }
}

@media(max-width:420px){
  .ke2-toolbar{padding-left:12px;padding-right:12px}
  .ke2-toolbar b{font-size:8px;letter-spacing:.07em}
  .ke2-brand span{font-size:7.5px}
  .ke2-stage{font-size:7.5px}
  .ke2-copy p{font-size:11px;line-height:1.5}
  .ke2-service-row h3{font-size:10.8vw}
  .ke3-work-tile-meta strong{font-size:6.8vw}
  .ke3-system-row>strong{font-size:6.7vw}
}

/* =========================================================
   V5.1.19 — HEADER / SELECTED WORK REBUILD / VISUAL PRODUCTS
   ========================================================= */

/* REAL HOMEPAGE CHROME ---------------------------------------------------- */
.ke5-site-header{
  position:fixed;z-index:110;top:38px;left:0;right:0;height:76px;
  display:grid;grid-template-columns:minmax(180px,.8fr) auto minmax(250px,.8fr);
  gap:28px;align-items:center;padding:0 28px;
  background:rgba(247,247,243,.90);border-bottom:1px solid rgba(9,10,12,.14);
  backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.ke5-logo{display:flex;align-items:center;justify-self:start}
.ke5-logo img{display:block;width:auto;height:34px;max-width:156px;object-fit:contain}
.ke5-nav{display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}
.ke5-nav a,.ke5-lang,.ke5-quote{
  font:700 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ke5-nav a{position:relative;padding:10px 0;color:#373b38}
.ke5-nav a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:#101211;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.ke5-nav a:hover:after,.ke5-nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}
.ke5-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.ke5-lang{color:#7a7f7a}
.ke5-quote{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;background:#0a0b0d;color:#fff;border:1px solid #0a0b0d}
.ke5-menu-toggle{display:none;width:40px;height:40px;border:1px solid #aeb3ae;background:transparent;position:relative;padding:0}
.ke5-menu-toggle i{position:absolute;left:10px;right:10px;height:1px;background:#111;top:16px;transition:transform .25s ease,top .25s ease}
.ke5-menu-toggle i+i{top:23px}
.ke5-menu-toggle[aria-expanded="true"] i{top:20px;transform:rotate(45deg)}
.ke5-menu-toggle[aria-expanded="true"] i+i{transform:rotate(-45deg)}
.ke5-mobile-menu{position:fixed;z-index:109;top:114px;left:0;right:0;bottom:0;padding:28px 18px max(22px,env(safe-area-inset-bottom));background:#fff;overflow:auto}
.ke5-mobile-menu[hidden]{display:none!important}
.ke5-mobile-menu>a{display:grid;grid-template-columns:46px 1fr;align-items:end;min-height:86px;border-bottom:1px solid #c5c9c4;font-size:10.5vw;font-weight:800;letter-spacing:-.06em;line-height:.8}
.ke5-mobile-menu>a span{align-self:center;color:#737873;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke5-mobile-menu .ke5-mobile-cta{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding:0 16px;min-height:62px;background:#0a0b0d;color:#fff;font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
body.ke5-menu-open{overflow:hidden}
.ke2-top{top:136px}

/* SELECTED WORK — curated image sequence, not a card grid ---------------- */
.ke5-works{padding-top:126px;padding-left:28px;padding-right:28px}
.ke5-works-head{padding-bottom:74px}
.ke5-work-gallery{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:78px 12px;padding:42px 0 22px;align-items:start;
}
.ke5-work-item{position:relative;display:block;min-width:0;overflow:visible}
.ke5-work-media{display:block;position:relative;overflow:hidden;background:#17191c}
.ke5-work-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.09);pointer-events:none}
.ke5-work-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.002);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .45s ease;filter:saturate(.94) contrast(1.015)}
.ke5-work-item:hover .ke5-work-media img,.ke5-work-item:focus-visible .ke5-work-media img{transform:scale(1.025);filter:saturate(1) contrast(1)}
.ke5-work-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:end;padding-top:13px;color:#fff}
.ke5-work-caption small{grid-column:1/3;color:#747b82;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke5-work-caption strong{font-size:clamp(25px,3vw,58px);line-height:.88;letter-spacing:-.06em;font-weight:800}
.ke5-work-caption i{align-self:center;font-size:17px;transition:transform .25s ease}
.ke5-work-item:hover .ke5-work-caption i,.ke5-work-item:focus-visible .ke5-work-caption i{transform:translate(3px,-3px)}
.ke5-work-item:focus-visible{outline:1px solid #fff;outline-offset:7px}

.ke5-work-item--1{grid-column:1/-1}
.ke5-work-item--1 .ke5-work-media{aspect-ratio:16/7}
.ke5-work-item--2{grid-column:1/8;margin-top:20px}
.ke5-work-item--2 .ke5-work-media{aspect-ratio:4/3}
.ke5-work-item--3{grid-column:9/13;margin-top:132px}
.ke5-work-item--3 .ke5-work-media{aspect-ratio:4/5}
.ke5-work-item--4{grid-column:3/13;margin-top:8px}
.ke5-work-item--4 .ke5-work-media{aspect-ratio:16/9}
.ke5-work-item--5{grid-column:1/6;margin-top:98px}
.ke5-work-item--5 .ke5-work-media{aspect-ratio:4/5}
.ke5-work-item--6{grid-column:6/13}
.ke5-work-item--6 .ke5-work-media{aspect-ratio:16/10}
.ke5-work-item--7{grid-column:1/9;margin-top:18px}
.ke5-work-item--7 .ke5-work-media{aspect-ratio:16/9}
.ke5-work-item--8{grid-column:9/13;margin-top:118px}
.ke5-work-item--8 .ke5-work-media{aspect-ratio:3/4}
.ke5-works-foot{margin-top:18px;border-top:1px solid #2b2f34}

/* PRODUCTS — visual-first, real product imagery -------------------------- */
.ke5-products{position:relative;background:#f4f4f0;color:#0a0b0d;padding:116px 28px 0;border-top:1px solid #c7cbc6}
.ke5-products-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:60px;align-items:end;padding-bottom:62px;border-bottom:1px solid #b8bdb8}
.ke5-products-head small{display:block;margin-bottom:14px;color:#707670;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke5-products-head h2{margin:0;font-size:clamp(62px,8.1vw,152px);line-height:.8;letter-spacing:-.073em;font-weight:800}
.ke5-products-head>div:last-child{justify-self:end;max-width:420px;padding-bottom:8px}
.ke5-products-head>div:last-child span{display:block;margin-bottom:12px;color:#707670;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke5-products-head p{margin:0;color:#5e645f;font-size:12px;line-height:1.58}
.ke5-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 14px;padding:50px 0 18px}
.ke5-product-card{display:block;min-width:0}
.ke5-product-media{position:relative;display:block;overflow:hidden;background:#dfe1dc;aspect-ratio:16/7}
.ke5-product-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.002);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:saturate(.92)}
.ke5-product-card:hover .ke5-product-media img,.ke5-product-card:focus-visible .ke5-product-media img{transform:scale(1.025);filter:saturate(1)}
.ke5-product-media b{position:absolute;top:12px;right:12px;padding:7px 9px;background:rgba(10,11,13,.9);color:#fff;font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke5-product-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 24px;padding-top:14px}
.ke5-product-copy small{grid-column:1/3;color:#737973;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke5-product-copy strong{font-size:clamp(29px,3.8vw,68px);line-height:.9;letter-spacing:-.06em;font-weight:800}
.ke5-product-copy p{grid-column:1;margin:5px 0 0;max-width:620px;color:#616761;font-size:11px;line-height:1.55}
.ke5-product-copy i{grid-column:2;grid-row:2/4;align-self:end;padding-bottom:2px;color:#303430;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke5-product-card:focus-visible{outline:1px solid #111;outline-offset:7px}
.ke5-products-foot{display:flex;justify-content:space-between;align-items:center;padding:26px 0 28px;border-top:1px solid #b8bdb8;color:#707670;font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke5-products-foot .ke3-section-link{color:#111}

/* FOOTER ---------------------------------------------------------------- */
.ke5-footer{background:#090a0c;color:#fff;padding:72px 28px 24px;border-top:1px solid #22262a}
.ke5-footer-top{display:grid;grid-template-columns:minmax(300px,1.25fr) .55fr .7fr .9fr;gap:44px;padding-bottom:70px}
.ke5-footer-brand img{display:block;width:auto;height:42px;max-width:190px;margin-bottom:24px}
.ke5-footer-brand p{max-width:470px;margin:0;color:#8d949c;font-size:12px;line-height:1.6}
.ke5-footer-nav,.ke5-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ke5-footer-nav>span,.ke5-footer-contact>span{margin-bottom:7px;color:#626970;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke5-footer-nav a,.ke5-footer-contact a{color:#c7ccd1;font-size:11.5px;line-height:1.3}
.ke5-footer-nav a:hover,.ke5-footer-contact a:hover{color:#fff}
.ke5-footer-contact strong{margin-bottom:4px;max-width:220px;font-size:15px;line-height:1.25}
.ke5-footer-contact .ke5-footer-cta{margin-top:10px;padding-bottom:5px;border-bottom:1px solid #565d64;color:#fff;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke5-footer-bottom{display:flex;justify-content:space-between;gap:28px;padding-top:19px;border-top:1px solid #25282b;color:#666d74;font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke5-footer-bottom a{color:#888f96}

@media(max-width:1120px){
  .ke5-site-header{grid-template-columns:auto 1fr auto;padding-left:18px;padding-right:18px}
  .ke5-nav{gap:15px}
  .ke5-nav a:nth-last-child(-n+2){display:none}
  .ke5-works,.ke5-products{padding-left:18px;padding-right:18px}
  .ke5-footer{padding-left:18px;padding-right:18px}
  .ke5-footer-top{grid-template-columns:1.2fr .6fr .7fr;gap:32px}
  .ke5-footer-contact{grid-column:1/-1;padding-top:24px;border-top:1px solid #24272a}
}

@media(max-width:780px){
  .ke5-site-header{height:66px;top:38px;grid-template-columns:1fr auto;padding:0 16px}
  .ke5-logo img{height:30px;max-width:140px}
  .ke5-nav,.ke5-lang,.ke5-quote{display:none}
  .ke5-menu-toggle{display:block}
  .ke5-mobile-menu{top:104px}
  .ke2-top{top:138px}

  .ke5-works{padding-top:90px;padding-left:16px;padding-right:16px}
  .ke5-works-head{padding-bottom:42px}
  .ke5-work-gallery{display:block;padding-top:24px}
  .ke5-work-item{margin:0 0 42px!important}
  .ke5-work-item .ke5-work-media{aspect-ratio:16/10!important}
  .ke5-work-item:nth-child(3n) .ke5-work-media{aspect-ratio:4/5!important}
  .ke5-work-caption{padding-top:10px}
  .ke5-work-caption strong{font-size:8vw;line-height:.9}
  .ke5-work-caption small{font-size:6px}
  .ke5-works-foot{margin-top:0}

  .ke5-products{padding:86px 16px 0}
  .ke5-products-head{grid-template-columns:1fr;gap:24px;padding-bottom:40px}
  .ke5-products-head h2{font-size:14.3vw;line-height:.82}
  .ke5-products-head>div:last-child{justify-self:start;padding-bottom:0}
  .ke5-product-grid{grid-template-columns:1fr;gap:46px;padding-top:30px}
  .ke5-product-media{aspect-ratio:16/8}
  .ke5-product-copy strong{font-size:9.3vw}
  .ke5-product-copy p{font-size:10.5px}
  .ke5-product-copy i{font-size:6px}
  .ke5-products-foot{flex-wrap:wrap;gap:12px 20px}

  .ke5-footer{padding:58px 16px 22px}
  .ke5-footer-top{grid-template-columns:1fr 1fr;gap:38px 22px;padding-bottom:52px}
  .ke5-footer-brand{grid-column:1/-1}
  .ke5-footer-contact{grid-column:1/-1}
  .ke5-footer-bottom{flex-direction:column;gap:9px}
}

@media(max-width:430px){
  .ke5-mobile-menu>a{font-size:10vw}
  .ke5-work-caption strong{font-size:8.4vw}
  .ke5-product-copy{grid-template-columns:1fr}
  .ke5-product-copy small,.ke5-product-copy p,.ke5-product-copy i{grid-column:1}
  .ke5-product-copy i{grid-row:auto;margin-top:8px}
  .ke5-footer-top{grid-template-columns:1fr}
  .ke5-footer-nav{grid-column:1}
}

@media(hover:none),(pointer:coarse){
  .ke5-work-item:hover .ke5-work-media img,.ke5-product-card:hover .ke5-product-media img{transform:none;filter:none}
}

@media(prefers-reduced-motion:reduce){
  .ke5-site-header,.ke5-nav a:after,.ke5-menu-toggle i,.ke5-work-media img,.ke5-work-caption i,.ke5-product-media img{transition:none!important}
}

/* =========================================================
   V5.1.20 — ULTRA PREMIUM WHITE LOCK
   LOCKED RULE: ALL HOMEPAGE SECTIONS REMAIN WHITE.
   ========================================================= */

:root{--paper:#fff;--ke6-white:#fff;--ke6-ink:#090a0c;--ke6-line:#d7d9d6;--ke6-muted:#70746f}
html,.ke2-body,body{background:#fff!important;color:#090a0c}
main,.ke2-scroll,.ke2-sticky,.ke2-services,.ke5-works,.ke5-products,.ke2-end,.ke5-footer{background:#fff!important}

/* admin prototype bar is white too so the visual system has no dark band */
.ke2-toolbar{background:#fff!important;color:#090a0c!important;border-bottom:1px solid #dedfdd!important}
.ke2-toolbar span{color:#777c77!important}
.ke2-toolbar a{color:#090a0c!important;border-color:#b8bbb8!important}

/* header: restrained glass, no dark surface */
.ke5-site-header{background:rgba(255,255,255,.94)!important;border-bottom-color:rgba(9,10,12,.11)!important;box-shadow:0 8px 30px rgba(10,12,14,.025)}
.ke5-mobile-menu{background:#fff!important}
.ke5-mobile-menu>a{color:#090a0c!important}

/* black filled CTA treatment is reduced to outline throughout chrome */
.ke5-quote,.ke5-mobile-menu .ke5-mobile-cta{
  background:#fff!important;color:#090a0c!important;border:1px solid #090a0c!important;
}

/* hero + services white lock */
.ke2-services{background:#fff!important;color:#090a0c!important;border-top-color:#dadcda!important}
.ke2-services-intro{border-bottom-color:#cfd2cf!important}
.ke2-service-row{background:#fff!important;color:#090a0c!important;border-bottom-color:#d7dad7!important;padding-left:6px!important;padding-right:6px!important;overflow:hidden}
.ke2-service-row:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:#090a0c;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.ke2-service-row.is-active:before,.ke2-service-row:hover:before,.ke2-service-row:focus-visible:before{width:100%}
.ke2-service-row.is-active .ke2-service-no,.ke2-service-row.is-active .ke2-service-kicker{color:#707570!important}
.ke2-service-row.is-active p{color:#5f645f!important}
.ke2-service-row h3{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ke2-service-row.is-active h3,.ke2-service-row:hover h3,.ke2-service-row:focus-visible h3{transform:translateX(10px)}
.ke2-service-row:focus-visible{outline:1px solid #090a0c;outline-offset:-1px}

/* -----------------------------------------------------------------------
   SELECTED WORK — SIGNATURE KINETIC RUNWAY
   Vertical scroll drives a cinematic horizontal portfolio sequence.
   ----------------------------------------------------------------------- */
.ke6-signature-work{
  position:relative!important;
  min-height:620vh;
  padding:0!important;
  border-top:1px solid #d9dcda;
  color:#090a0c!important;
  overflow:clip;
}
.ke6-work-shell{
  position:sticky;top:114px;height:calc(100svh - 114px);min-height:650px;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;background:#fff;padding:28px 0 18px;
}
.ke6-work-head{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:54px;align-items:end;padding:0 28px 22px;border-bottom:1px solid #d9dcda;
}
.ke6-work-headline small{
  display:block;margin-bottom:9px;color:#777c77;
  font:700 6.5px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;
}
.ke6-work-headline h2{
  margin:0;font-size:clamp(58px,8.6vw,162px);line-height:.72;letter-spacing:-.079em;font-weight:850;
}
.ke6-work-headline h2 em{font-style:normal;font-weight:350;letter-spacing:-.065em}
.ke6-work-headmeta{justify-self:end;max-width:420px;padding-bottom:2px}
.ke6-work-headmeta>span{
  display:block;margin-bottom:10px;color:#777c77;
  font:700 6.5px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;
}
.ke6-work-headmeta p{margin:0;color:#5f645f;font-size:11.5px;line-height:1.52}
.ke6-work-counter{display:grid;grid-template-columns:auto minmax(38px,1fr) auto;align-items:center;gap:10px;margin-top:16px;color:#090a0c;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke6-work-counter i{height:1px;background:#c7cac7}
.ke6-runway-viewport{min-height:0;overflow:visible;padding:24px 0 14px}
.ke6-runway-track{
  height:100%;display:flex;align-items:stretch;gap:14px;width:max-content;padding:0 28px;
  will-change:transform;transform:translate3d(0,0,0);
}
.ke6-work-panel{
  position:relative;flex:0 0 min(72vw,1160px);display:grid;grid-template-rows:minmax(0,1fr) auto;
  min-width:650px;height:100%;color:#090a0c;isolation:isolate;
}
.ke6-work-panel:nth-child(3n+2){flex-basis:min(52vw,840px)}
.ke6-work-panel:nth-child(3n){flex-basis:min(62vw,980px)}
.ke6-work-image{
  position:relative;display:block;min-height:0;overflow:hidden;background:#f1f2ef;border:1px solid #e0e2df;
}
.ke6-work-image:before{
  content:"";position:absolute;z-index:2;inset:14px;border:1px solid rgba(255,255,255,.42);opacity:0;transition:opacity .4s ease;pointer-events:none;
}
.ke6-work-image img{
  display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.001);
  filter:saturate(.94) contrast(1.01);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .45s ease;
}
.ke6-work-panel:hover .ke6-work-image img,.ke6-work-panel:focus-visible .ke6-work-image img{transform:scale(1.025);filter:saturate(1) contrast(1)}
.ke6-work-panel:hover .ke6-work-image:before,.ke6-work-panel:focus-visible .ke6-work-image:before{opacity:1}
.ke6-work-info{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 28px;align-items:end;padding:12px 2px 0;
}
.ke6-work-info small{grid-column:1/3;color:#777c77;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke6-work-info strong{font-size:clamp(29px,3.4vw,62px);line-height:.86;letter-spacing:-.06em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ke6-work-info i{padding-bottom:4px;color:#4d524d;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;white-space:nowrap}
.ke6-work-panel:focus-visible{outline:1px solid #090a0c;outline-offset:5px}
.ke6-work-all{
  flex:0 0 min(34vw,520px);min-width:390px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;border:1px solid #cfd2cf;background:#fff;color:#090a0c;
}
.ke6-work-all small{margin-bottom:auto;color:#777c77;font:700 6.5px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke6-work-all strong{font-size:clamp(54px,6vw,104px);line-height:.76;letter-spacing:-.07em;font-weight:850}
.ke6-work-all span{margin-top:22px;padding-top:12px;border-top:1px solid #d7dad7;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke6-work-progress{height:1px;margin:0 28px;background:#e2e4e1;overflow:hidden}
.ke6-work-progress i{display:block;width:100%;height:100%;background:#090a0c;transform:scaleX(0);transform-origin:left;will-change:transform}

/* -----------------------------------------------------------------------
   PRODUCTS — VISUAL EDITORIAL WINDOWS, NO DARK BAND
   ----------------------------------------------------------------------- */
.ke5-products{background:#fff!important;color:#090a0c!important;padding-top:126px!important;border-top:1px solid #d9dcda!important}
.ke5-products-head{border-bottom-color:#d3d6d3!important}
.ke5-product-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:66px 14px!important;padding-top:54px!important}
.ke5-product-card{grid-column:span 6}
.ke5-product-card:nth-child(1){grid-column:1/-1}
.ke5-product-card:nth-child(4){grid-column:1/-1}
.ke5-product-card:nth-child(1) .ke5-product-media,.ke5-product-card:nth-child(4) .ke5-product-media{aspect-ratio:16/6.2}
.ke5-product-card:nth-child(2) .ke5-product-media,.ke5-product-card:nth-child(3) .ke5-product-media{aspect-ratio:4/3}
.ke5-product-media{background:#f2f3f0!important;border:1px solid #e1e3e0}
.ke5-product-media b{background:rgba(255,255,255,.94)!important;color:#090a0c!important;border:1px solid rgba(9,10,12,.14)}
.ke5-product-copy{padding-top:12px!important}
.ke5-product-copy strong{font-weight:800}
.ke5-product-copy i{color:#4e534e!important}
.ke5-products-foot{border-top-color:#d3d6d3!important}

/* final CTA — white monumental close */
.ke2-end{
  min-height:82svh!important;padding:130px 28px 44px!important;color:#090a0c!important;
  border-top:1px solid #d9dcda!important;border-bottom:1px solid #d9dcda!important;
}
.ke2-end small{color:#747974!important}
.ke2-end h2{color:#090a0c!important;font-size:clamp(86px,13vw,240px)!important;line-height:.72!important;letter-spacing:-.082em!important}
.ke2-end p{color:#5e635e!important;max-width:560px!important}
.ke2-end-actions a{background:#fff!important;color:#090a0c!important;border:1px solid #090a0c!important}
.ke2-end-actions .ke2-end-back{border-color:#c5c8c5!important;color:#5d625d!important}

/* footer — white editorial close */
.ke5-footer{background:#fff!important;color:#090a0c!important;border-top:0!important;padding-top:78px!important}
.ke5-footer-top{border-top:1px solid #d7dad7;padding-top:42px!important}
.ke5-footer-brand p{color:#606560!important}
.ke5-footer-nav>span,.ke5-footer-contact>span{color:#7a7f7a!important}
.ke5-footer-nav a,.ke5-footer-contact a{color:#343834!important}
.ke5-footer-nav a:hover,.ke5-footer-contact a:hover{color:#090a0c!important}
.ke5-footer-contact .ke5-footer-cta{color:#090a0c!important;border-bottom-color:#090a0c!important}
.ke5-footer-bottom{border-top-color:#d7dad7!important;color:#777c77!important}
.ke5-footer-bottom a{color:#343834!important}

@media(max-width:1120px){
  .ke6-work-shell{top:114px}
  .ke6-work-head{padding-left:18px;padding-right:18px}
  .ke6-runway-track{padding-left:18px;padding-right:18px}
  .ke6-work-progress{margin-left:18px;margin-right:18px}
}

@media(max-width:780px){
  .ke6-signature-work{min-height:auto!important;overflow:visible}
  .ke6-work-shell{position:relative;top:auto;height:auto;min-height:0;display:block;padding:90px 16px 36px;overflow:visible}
  .ke6-work-head{grid-template-columns:1fr;gap:24px;padding:0 0 38px}
  .ke6-work-headline h2{font-size:15vw;line-height:.76}
  .ke6-work-headmeta{justify-self:start;max-width:92%}
  .ke6-work-counter{max-width:220px}
  .ke6-runway-viewport{padding:24px 0 0;overflow:visible}
  .ke6-runway-track{display:block;width:auto;height:auto;padding:0;transform:none!important}
  .ke6-work-panel{display:block;width:auto;min-width:0;height:auto;margin:0 0 46px}
  .ke6-work-image{aspect-ratio:16/10;min-height:0}
  .ke6-work-panel:nth-child(3n+2) .ke6-work-image{aspect-ratio:4/5}
  .ke6-work-info{padding-top:10px}
  .ke6-work-info strong{font-size:9vw;white-space:normal}
  .ke6-work-all{min-width:0;width:100%;height:auto;min-height:360px;margin-top:10px;padding:20px}
  .ke6-work-all strong{font-size:18vw}
  .ke6-work-progress{display:none}

  .ke5-product-grid{grid-template-columns:1fr!important;gap:48px!important;padding-top:34px!important}
  .ke5-product-card,.ke5-product-card:nth-child(1),.ke5-product-card:nth-child(4){grid-column:1!important}
  .ke5-product-card .ke5-product-media,.ke5-product-card:nth-child(1) .ke5-product-media,.ke5-product-card:nth-child(4) .ke5-product-media{aspect-ratio:16/9!important}
  .ke2-end{padding:94px 16px 34px!important;min-height:70svh!important}
  .ke2-end h2{font-size:20vw!important}
  .ke5-footer{padding-top:52px!important}
}

@media(hover:none),(pointer:coarse){
  .ke2-service-row.is-active h3,.ke2-service-row:hover h3{transform:none}
  .ke6-work-panel:hover .ke6-work-image img{transform:none;filter:saturate(.94) contrast(1.01)}
}

@media(prefers-reduced-motion:reduce){
  .ke6-runway-track{transform:none!important}
  .ke6-work-image img,.ke2-service-row:before,.ke2-service-row h3{transition:none!important}
}

@media(prefers-reduced-motion:reduce){
  .ke6-signature-work{min-height:auto!important}
  .ke6-work-shell{position:relative;top:auto;height:auto;min-height:0;display:block;overflow:visible}
  .ke6-runway-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;height:auto}
  .ke6-work-panel,.ke6-work-panel:nth-child(3n+2),.ke6-work-panel:nth-child(3n){min-width:0;width:auto;height:auto}
  .ke6-work-image{aspect-ratio:16/10}
  .ke6-work-all{min-width:0;min-height:420px}
  .ke6-work-progress{display:none}
}

/* =========================================================
   V5.1.21 — SIGNATURE SYSTEMS + STUDIO CHROME
   SELECTED WORK V5.1.20 IS LOCKED / UNCHANGED.
   WHITE-BACKGROUND RULE REMAINS LOCKED.
   ========================================================= */

/* HEADER — minimal studio chrome ---------------------------------------- */
.ke7-site-header{
  position:fixed;z-index:112;top:46px;left:0;right:0;height:78px;
  display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1fr) minmax(300px,.8fr);
  align-items:center;gap:28px;padding:0 28px;background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(9,10,12,.12);backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);box-shadow:0 10px 40px rgba(9,10,12,.025);
}
.ke7-logo{display:flex;align-items:center;justify-self:start}
.ke7-logo img{display:block;width:auto;height:33px;max-width:158px;object-fit:contain}
.ke7-header-signature{justify-self:center;display:flex;align-items:center;gap:13px;color:#686d68;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;white-space:nowrap}
.ke7-header-signature i{display:block;width:44px;height:1px;background:#c9ccc9}
.ke7-header-actions{justify-self:end;display:flex;align-items:center;gap:16px}
.ke7-lang{color:#777c77;font:700 8.7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.10em}
.ke7-project-link{position:relative;padding:10px 0;color:#090a0c;font:700 8.7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.10em}
.ke7-project-link:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:#090a0c;transform:scaleX(.28);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ke7-project-link:hover:after,.ke7-project-link:focus-visible:after{transform:scaleX(1)}
.ke7-menu-trigger{position:relative;display:grid;grid-template-columns:auto 22px;grid-template-rows:1fr 1fr;align-items:center;column-gap:11px;width:82px;height:42px;padding:0 11px;border:1px solid #c9ccc9;background:#fff;color:#090a0c;cursor:pointer}
.ke7-menu-trigger span{grid-row:1/3;align-self:center;font:800 8.7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.10em}
.ke7-menu-trigger i{grid-column:2;display:block;width:22px;height:1px;background:#090a0c;transition:transform .3s ease,translate .3s ease}
.ke7-menu-trigger i:first-of-type{align-self:end;margin-bottom:3px}
.ke7-menu-trigger i:last-of-type{align-self:start;margin-top:3px}
.ke7-menu-trigger[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.ke7-menu-trigger[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
.ke7-menu-trigger:focus-visible{outline:1px solid #090a0c;outline-offset:3px}
.ke2-top{top:160px}

/* SIGNATURE FULL-SCREEN STUDIO INDEX ------------------------------------ */
.ke7-studio-menu{position:fixed;z-index:111;top:46px;left:0;right:0;bottom:0;background:#fff;color:#090a0c;overflow:auto;border-top:0}
.ke7-studio-menu[hidden]{display:none!important}
.ke7-menu-inner{min-height:100%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);padding:116px 28px 28px;gap:0}
.ke7-menu-primary{position:relative;border-right:1px solid #d7dad7;padding-right:28px}
.ke7-menu-kicker{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;border-bottom:1px solid #d7dad7;color:#777c77;font:700 8.6px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke7-menu-primary>a{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(150px,.35fr);align-items:end;gap:14px;min-height:clamp(76px,9.6vh,108px);padding:6px 0 8px;border-bottom:1px solid #d7dad7;color:#090a0c;overflow:visible}
.ke7-menu-primary>a:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#090a0c;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ke7-menu-primary>a small{align-self:center;color:#777c77;font:700 8.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke7-menu-primary>a strong{font-size:clamp(42px,5.7vw,104px);line-height:.84;letter-spacing:-.075em;font-weight:850;padding-top:.08em;padding-bottom:.04em;transform:translateX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ke7-menu-primary>a em{justify-self:end;align-self:center;color:#707570;font-size:13px;line-height:1.35;font-style:normal;text-align:right}
.ke7-menu-primary>a:hover:before,.ke7-menu-primary>a:focus-visible:before{transform:scaleX(1);transform-origin:left}
.ke7-menu-primary>a:hover strong,.ke7-menu-primary>a:focus-visible strong{transform:translateX(12px)}
.ke7-menu-primary>a:focus-visible{outline:none}
.ke7-menu-aside{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:30px;padding:40px 0 0 32px;overflow:hidden}
.ke7-menu-ghost{position:absolute;top:8%;right:-.06em;color:#f0f1ef;font-size:clamp(180px,22vw,420px);line-height:.72;letter-spacing:-.09em;font-weight:900;pointer-events:none;user-select:none;transition:opacity .2s ease,transform .35s cubic-bezier(.2,.7,.2,1);transform:translateX(0)}
.ke7-menu-meta{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:300px}
.ke7-menu-meta>span{color:#777c77;font:700 8.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke7-menu-meta strong,.ke7-menu-meta a{color:#222622;font-size:14px;line-height:1.5;font-weight:500}
.ke7-menu-project{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:20px 0 4px;border-top:1px solid #bfc3bf;color:#090a0c}
.ke7-menu-project span{grid-column:1;color:#777c77;font:700 8.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}
.ke7-menu-project strong{font-size:clamp(30px,3vw,54px);line-height:.88;letter-spacing:-.055em;font-weight:820}
.ke7-menu-project i{grid-column:2;grid-row:1/3;align-self:end;font-size:30px;font-style:normal;transition:transform .3s ease}
.ke7-menu-project:hover i{transform:translate(5px,-5px)}
body.ke7-menu-open{overflow:hidden}

/* SYSTEMS / PRODUCTS — SIGNATURE INTERFACE STACK ------------------------ */
.ke7-systems{position:relative;background:#fff;color:#090a0c;padding:128px 0 80px;border-top:1px solid #d9dcda}
.ke7-systems-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:54px;align-items:end;padding:0 28px 68px}
.ke7-systems-head small{display:block;margin-bottom:14px;color:#777c77;font:700 7.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}
.ke7-systems-head h2{margin:0;font-size:clamp(78px,11vw,202px);line-height:.69;letter-spacing:-.084em;font-weight:880}
.ke7-systems-head h2 em{font-style:normal;font-weight:330;letter-spacing:-.068em}
.ke7-systems-intro{justify-self:end;max-width:430px;padding-bottom:8px}
.ke7-systems-intro>span{display:block;margin-bottom:11px;color:#777c77;font:700 7.3px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke7-systems-intro p{margin:0;color:#5f645f;font-size:13px;line-height:1.6}
.ke7-system-count{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;align-items:center;gap:11px;margin-top:18px;max-width:220px;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke7-system-count i{height:1px;background:#cbd0cb}
.ke7-system-stack{position:relative;padding-bottom:6vh}
.ke7-system-panel{position:sticky;top:132px;min-height:0;margin:0 28px 14vh;display:grid;grid-template-columns:minmax(320px,.44fr) minmax(0,1fr);align-items:start;gap:20px;padding:20px;background:#fff;border:1px solid #cfd3cf;box-shadow:0 -18px 50px rgba(9,10,12,.035);overflow:hidden}
.ke7-system-panel:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)}
.ke7-system-panel:nth-child(even) .ke7-system-copy{grid-column:2;grid-row:1}
.ke7-system-panel:nth-child(even) .ke7-system-visual{grid-column:1;grid-row:1}
.ke7-system-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:28px 20px 24px 12px;min-width:0;min-height:0}
.ke7-system-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0;padding-bottom:18px;border-bottom:1px solid #d9dcda;color:#777c77;font:700 8.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.105em}
.ke7-system-meta span{white-space:nowrap}
.ke7-system-copy h3{margin:52px 0 16px;max-width:100%;font-size:clamp(54px,7vw,126px);line-height:.72;letter-spacing:-.078em;font-weight:870;overflow-wrap:anywhere}
.ke7-system-copy p{margin:0;max-width:460px;color:#5d625d;font-size:13px;line-height:1.62}
.ke7-system-copy>a{margin-top:28px;padding-bottom:6px;border-bottom:1px solid #090a0c;color:#090a0c;font:800 7.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke7-system-visual{position:relative;display:block;min-width:0;min-height:0;align-self:start;background:#fff;overflow:hidden}
.ke7-system-window{position:relative;display:grid;grid-template-rows:32px auto;width:100%;height:auto;border:1px solid #d8dbd8;background:#f5f6f3;overflow:hidden;transform:translateZ(0)}
.ke7-window-bar{display:flex;align-items:center;gap:6px;padding:0 11px;border-bottom:1px solid #d8dbd8;background:#fff}
.ke7-window-bar i{display:block;width:5px;height:5px;border:1px solid #9ca19c;border-radius:50%}
.ke7-window-bar b{margin-left:auto;color:#8a8f8a;font:700 6.7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.ke7-system-window img{display:block;width:100%;height:auto;max-height:none;object-fit:initial;object-position:initial;background:#f2f4f0;filter:saturate(.96) contrast(1.01);transform:none;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.ke7-system-visual:hover .ke7-system-window img,.ke7-system-visual:focus-visible .ke7-system-window img{transform:scale(1.01);filter:saturate(1) contrast(1)}
.ke7-system-visual:focus-visible{outline:1px solid #090a0c;outline-offset:-1px}
.ke7-system-stamp{position:absolute;z-index:3;right:10px;bottom:10px;padding:7px 8px;background:rgba(255,255,255,.92);border:1px solid #d8dbd8;color:#555a55;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.105em}
.ke7-system-panel.is-active .ke7-system-copy h3{letter-spacing:-.082em}
.ke7-systems-all{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:20px;margin:0 28px;padding:22px 0 10px;border-top:1px solid #090a0c;color:#090a0c}
.ke7-systems-all span{align-self:center;color:#777c77;font:700 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke7-systems-all strong{font-size:clamp(48px,7.2vw,132px);line-height:.76;letter-spacing:-.074em;font-weight:860;text-align:right;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ke7-systems-all i{font-size:34px;font-style:normal;transition:transform .3s ease}
.ke7-systems-all:hover strong{transform:translateX(-10px)}
.ke7-systems-all:hover i{transform:translate(5px,-5px)}

/* FOOTER — signature white editorial close ------------------------------ */
.ke7-footer{position:relative;background:#fff;color:#090a0c;padding:74px 28px 22px;border-top:1px solid #d9dcda;overflow:hidden}
.ke7-footer-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:end;padding:0 0 58px;border-bottom:1px solid #cfd3cf;color:#090a0c}
.ke7-footer-lead small{grid-column:1/3;color:#777c77;font:700 7.4px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke7-footer-lead span{font-size:clamp(54px,7.9vw,146px);line-height:.76;letter-spacing:-.075em;font-weight:850}
.ke7-footer-lead em{font-style:normal;font-weight:320}
.ke7-footer-lead i{font-size:clamp(38px,5vw,78px);font-style:normal;padding-bottom:7px;transition:transform .35s ease}
.ke7-footer-lead:hover i{transform:translate(7px,-7px)}
.ke7-footer-grid{display:grid;grid-template-columns:minmax(300px,1.25fr) .55fr .75fr .9fr;gap:44px;padding:42px 0 62px}
.ke7-footer-brand img{display:block;width:auto;height:40px;max-width:188px;margin-bottom:20px}
.ke7-footer-brand p{max-width:430px;margin:0;color:#5f645f;font-size:13px;line-height:1.65}
.ke7-footer-nav,.ke7-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.ke7-footer-nav>span,.ke7-footer-contact>span{margin-bottom:6px;color:#777c77;font:700 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke7-footer-nav a,.ke7-footer-contact a{position:relative;color:#303430;font-size:12.5px;line-height:1.45}
.ke7-footer-nav a:after,.ke7-footer-contact a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#090a0c;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.ke7-footer-nav a:hover:after,.ke7-footer-contact a:hover:after{transform:scaleX(1);transform-origin:left}
.ke7-footer-contact strong{max-width:230px;margin-bottom:2px;font-size:14px;line-height:1.45}
.ke7-footer-wordmark{white-space:nowrap;font-size:clamp(64px,10.2vw,190px);line-height:.7;letter-spacing:-.079em;font-weight:900;border-top:1px solid #d7dad7;padding-top:26px;padding-bottom:26px}
.ke7-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:18px;border-top:1px solid #d7dad7;color:#777c77;font:700 6.8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}
.ke7-footer-bottom a{color:#303430}

@media(max-width:1120px){
  .ke7-site-header{grid-template-columns:auto 1fr auto;padding-left:18px;padding-right:18px}
  .ke7-header-signature{justify-self:start;margin-left:26px}
  .ke7-menu-inner{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);padding-left:18px;padding-right:18px}
  .ke7-menu-primary>a{grid-template-columns:38px minmax(0,1fr);}
  .ke7-menu-primary>a em{display:none}
  .ke7-systems-head{padding-left:18px;padding-right:18px}
  .ke7-system-panel,.ke7-systems-all{margin-left:18px;margin-right:18px}
  .ke7-footer{padding-left:18px;padding-right:18px}
  .ke7-footer-grid{grid-template-columns:1.15fr .6fr .7fr}
  .ke7-footer-contact{grid-column:1/-1;padding-top:24px;border-top:1px solid #d7dad7}
}

@media(max-width:780px){
  .ke7-site-header{top:46px;height:66px;grid-template-columns:1fr auto;padding:0 16px}
  .ke7-logo img{height:30px;max-width:140px}
  .ke7-header-signature,.ke7-lang,.ke7-project-link{display:none}
  .ke7-header-actions{gap:0}
  .ke7-menu-trigger{width:78px;height:38px}
  .ke2-top{top:138px}

  .ke7-studio-menu{top:46px}
  .ke7-menu-inner{display:block;padding:104px 16px 24px}
  .ke7-menu-primary{border-right:0;padding-right:0}
  .ke7-menu-kicker span:last-child{display:none}
  .ke7-menu-primary>a{grid-template-columns:36px minmax(0,1fr);min-height:82px;padding:6px 0 8px}
  .ke7-menu-primary>a strong{font-size:11.8vw}
  .ke7-menu-aside{padding:34px 0 0;gap:22px}
  .ke7-menu-ghost{display:none}
  .ke7-menu-project{margin-top:10px}
  .ke7-menu-project strong{font-size:9vw}

  .ke7-systems{padding:92px 0 56px}
  .ke7-systems-head{grid-template-columns:1fr;gap:28px;padding:0 16px 48px}
  .ke7-systems-head h2{font-size:19vw;line-height:.72}
  .ke7-systems-intro{justify-self:start;max-width:92%}
  .ke7-system-stack{padding-bottom:18px}
  .ke7-system-panel,.ke7-system-panel:nth-child(even){position:relative;top:auto;min-height:0;margin:0 16px 34px;display:flex;flex-direction:column;gap:16px;padding:12px;box-shadow:none}
  .ke7-system-panel:nth-child(even) .ke7-system-copy,.ke7-system-panel:nth-child(even) .ke7-system-visual{grid-column:auto;grid-row:auto}
  .ke7-system-copy{order:2;padding:14px 4px 12px}
  .ke7-system-visual{order:1;min-height:0}
  .ke7-system-window{position:relative}
  .ke7-system-meta{padding-bottom:12px}
  .ke7-system-copy h3{margin:26px 0 12px;font-size:14vw;line-height:.76}
  .ke7-system-copy p{font-size:11.5px}
  .ke7-systems-all{grid-template-columns:1fr auto;margin:8px 16px 0;padding-top:18px}
  .ke7-systems-all span{grid-column:1/3;margin-bottom:8px}
  .ke7-systems-all strong{font-size:13.5vw;text-align:left}

  .ke7-footer{padding:54px 16px 20px}
  .ke7-footer-lead{padding-bottom:42px}
  .ke7-footer-lead small{grid-column:1/3}
  .ke7-footer-lead span{font-size:12.2vw}
  .ke7-footer-grid{grid-template-columns:1fr 1fr;gap:36px 22px;padding:38px 0 48px}
  .ke7-footer-brand{grid-column:1/-1}
  .ke7-footer-contact{grid-column:1/-1}
  .ke7-footer-wordmark{font-size:14.8vw;line-height:.74;padding:20px 0}
  .ke7-footer-bottom{flex-direction:column;align-items:flex-start;gap:9px}
}

@media(max-width:430px){
  .ke7-menu-primary>a{min-height:70px}
  .ke7-menu-primary>a strong{font-size:12.4vw}
  .ke7-footer-grid{grid-template-columns:1fr}
  .ke7-footer-nav,.ke7-footer-contact{grid-column:1}
}

@media(hover:none),(pointer:coarse){
  .ke7-menu-primary>a:hover strong{transform:none}
  .ke7-system-visual:hover .ke7-system-window img{transform:none;filter:saturate(.94) contrast(1.01)}
  .ke7-systems-all:hover strong,.ke7-systems-all:hover i,.ke7-footer-lead:hover i{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .ke7-project-link:after,.ke7-menu-trigger i,.ke7-menu-primary>a:before,.ke7-menu-primary>a strong,.ke7-menu-ghost,.ke7-menu-project i,.ke7-system-window img,.ke7-systems-all strong,.ke7-systems-all i,.ke7-footer-lead i{transition:none!important}
  .ke7-system-panel,.ke7-system-panel:nth-child(even){position:relative;top:auto;margin-bottom:28px}
}


/* =========================================================
   V5.2.0 — PRODUCTION SIGNATURE OVERRIDES
   Live pages have no admin prototype toolbar.
   ========================================================= */
.signature-live{--paper:#fff;background:#fff!important;color:#090a0c}
.signature-live .ke2-toolbar{display:none!important}
.signature-live .ke7-site-header{top:0!important}
.signature-live .ke7-studio-menu{top:0!important}
.signature-live .ke2-top{top:104px!important}
.signature-live .ke2-scroll,.signature-live .ke2-sticky,.signature-live main,
.signature-live .ke2-services,.signature-live .ke6-signature-work,
.signature-live .ke7-systems,.signature-live .ke2-end,.signature-live .ke7-footer{background:#fff!important}
.signature-live .site-header,.signature-live .mobile-menu,.signature-live .mobile-action-dock{display:none!important}
.signature-live .ke7-logo img{height:33px!important;max-height:33px!important;max-width:158px!important}
.signature-live .ke7-site-header{height:76px}
.signature-live .ke7-studio-menu{z-index:111}
.signature-live .ke7-site-header{z-index:112}
.signature-live .quick-lead{z-index:130}
@media(max-width:780px){
  .signature-live .ke7-site-header{top:0!important;height:66px}
  .signature-live .ke2-top{top:84px!important}
  .signature-live .wk-main,.signature-live .csig-main,.signature-live .exsig-main,
  .signature-live .indsig-main,.signature-live .prodsig-main,.signature-live .pds-main,
  .signature-live .insig-main,.signature-live .idsig-main,.signature-live .stsig-main,
  .signature-live .cpsig-main{padding-top:66px!important}
}
.signature-live .wk-main,.signature-live .csig-main,.signature-live .exsig-main,
.signature-live .indsig-main,.signature-live .prodsig-main,.signature-live .pds-main,
.signature-live .insig-main,.signature-live .idsig-main,.signature-live .stsig-main,
.signature-live .cpsig-main{padding-top:76px!important}


/* =========================================================
   V5.3.4 — HOMEPAGE TYPOGRAPHY SCALE + NAMING CORRECTION
   Scope: Turkish homepage only. Keeps approved interaction system.
   ========================================================= */

/* SS-1 — final kinetic hero lockup: no glyph or line collisions */
.signature-home-main .ke2-final-lockup{
  width:min(84vw,1280px);
  transform:translate(-50%,-47%) scale(.92);
}
.signature-home-main .ke2-final-lockup h2{
  max-width:10.5ch;
  font-size:clamp(56px,7.4vw,132px)!important;
  line-height:.90!important;
  letter-spacing:-.052em!important;
}
.signature-home-main .ke2-final-lockup p{
  margin-top:18px;
  line-height:1.45;
}

/* SS-2 — services intro: strong but controlled, never stacked into itself */
.signature-home-main .ke2-services-intro{
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:72px;
  padding-bottom:48px;
}
.signature-home-main .ke2-services-intro h2{
  max-width:920px;
  font-size:clamp(52px,6.4vw,118px)!important;
  line-height:.90!important;
  letter-spacing:-.058em!important;
}

/* SS-3 — services: reduce visual shouting and restore breathing room */
.signature-home-main .ke2-service-row{
  grid-template-columns:58px minmax(120px,.42fr) minmax(390px,1.34fr) minmax(270px,.72fr) 24px;
  gap:22px;
  min-height:158px;
  padding-top:24px!important;
  padding-bottom:24px!important;
}
.signature-home-main .ke2-service-row h3{
  font-size:clamp(30px,3.25vw,60px)!important;
  line-height:.96!important;
  letter-spacing:-.047em!important;
  max-width:820px;
}
.signature-home-main .ke2-service-row p{
  max-width:430px;
  font-size:12.5px;
  line-height:1.58;
}
.signature-home-main .ke2-service-row.is-active h3,
.signature-home-main .ke2-service-row:hover h3,
.signature-home-main .ke2-service-row:focus-visible h3{
  transform:translateX(4px);
}

/* SS-4 / SS-5 — Selected Work: headline and archive exit stay editorial, not monumental */
.signature-home-main .ke6-work-headline h2{
  font-size:clamp(50px,5.7vw,104px)!important;
  line-height:.90!important;
  letter-spacing:-.058em!important;
}
.signature-home-main .ke6-work-headline h2 em{letter-spacing:-.045em!important}
.signature-home-main .ke6-work-all{
  flex-basis:min(29vw,450px);
  min-width:340px;
}
.signature-home-main .ke6-work-all strong{
  font-size:clamp(42px,4.3vw,76px)!important;
  line-height:.91!important;
  letter-spacing:-.052em!important;
}

/* SS-4 / SS-5 — Systems & Products: hierarchy before scale */
.signature-home-main .ke7-systems{
  padding-top:104px;
}
.signature-home-main .ke7-systems-head{
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:72px;
  padding-bottom:56px;
}
.signature-home-main .ke7-systems-head h2{
  max-width:980px;
  font-size:clamp(54px,6.6vw,120px)!important;
  line-height:.90!important;
  letter-spacing:-.060em!important;
}
.signature-home-main .ke7-system-copy h3{
  margin-top:38px;
  font-size:clamp(42px,4.5vw,78px)!important;
  line-height:.90!important;
  letter-spacing:-.055em!important;
}
.signature-home-main .ke7-systems-all strong{
  font-size:clamp(40px,4.5vw,78px)!important;
  line-height:.92!important;
  letter-spacing:-.052em!important;
}

/* SS-6 — final CTA and footer CTA: readable scale, no oversized collision */
.signature-home-main .ke2-end{
  min-height:62svh!important;
  padding:96px 28px 46px!important;
}
.signature-home-main .ke2-end h2{
  max-width:10ch;
  font-size:clamp(54px,6.6vw,120px)!important;
  line-height:.90!important;
  letter-spacing:-.060em!important;
}
body.signature-live .ke7-footer-lead span{
  max-width:13ch;
  font-size:clamp(46px,5.4vw,98px)!important;
  line-height:.91!important;
  letter-spacing:-.055em!important;
}
body.signature-live .ke7-footer-wordmark{
  font-size:clamp(54px,8vw,145px)!important;
  line-height:.78!important;
  letter-spacing:-.066em!important;
}

@media(max-width:1120px){
  .signature-home-main .ke2-services-intro,
  .signature-home-main .ke7-systems-head{gap:38px}
  .signature-home-main .ke2-service-row{
    grid-template-columns:46px minmax(100px,.35fr) minmax(330px,1.3fr) minmax(220px,.7fr) 22px;
    gap:16px;
  }
  .signature-home-main .ke2-service-row h3{font-size:clamp(30px,3.55vw,52px)!important}
}

@media(max-width:780px){
  .signature-home-main .ke2-final-lockup{width:90vw}
  .signature-home-main .ke2-final-lockup h2{
    max-width:none;
    font-size:15vw!important;
    line-height:.92!important;
  }
  .signature-home-main .ke2-services-intro,
  .signature-home-main .ke7-systems-head{grid-template-columns:1fr;gap:24px}
  .signature-home-main .ke2-services-intro h2{
    font-size:13.2vw!important;
    line-height:.92!important;
  }
  .signature-home-main .ke2-service-row,
  .signature-home-main .ke2-service-row.is-active,
  .signature-home-main .ke2-service-row:hover,
  .signature-home-main .ke2-service-row:focus,
  .signature-home-main .ke2-service-row:focus-within{
    grid-template-columns:38px 1fr 24px;
    gap:8px 14px;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
  .signature-home-main .ke2-service-row .ke2-service-kicker{grid-column:2;grid-row:1}
  .signature-home-main .ke2-service-row h3{
    grid-column:2/4;
    font-size:9.5vw!important;
    line-height:.96!important;
  }
  .signature-home-main .ke2-service-row p{grid-column:2/4;font-size:12px}
  .signature-home-main .ke2-service-arrow{grid-column:3;grid-row:1}
  .signature-home-main .ke6-work-headline h2{font-size:12.5vw!important;line-height:.92!important}
  .signature-home-main .ke6-work-all{min-width:0;min-height:300px}
  .signature-home-main .ke6-work-all strong{font-size:13vw!important;line-height:.92!important}
  .signature-home-main .ke7-systems-head h2{font-size:13.5vw!important;line-height:.92!important}
  .signature-home-main .ke7-system-copy h3{font-size:11.5vw!important;line-height:.92!important}
  .signature-home-main .ke7-systems-all strong{font-size:11.5vw!important;line-height:.92!important}
  .signature-home-main .ke2-end{min-height:58svh!important;padding:76px 16px 38px!important}
  .signature-home-main .ke2-end h2{font-size:13.5vw!important;line-height:.92!important}
  body.signature-live .ke7-footer-lead span{font-size:10.8vw!important;line-height:.94!important}
  body.signature-live .ke7-footer-wordmark{font-size:11.5vw!important;line-height:.84!important}
}

/* V5.3.5 — Homepage sentence-case heading lock */
body.signature-live[data-route=""] :is(.ke2-final-lockup h2,.ke2-services-intro h2,.ke2-service-row h3,.ke6-work-headline h2,.ke6-work-all strong,.ke7-systems-head h2,.ke7-systems-all strong,.ke2-end h2),
body.signature-live[data-route="/"] :is(.ke2-final-lockup h2,.ke2-services-intro h2,.ke2-service-row h3,.ke6-work-headline h2,.ke6-work-all strong,.ke7-systems-head h2,.ke7-systems-all strong,.ke2-end h2){text-transform:none!important;}


/* =========================================================
   V5.4.0 — HOMEPAGE PREMIUM INTENT GRAMMAR
   Controlled choreography / intent-first / asymmetry / visual rhythm
   ========================================================= */
.signature-home-main .ke2-scroll{height:360vh!important}
.signature-home-main .ke2-sticky{min-height:620px}
.signature-home-main .ke2-sticky:before{opacity:.18;background-size:96px 96px}
.signature-home-main .ke2-word{
  left:clamp(22px,5vw,84px);right:auto;width:auto;
  font-size:clamp(56px,8vw,132px)!important;
  line-height:.92!important;letter-spacing:-.055em!important;font-weight:760;
  white-space:nowrap;
}
.signature-home-main .ke2-word--design{top:27%}
.signature-home-main .ke2-word--technology{top:44%}
.signature-home-main .ke2-word--systems{top:61%}
.signature-home-main .ke2-final-lockup{left:clamp(22px,8vw,140px);top:50%;width:min(72vw,980px);transform:translate(0,-48%) scale(.94);text-align:left}
.signature-home-main .ke2-final-lockup h2{max-width:15ch!important;font-size:var(--dsb-dl-display)!important;line-height:1.02!important;letter-spacing:-.046em!important}
.signature-home-main .ke2-final-lockup h2 em{font-weight:330}
.signature-home-main .ke2-final-lockup p{font-size:11px!important;letter-spacing:.075em!important;text-transform:none}
.signature-home-main .ke2-capabilities{left:auto;right:clamp(22px,5vw,84px);width:min(48vw,720px);grid-template-columns:1fr 1fr;top:42%;border-color:var(--dsb-dl-line)}
.signature-home-main .ke2-capabilities span{min-height:78px;font-size:14px!important;line-height:1.25!important;font-weight:650;letter-spacing:-.02em}
.signature-home-main .ke2-capabilities span:nth-child(2n){border-right:0}
.signature-home-main .ke2-copy{left:clamp(22px,5vw,84px);bottom:86px;max-width:420px}
.signature-home-main .ke2-copy p{font-size:14px!important}
.signature-home-main .ke2-bottom{left:clamp(22px,5vw,84px);right:clamp(22px,5vw,84px)}

/* Intent section: no department catalogue; wider pauses and restrained scale. */
.signature-home-main .dsb-intents{padding:var(--dsb-dl-space-xl) var(--dsb-dl-pad) 0!important}
.signature-home-main .dsb-intents .ke2-services-intro{grid-template-columns:minmax(0,1.1fr) minmax(280px,.62fr);gap:clamp(48px,8vw,140px);padding-bottom:var(--dsb-dl-space-md)}
.signature-home-main .dsb-intents .ke2-services-intro h2{font-size:var(--dsb-dl-display)!important;line-height:1.03!important;max-width:12ch}
.signature-home-main .dsb-intent-list{margin-top:20px}
.signature-home-main .dsb-intent-list .ke2-service-row{
  grid-template-columns:52px minmax(120px,.30fr) minmax(340px,1.05fr) minmax(260px,.60fr) 28px;
  gap:clamp(16px,2.6vw,42px);min-height:150px;padding:28px 6px!important;
}
.signature-home-main .dsb-intent-list .ke2-service-row h3{font-size:clamp(30px,3vw,44px)!important;line-height:1.08!important;letter-spacing:-.038em!important;max-width:20ch}
.signature-home-main .dsb-intent-list .ke2-service-row p{max-width:390px;font-size:14px!important;line-height:1.55}
.signature-home-main .dsb-intent-list .ke2-service-kicker{font-size:11px!important;line-height:1.35!important;letter-spacing:.065em!important}
.signature-home-main .ke2-services-foot{padding-top:26px;padding-bottom:86px}

/* Editorial visual break: asymmetrical proof cluster with deliberate grid break. */
.dsb-home-proof{padding:0 var(--dsb-dl-pad) var(--dsb-dl-space-xl);background:#fff}
.dsb-home-proof-head{display:grid;grid-template-columns:.42fr .58fr;gap:48px;align-items:start;border-top:1px solid var(--dsb-dl-line);padding:24px 0 54px}
.dsb-home-proof-head small{color:var(--dsb-dl-muted)}
.dsb-home-proof-head p{margin:0;max-width:520px;justify-self:end;color:var(--dsb-dl-muted);font-size:14px!important;line-height:1.6}
.dsb-home-proof-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);grid-template-rows:auto auto;gap:clamp(14px,2vw,28px);align-items:start}
.dsb-home-proof-item{position:relative;display:block;overflow:hidden;background:#f7f7f5}
.dsb-home-proof-item--1{grid-row:1/3;min-height:640px;margin-right:clamp(0px,4vw,72px)}
.dsb-home-proof-item--2{min-height:290px;margin-top:82px}
.dsb-home-proof-item--3{min-height:220px;margin-left:-34px;width:calc(100% + 34px)}
.dsb-home-proof-item img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.dsb-home-proof-item span{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;gap:14px;align-items:end;padding:12px 13px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid rgba(9,10,12,.1)}
.dsb-home-proof-item b{font-size:14px;line-height:1.25}
.dsb-home-proof-item i{font-style:normal;color:#606660;font-size:11px;white-space:nowrap}
.dsb-home-proof-item:hover img{transform:scale(1.018)}

/* Selected work: preserve signature runway but lower text volume and add negative space. */
.signature-home-main .ke6-work-shell{padding-top:42px}
.signature-home-main .ke6-work-head{grid-template-columns:minmax(0,.95fr) minmax(280px,.55fr);gap:clamp(50px,8vw,140px);padding-left:var(--dsb-dl-pad);padding-right:var(--dsb-dl-pad)}
.signature-home-main .ke6-work-headline h2{font-size:var(--dsb-dl-section)!important;line-height:1.03!important;max-width:10ch}
.signature-home-main .ke6-work-headmeta{max-width:420px;justify-self:end}
.signature-home-main .ke6-work-all strong{font-size:var(--dsb-dl-section)!important;line-height:1.03!important}

/* Product system: interface is the visual hero; copy stays secondary. */
.signature-home-main .ke7-systems{padding-top:var(--dsb-dl-space-xl)}
.signature-home-main .ke7-systems-head{grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);gap:clamp(54px,9vw,150px);padding-bottom:var(--dsb-dl-space-lg)}
.signature-home-main .ke7-systems-head h2{font-size:var(--dsb-dl-section)!important;line-height:1.04!important;max-width:13ch}
.signature-home-main .ke7-system-copy h3{font-size:clamp(32px,3.3vw,50px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.signature-home-main .ke7-system-copy p{font-size:14px!important;line-height:1.6;max-width:36ch}
.signature-home-main .ke7-systems-all{padding-top:30px;padding-bottom:60px}
.signature-home-main .ke7-systems-all strong{font-size:var(--dsb-dl-section)!important;line-height:1.04!important}

/* Quiet close — no giant finale. */
.signature-home-main .ke2-end{min-height:0!important;padding:var(--dsb-dl-space-xl) var(--dsb-dl-pad)!important;align-items:end;border-top:1px solid var(--dsb-dl-line)}
.signature-home-main .ke2-end h2{font-size:var(--dsb-dl-section)!important;line-height:1.04!important;max-width:14ch}
.signature-home-main .ke2-end p{font-size:15px!important;max-width:520px;color:#5f655f}

@media(max-width:1050px){
  .signature-home-main .dsb-intent-list .ke2-service-row{grid-template-columns:44px minmax(100px,.28fr) minmax(300px,1fr) minmax(210px,.55fr) 24px;gap:16px}
  .dsb-home-proof-item--1{min-height:520px;margin-right:0}
  .dsb-home-proof-item--2{margin-top:48px}
}
@media(max-width:780px){
  .signature-home-main .ke2-scroll{height:300vh!important}
  .signature-home-main .ke2-word{left:16px;font-size:14vw!important;line-height:.95!important}
  .signature-home-main .ke2-word--design{top:31%}.signature-home-main .ke2-word--technology{top:45%}.signature-home-main .ke2-word--systems{top:59%}
  .signature-home-main .ke2-final-lockup{left:16px;width:calc(100vw - 32px);transform:translateY(-48%) scale(.96)}
  .signature-home-main .ke2-final-lockup h2{font-size:11vw!important;line-height:1.04!important}
  .signature-home-main .ke2-capabilities{left:16px;right:16px;width:auto;top:43%}
  .signature-home-main .ke2-capabilities span{min-height:62px;font-size:12px!important}
  .signature-home-main .dsb-intents .ke2-services-intro{grid-template-columns:1fr;gap:28px}
  .signature-home-main .dsb-intents .ke2-services-intro h2{font-size:11vw!important}
  .signature-home-main .dsb-intent-list .ke2-service-row,
  .signature-home-main .dsb-intent-list .ke2-service-row:hover,
  .signature-home-main .dsb-intent-list .ke2-service-row:focus-within{grid-template-columns:34px 1fr 24px;gap:10px 12px;min-height:0;padding:24px 0!important}
  .signature-home-main .dsb-intent-list .ke2-service-kicker{grid-column:2;grid-row:1}
  .signature-home-main .dsb-intent-list .ke2-service-row h3{grid-column:2/4;font-size:8.2vw!important;max-width:100%}
  .signature-home-main .dsb-intent-list .ke2-service-row p{grid-column:2/4;font-size:13px!important}
  .signature-home-main .dsb-intent-list .ke2-service-arrow{grid-column:3;grid-row:1}
  .dsb-home-proof-head{grid-template-columns:1fr;gap:18px;padding-bottom:34px}
  .dsb-home-proof-head p{justify-self:start}
  .dsb-home-proof-grid{grid-template-columns:1fr;display:grid}
  .dsb-home-proof-item--1,.dsb-home-proof-item--2,.dsb-home-proof-item--3{grid-row:auto;min-height:0;height:auto;margin:0;width:100%}
  .dsb-home-proof-item img{height:auto;min-height:0;aspect-ratio:4/3}
  .signature-home-main .ke6-work-head,.signature-home-main .ke7-systems-head{grid-template-columns:1fr;gap:28px}
  .signature-home-main .ke6-work-headmeta,.signature-home-main .ke7-systems-intro{justify-self:start}
  .signature-home-main .ke2-end{display:grid;grid-template-columns:1fr;gap:34px}
}


/* V5.7.7 — Full-Width Footer Wordmark */
.ke7-footer-wordmark{display:block;width:auto;margin-left:-28px;margin-right:-28px;padding:22px 28px 18px;border-top:1px solid #d7dad7;font-size:clamp(84px,11.8vw,236px);line-height:.74;letter-spacing:-.082em;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:clip;}
@media(max-width:1050px){.ke7-footer-wordmark{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;font-size:clamp(70px,11.6vw,182px);}}
@media(max-width:760px){.ke7-footer-wordmark{margin-left:-16px;margin-right:-16px;padding:18px 16px 14px;font-size:18vw;line-height:.78;font-weight:950;}}


/* V5.7.8 — Signature footer edge-to-edge wordmark hard lock */
.ke7-footer-wordmark{
  box-sizing:border-box!important;
  width:calc(100% + 56px)!important;
  margin-left:-28px!important;
  margin-right:-28px!important;
  padding:24px 28px 16px!important;
  font-size:clamp(96px,13.2vw,258px)!important;
  line-height:.72!important;
  letter-spacing:-.088em!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
@media(max-width:1050px){
  .ke7-footer-wordmark{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;padding-left:18px!important;padding-right:18px!important;font-size:13.4vw!important}
}
@media(max-width:760px){
  .ke7-footer-wordmark{width:calc(100% + 32px)!important;margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important;font-size:18.5vw!important;line-height:.76!important}
}
