.ws-quality-grid,
.ws-quality-grid *{
  box-sizing:border-box;
}

.ws-quality-grid{
  --ws-quality-accent:var(--ws-btn-primary-bg, #f3c847);
  --ws-quality-bg:#1d1b1b;
  --ws-quality-border:rgba(255,255,255,.10);
  position:relative;
  overflow:hidden;
  padding:32px 0;
  background:var(--ws-quality-bg);
  color:#fff;
}

.ws-quality-grid__container{
  position:relative;
  z-index:1;
  width:100%;
  max-width:90rem;
  margin:0 auto;
  padding:0 24px;
}

.ws-quality-grid__header{
  max-width:820px;
  margin:0 auto 22px;
  text-align:center;
}

.ws-quality-grid__eyebrow{
  margin:0 0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ws-quality-accent);
}

.ws-quality-grid__eyebrow-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:var(--ws-quality-accent);
}

.ws-quality-grid__eyebrow-icon svg{
  width:17px;
  height:17px;
  display:block;
}

.ws-quality-grid__title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.28em;
  margin:0;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:var(--h2-size, 48px);
  line-height:1.08;
  letter-spacing:var(--h-track, -.025em);
  font-weight:800;
  color:#fff;
  text-wrap:balance;
}

.ws-quality-grid__title mark,
.ws-quality-grid__title span,
.ws-quality-grid__title .ws-quality-grid__hl{
  color:var(--ws-quality-accent) !important;
  -webkit-text-fill-color:var(--ws-quality-accent) !important;
  background:transparent !important;
  padding:0 !important;
}

.ws-quality-grid__title::before,
.ws-quality-grid__title::after{
  content:none;
}

.ws-quality-grid__desc{
  max-width:860px;
  margin:.55rem auto 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size, 18px);
  line-height:var(--txt-lh, 1.5);
  font-weight:500;
  color:rgba(255,255,255,.78);
  text-wrap:balance;
}

.ws-quality-grid__header{
  position:relative;
}

.ws-quality-grid__header::after{
  content:"";
  display:block;
  width:190px;
  height:22px;
  margin:8px auto 0;
  background:
    linear-gradient(var(--ws-quality-accent), var(--ws-quality-accent)) left 50% / 78px 1px no-repeat,
    linear-gradient(var(--ws-quality-accent), var(--ws-quality-accent)) right 50% / 78px 1px no-repeat;
  opacity:.85;
}

.ws-quality-grid__header::before{
  content:"×";
  position:absolute;
  left:50%;
  bottom:0;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateX(-50%);
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:22px;
  line-height:1;
  font-weight:500;
  color:var(--ws-quality-accent);
}

.ws-quality-grid__label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:22px auto 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size-sm, 16px);
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--ws-quality-accent);
}

.ws-quality-grid__label::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ws-quality-accent);
  box-shadow:0 0 18px rgba(243,200,71,.45);
}

.ws-quality-grid__items{
  position:relative;
  overflow:visible;
}

.ws-quality-grid__items-track{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.ws-quality-grid__card{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(180px, .95fr) minmax(220px, 1fr);
  overflow:hidden;
  border:1px solid var(--ws-quality-border);
  border-radius:16px;
  background:#1d1b1b;
  box-shadow:0 16px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

.ws-quality-grid__nav{
  display:none;
}

.ws-quality-grid__media{
  min-height:190px;
  background:#1d1b1b;
}

.ws-quality-grid__media img{
  width:100%;
  height:100%;
  min-height:190px;
  display:block;
  object-fit:cover;
}

.ws-quality-grid__body{
  padding:22px;
  display:grid;
  align-content:start;
}

.ws-quality-grid__icon{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  color:var(--ws-quality-accent);
  border:1px solid rgba(243,200,71,.38);
  border-radius:12px;
  background:rgba(243,200,71,.06);
}

.ws-quality-grid__icon svg{
  width:24px;
  height:24px;
  display:block;
}

.ws-quality-grid__card-title{
  margin:0;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:var(--h5-size, 22px);
  line-height:1.08;
  font-weight:800;
  color:#fff;
  text-transform:uppercase;
}

.ws-quality-grid__card-sub{
  margin:4px 0 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size-sm, 16px);
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  color:var(--ws-quality-accent);
}

.ws-quality-grid__card-text{
  margin:18px 0 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size-sm, 16px);
  line-height:1.55;
  font-weight:500;
  color:rgba(255,255,255,.72);
}

.ws-quality-grid__assurances{
  display:none !important;
}

@media (max-width:980px){
  .ws-quality-grid__container{
    padding:0 12px;
  }

  .ws-quality-grid__items-track{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .ws-quality-grid{
    padding:32px 0;
  }

  .ws-quality-grid__container{
    padding:0 10px;
  }

  .ws-quality-grid__header{
    margin-bottom:24px;
  }

  .ws-quality-grid__title{
    display:block;
    font-size:clamp(32px, 10vw, 46px);
    line-height:1.08;
    text-wrap:balance;
  }

  .ws-quality-grid__title .ws-quality-grid__hl,
  .ws-quality-grid__title mark,
  .ws-quality-grid__title span{
    display:inline;
    white-space:normal;
  }

  .ws-quality-grid__desc{
    font-size:var(--txt-size, 16px);
    margin:.55rem auto 0;
    line-height:1.45;
  }

  .ws-quality-grid__items{
    overflow:hidden;
    padding:0 0 46px;
  }

  .ws-quality-grid__items-track{
    display:flex;
    gap:0;
  }

  .ws-quality-grid__card{
    width:100%;
    height:auto;
  }

  .ws-quality-grid__card{
    grid-template-columns:1fr;
    border-radius:14px;
  }

  .ws-quality-grid__nav{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) 38px;
    align-items:center;
    gap:12px;
    padding:0 4px;
  }

  .ws-quality-grid__arrow{
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.055);
    color:var(--ws-quality-accent);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    cursor:pointer;
  }

  .ws-quality-grid__arrow svg{
    width:20px;
    height:20px;
    display:block;
  }

  .ws-quality-grid__arrow.swiper-button-disabled{
    opacity:.38;
  }

  .ws-quality-grid__pagination{
    position:static;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
  }

  .ws-quality-grid__pagination .swiper-pagination-bullet{
    width:7px;
    height:7px;
    margin:0 !important;
    border-radius:999px;
    background:rgba(255,255,255,.34);
    opacity:1;
    transition:width .2s ease, background-color .2s ease;
  }

  .ws-quality-grid__pagination .swiper-pagination-bullet-active{
    width:22px;
    background:var(--ws-quality-accent);
  }

  .ws-quality-grid__media,
  .ws-quality-grid__media img{
    min-height:170px;
  }

  .ws-quality-grid__body{
    position:relative;
    padding:16px 64px 16px 16px;
  }

  .ws-quality-grid__icon{
    position:absolute;
    top:16px;
    right:16px;
    width:38px;
    height:38px;
    margin:0;
    border-radius:11px;
  }

  .ws-quality-grid__icon svg{
    width:22px;
    height:22px;
  }

  .ws-quality-grid__card-sub{
    margin-top:3px;
  }

  .ws-quality-grid__card-text{
    margin-top:12px;
  }
}
