/* ULTRACOL-only visual feature layout */
.ks-treatment-layout #approach.ks-ultracol-core{
  position:relative;
  overflow:hidden;
  padding:72px 0 76px;
  background:#fff;
  color:var(--ha-ink,#302f2b);
}
.ks-treatment-layout #approach.ks-ultracol-core>.inner{
  width:calc(100% - 64px);
  max-width:1240px;
  margin:0 auto;
}
.ks-ultracol-core__header{
  max-width:780px;
  margin:0 auto 34px;
  text-align:center;
}
.ks-ultracol-core__eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--ha-accent,#736347);
  font-size:13px;
  letter-spacing:.22em;
}
.ks-ultracol-core__heading{
  margin:0;
  font-size:34px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.03em;
}
.ks-ultracol-core__intro{
  max-width:680px;
  margin:14px auto 0;
  font-size:15px;
  line-height:1.9;
  color:#5d5a54;
}
.ks-ultracol-core__stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(250px,330px) minmax(240px,1fr);
  grid-template-rows:minmax(220px,1fr) minmax(220px,1fr);
  grid-template-areas:
    "p1 product p2"
    "p3 product p4";
  column-gap:52px;
  row-gap:48px;
  align-items:center;
  min-height:620px;
  padding:16px 0;
}
.ks-ultracol-core__lines{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.ks-ultracol-core__lines path{
  fill:none;
  stroke:#b6b2aa;
  stroke-width:1.6;
  vector-effect:non-scaling-stroke;
}
.ks-ultracol-core__lines circle{
  fill:#242424;
}
.ks-ultracol-core__point{
  position:relative;
  z-index:2;
  max-width:340px;
  padding:12px 18px;
  background:rgba(255,255,255,.95);
}
.ks-ultracol-core__point--1{grid-area:p1;justify-self:start;align-self:start;margin-top:34px;}
.ks-ultracol-core__point--2{grid-area:p2;justify-self:end;align-self:start;margin-top:34px;text-align:right;}
.ks-ultracol-core__point--3{grid-area:p3;justify-self:start;align-self:end;margin-bottom:34px;}
.ks-ultracol-core__point--4{grid-area:p4;justify-self:end;align-self:end;margin-bottom:34px;text-align:right;}
.ks-ultracol-core__point h3{
  margin:0 0 10px;
  color:#1f2c55;
  font-size:19px;
  font-weight:700;
  line-height:1.55;
}
.ks-ultracol-core__text,
.ks-ultracol-core__text p{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#4f5057;
}
.ks-ultracol-core__text p+p{margin-top:8px;}
.ks-ultracol-core__product{
  grid-area:product;
  position:relative;
  z-index:1;
  align-self:center;
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:330px;
  min-height:500px;
  margin:0;
}
.ks-ultracol-core__product img{
  display:block;
  width:100%;
  height:auto;
  max-height:500px;
  object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(42,42,42,.08));
}

@media (max-width: 980px){
  .ks-ultracol-core__stage{
    grid-template-columns:minmax(200px,1fr) minmax(210px,280px) minmax(200px,1fr);
    column-gap:28px;
  }
  .ks-ultracol-core__point{padding:10px 12px;}
  .ks-ultracol-core__point h3{font-size:17px;}
  .ks-ultracol-core__text,
  .ks-ultracol-core__text p{font-size:13px;}
}

@media (max-width: 767px){
  .ks-treatment-layout #approach.ks-ultracol-core{
    padding:46px 44px 50px 0;
  }
  .ks-treatment-layout #approach.ks-ultracol-core>.inner{
    width:calc(100% - 36px);
  }
  .ks-ultracol-core__header{
    margin-bottom:26px;
    text-align:left;
  }
  .ks-ultracol-core__eyebrow{font-size:12px;}
  .ks-ultracol-core__heading{
    font-size:24px;
    line-height:1.55;
  }
  .ks-ultracol-core__intro{
    margin-top:10px;
    font-size:14px;
    line-height:1.85;
  }
  .ks-ultracol-core__stage{
    display:flex;
    flex-direction:column;
    gap:0;
    min-height:0;
    padding:0;
  }
  .ks-ultracol-core__lines{display:none;}
  .ks-ultracol-core__product{
    order:-1;
    width:74%;
    max-width:300px;
    min-height:0;
    margin:0 auto 22px;
  }
  .ks-ultracol-core__product img{
    max-height:360px;
  }
  .ks-ultracol-core__point,
  .ks-ultracol-core__point--1,
  .ks-ultracol-core__point--2,
  .ks-ultracol-core__point--3,
  .ks-ultracol-core__point--4{
    width:100%;
    max-width:none;
    margin:0;
    padding:18px 0;
    border-top:1px solid var(--ha-line,#e2ddd1);
    text-align:left;
  }
  .ks-ultracol-core__point:last-of-type{
    border-bottom:1px solid var(--ha-line,#e2ddd1);
  }
  .ks-ultracol-core__point h3{
    margin-bottom:6px;
    font-size:16px;
  }
  .ks-ultracol-core__text,
  .ks-ultracol-core__text p{
    font-size:14px;
    line-height:1.8;
  }
}
