.features-hero{
  padding-top:84px;
  padding-bottom:48px;
  text-align:center;
}
.features-hero h1{
  font-size:clamp(40px,5.5vw,68px);
  margin:18px auto 18px;
  max-width:820px;
}
.features-hero>p{
  margin:0 auto;
  max-width:640px;
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}

.feature-modules{padding-bottom:40px}
.module-row{
  display:grid;
  grid-template-columns:minmax(280px,380px) minmax(0,1fr);
  gap:48px;
  align-items:center;
  padding:72px 0;
  border-bottom:1px solid var(--wb-border);
  scroll-margin-top:104px;
}
.module-row.module-reverse{
  grid-template-columns:minmax(0,1fr) minmax(280px,380px);
}
.module-row:first-child{border-top:1px solid var(--wb-border)}
.module-reverse .module-copy{order:2}
.module-reverse .module-visual{order:1}

.module-copy{max-width:380px}
.module-copy h2{
  margin:14px 0 14px;
  font-size:clamp(28px,3.2vw,42px);
  letter-spacing:-.03em;
  color:#fff;
  overflow-wrap:break-word;
}
.module-copy>p{
  margin:0 0 20px;
  color:var(--wb-text-2);
  font-size:15px;
  line-height:1.75;
}
.module-copy ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.module-copy li{
  position:relative;
  padding-left:18px;
  color:var(--wb-text-3);
  font-size:13px;
  line-height:1.55;
}
.module-copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7FB2FF;
  box-shadow:0 0 10px rgba(127,178,255,.7);
}

.module-visual,
body[data-page] .module-visual{
  position:relative;
  margin:0;
  width:100%;
  max-width:720px;
  aspect-ratio:16/10;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  display:grid;
  place-items:center;
}
.module-row:not(.module-reverse) .module-visual{justify-self:end}
.module-row.module-reverse .module-visual{justify-self:start}
.module-row.module-reverse .module-copy{
  justify-self:end;
  width:100%;
  max-width:380px;
}
.module-visual img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  background:transparent;
  filter:none;
}
.module-badge{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:2;
  padding:8px 12px;
  border-radius:8px;
  background:rgba(8,22,62,.78);
  border:1px solid rgba(255,255,255,.18);
  color:var(--wb-text-2);
  font-size:11px;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 20px rgba(3,10,35,.22);
}

.features-cta{padding-top:40px;padding-bottom:110px}
.features-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:42px 44px;
  border:1px solid var(--wb-border);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  box-shadow:var(--wb-shadow);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
}
.features-cta-inner h2{
  margin:12px 0 12px;
  font-size:clamp(28px,3.2vw,40px);
  color:#fff;
}
.features-cta-inner p{
  margin:0;
  max-width:520px;
  color:var(--wb-text-3);
}
.features-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  flex-shrink:0;
}
.features-cta-actions .button{
  text-decoration:none;
  border-bottom:0;
}

@media(max-width:850px){
  .features-hero{padding-top:62px;padding-bottom:28px}
  .module-row,
  .module-row.module-reverse{
    grid-template-columns:1fr;
    gap:28px;
    padding:52px 0;
  }
  .module-reverse .module-copy,
  .module-reverse .module-visual{order:initial}
  .module-copy,
  .module-row.module-reverse .module-copy{max-width:none;justify-self:stretch}
  .module-visual,
  .module-row:not(.module-reverse) .module-visual,
  .module-row.module-reverse .module-visual{
    max-width:100%;
    justify-self:stretch;
  }
  .features-cta-inner{
    flex-direction:column;
    align-items:flex-start;
    padding:28px 22px;
  }
}
