
.cepp{
  width:100%;
  max-width:var(--cepp-max);
  margin:0 auto;
  color:var(--cepp-heading);
  font-family:var(--cepp-body-font),Arial,sans-serif;
}
.cepp *{box-sizing:border-box}
.cepp svg,.cepp img{display:block;width:100%;height:100%}
.cepp svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cepp-top{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  padding:var(--cepp-top-py) var(--cepp-top-px);
  background:var(--cepp-top-bg);
}
.cepp-top-item{
  min-height:var(--cepp-top-divider);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--cepp-top-gap);
  padding:0 34px;
}
.cepp-top-item+.cepp-top-item{
  border-left:1px solid var(--cepp-divider);
}
.cepp-top-icon{
  width:var(--cepp-top-icon);
  height:var(--cepp-top-icon);
  flex:0 0 var(--cepp-top-icon);
  color:var(--cepp-accent);
}
.cepp-top-icon img{object-fit:contain}
.cepp-experience-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.cepp-experience-copy strong{
  margin:0;
  font-family:var(--cepp-heading-font),Georgia,serif;
  font-size:var(--cepp-exp-size);
  line-height:.8;
  font-weight:500;
  color:var(--cepp-accent);
}
.cepp-experience-copy span{
  margin-top:var(--cepp-exp-gap);
  font-size:var(--cepp-exp-label-size);
  line-height:1.2;
  color:var(--cepp-body);
}
.cepp-top-copy h3{
  margin:0 0 5px;
  font-family:var(--cepp-heading-font),Georgia,serif;
  font-size:30px;
  line-height:1;
  font-weight:500;
}
.cepp-top-copy p{
  margin:0;
  color:var(--cepp-body);
  font-size:16px;
  line-height:1.35;
}
.cepp-main{
  display:grid;
  grid-template-columns:var(--cepp-process-width) var(--cepp-about-width);
  padding:var(--cepp-process-pt) 48px var(--cepp-process-pb);
  background:var(--cepp-main-bg);
}
.cepp-label{
  margin-bottom:22px;
  font-size:var(--cepp-process-label);
  line-height:1;
  font-weight:700;
  letter-spacing:2.1px;
  text-transform:uppercase;
}
.cepp-process{padding-right:34px}
.cepp-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);
  column-gap:var(--cepp-process-gap);
  align-items:stretch;
}
.cepp-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
}
.cepp-number{
  width:var(--cepp-number-circle);
  height:var(--cepp-number-circle);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:13px;
  border-radius:50%;
  background:var(--cepp-number-bg);
  font-size:var(--cepp-number-size);
}
.cepp-step h3{
  margin:0 0 8px;
  font-family:var(--cepp-heading-font),Georgia,serif;
  font-size:var(--cepp-process-title);
  line-height:1.05;
  font-weight:500;
}
.cepp-step p{
  min-height:58px;
  max-width:150px;
  margin:0;
  color:var(--cepp-body);
  font-size:var(--cepp-process-text);
  line-height:1.42;
}
.cepp-step-icon{
  width:var(--cepp-process-icon);
  height:var(--cepp-process-icon);
  margin-top:13px;
  color:var(--cepp-accent);
}
.cepp-step-icon img{object-fit:contain}
.cepp-step-divider{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:var(--cepp-process-divider);
}
.cepp-step-divider:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:var(--cepp-divider);
}
.cepp-step-divider span{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:30px;
  background:var(--cepp-main-bg);
  color:var(--cepp-accent);
  font-family:Georgia,serif;
  font-size:24px;
}
.cepp-about{
  border-left:1px solid var(--cepp-divider);
  padding-left:40px;
}
.cepp-about h2{
  margin:0 0 15px;
  font-family:var(--cepp-heading-font),Georgia,serif;
  font-size:var(--cepp-about-title);
  line-height:1.03;
  font-weight:500;
}
.cepp-about p{
  margin:0 0 17px;
  color:var(--cepp-body);
  font-size:var(--cepp-about-text);
  line-height:1.6;
}
.cepp-about a{
  color:var(--cepp-accent)!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:600;
}
@media(max-width:1100px){
  .cepp-top{padding-left:24px;padding-right:24px}
  .cepp-top-item{padding:0 18px}
  .cepp-main{grid-template-columns:1fr;padding-left:30px;padding-right:30px}
  .cepp-process{padding-right:0}
  .cepp-about{
    margin-top:30px;
    padding:30px 0 0;
    border-left:0;
    border-top:1px solid var(--cepp-divider);
  }
}
@media(max-width:767px){
  .cepp-top{grid-template-columns:1fr;padding:0 22px}
  .cepp-top-item{
    justify-content:flex-start;
    min-height:112px;
    padding:18px 4px;
  }
  .cepp-top-item+.cepp-top-item{
    border-left:0;
    border-top:1px solid var(--cepp-divider);
  }
  .cepp-main{padding-left:22px;padding-right:22px}
  .cepp-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 18px;
  }
  .cepp-step-divider{display:none}
}


/* V1.1 mobile process grid improvement */
@media(max-width:767px){
  .cepp-process{
    width:100%;
  }

  .cepp-label{
    margin-bottom:24px;
  }

  .cepp-steps{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 12px;
    align-items:stretch;
  }

  .cepp-step{
    min-width:0;
    width:100%;
    min-height:285px;
    padding:20px 10px 18px;
    border:1px solid var(--cepp-divider);
    border-radius:12px;
    background:rgba(255,255,255,.28);
    justify-content:flex-start;
    overflow:hidden;
  }

  .cepp-number{
    flex:0 0 auto;
    margin-bottom:14px;
  }

  .cepp-step h3{
    width:100%;
    margin-bottom:9px;
    font-size:clamp(20px,5.7vw,var(--cepp-process-title));
    line-height:1.05;
    overflow-wrap:anywhere;
  }

  .cepp-step p{
    width:100%;
    max-width:100%;
    min-height:74px;
    margin:0;
    padding:0 2px;
    font-size:clamp(12px,3.7vw,var(--cepp-process-text));
    line-height:1.42;
    overflow-wrap:anywhere;
  }

  .cepp-step-icon{
    flex:0 0 auto;
    margin-top:auto;
    padding-top:14px;
  }
}

@media(max-width:420px){
  .cepp-main{
    padding-left:14px;
    padding-right:14px;
  }

  .cepp-steps{
    gap:12px 8px;
  }

  .cepp-step{
    min-height:270px;
    padding:17px 7px 15px;
  }

  .cepp-step h3{
    font-size:19px;
  }

  .cepp-step p{
    min-height:82px;
    font-size:12px;
  }

  .cepp-step-icon{
    transform:scale(.9);
  }
}


/* V1.2 tighter mobile cards */
@media(max-width:767px){
  .cepp-steps{
    gap:14px 10px;
  }

  .cepp-step{
    min-height:0 !important;
    height:auto !important;
    padding:20px 10px 18px !important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }

  .cepp-number{
    margin-bottom:14px !important;
  }

  .cepp-step h3{
    margin:0 0 10px !important;
  }

  .cepp-step p{
    min-height:0 !important;
    margin:0 !important;
  }

  .cepp-step-icon{
    margin-top:22px !important;
    padding-top:0 !important;
    transform:scale(1.02);
  }
}

@media(max-width:420px){
  .cepp-step{
    padding:17px 7px 15px !important;
  }

  .cepp-number{
    margin-bottom:12px !important;
  }

  .cepp-step h3{
    margin-bottom:8px !important;
  }

  .cepp-step-icon{
    margin-top:18px !important;
  }
}
