:root{
  --bg:#f7fbff;
  --white:#ffffff;
  --text:#071a3a;
  --muted:#50627f;
  --blue:#2563eb;
  --cyan:#18c3c1;
  --soft-blue:#eaf3ff;
  --border:#e2ebf5;
  --shadow:0 28px 80px rgba(27,60,110,.13);
  --radius:28px;
  --container:1180px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Inter,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 0% 35%, rgba(37,99,235,.10), transparent 34%),
    radial-gradient(circle at 95% 18%, rgba(24,195,193,.12), transparent 30%),
    linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%);
  overflow-x:hidden;
}

a{
  text-decoration:none;
  color:inherit;
}

.container{
  width:min(var(--container),calc(100% - 32px));
  margin:0 auto;
}

.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
}

.nav{
  height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.logo{
  display:flex;
  align-items:center;
  gap:18px;
}

.logo span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:white;
  font-size:1.2rem;
  font-weight:900;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
}

.logo strong{
  font-size:1.45rem;
  font-weight:900;
  letter-spacing:-.04em;
}

nav{
  display:flex;
  align-items:center;
  gap:32px;
  color:#172033;
  font-weight:500;
}

.nav-btn{
  color:white;
  padding:15px 22px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  font-weight:800;
}

.hero{
  padding:74px 0 42px;
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  left:-14%;
  bottom:-10%;
  width:620px;
  height:620px;
  border-radius:50%;
  background:rgba(37,99,235,.07);
  z-index:-1;
}

.hero-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:58px;
  align-items:center;
}

.tag{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  background:#e3efff;
  color:#1261e8;
  font-size:.95rem;
  font-weight:700;
  margin-bottom:26px;
}

h1{
  margin:0 0 24px;
  font-size:clamp(2.75rem,5vw,5rem);
  line-height:1.08;
  letter-spacing:-.065em;
  font-weight:900;
  max-width:760px;
}

h1 span{
  display:block;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-copy p{
  margin:0;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.85;
  max-width:610px;
}

.actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:30px;
}

.btn{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  border-radius:15px;
  font-weight:800;
  transition:.25s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.primary{
  color:white;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 18px 34px rgba(37,99,235,.22);
}

.secondary{
  color:#172033;
  background:white;
  border:1px solid #cbd5e1;
}

.slider-card{
  position:relative;
  border-radius:26px;
  padding:8px;
  background:white;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
}

.device-slider{
  position:relative;
  height:420px;
  border-radius:20px;
  overflow:hidden;
  background:#dbeafe;
}

.slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .8s ease, transform 1.2s ease;
}

.slide.active{
  opacity:1;
  transform:scale(1);
}

.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border-radius:999px;
  border:0;
  background:white;
  color:#172033;
  font-size:2.4rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(15,35,70,.18);
}

.prev{left:18px}
.next{right:18px}

.slider-dots{
  position:absolute;
  left:50%;
  bottom:-34px;
  transform:translateX(-50%);
  display:flex;
  gap:14px;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  background:#d5dbe5;
  cursor:pointer;
}

.dot.active{
  background:var(--blue);
}

.floating-card{
  position:absolute;
  right:30px;
  bottom:-44px;
  display:flex;
  align-items:center;
  gap:18px;
  min-width:280px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  box-shadow:0 22px 45px rgba(15,35,70,.16);
  border-radius:18px;
  padding:20px 24px;
}

.shield{
  width:56px;
  height:56px;
  border-radius:18px;
  border:4px solid var(--cyan);
  display:grid;
  place-items:center;
  color:var(--cyan);
  flex:0 0 auto;
}

.shield svg{
  width:28px;
  height:28px;
  stroke:currentColor;
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.floating-card strong{
  display:block;
  font-size:1.05rem;
}

.floating-card span{
  display:block;
  color:var(--muted);
  line-height:1.45;
  margin-top:5px;
}

.feature-strip{
  padding:72px 0 24px;
}

.feature-box{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:white;
  border-radius:20px;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  overflow:hidden;
}

.feature{
  text-align:center;
  padding:34px 20px;
  border-right:1px solid var(--border);
}

.feature:last-child{
  border-right:0;
}

.feature-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:18px;
  background:linear-gradient(135deg,#e0f2fe,#ecfeff);
  color:var(--blue);
}

.feature-icon svg,
.icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.feature strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:7px;
}

.feature span{
  color:var(--muted);
  font-size:.94rem;
}

.section{
  padding:82px 0;
}

.soft{
  background:linear-gradient(180deg,rgba(233,243,255,.7),rgba(255,255,255,.2));
}

.section-head{
  max-width:790px;
  margin:0 auto 42px;
  text-align:center;
}

.section-head h2,
.split h2,
.assistive h2,
.final-cta h2{
  margin:0 0 16px;
  font-size:clamp(2rem,3.2vw,3.25rem);
  line-height:1.12;
  letter-spacing:-.045em;
}

.section-head p,
.split p,
.assistive p,
.final-cta p{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.75;
}

.cards,
.pricing{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.card,
.price-card,
.step,
.assistive-card,
.final-cta,
.faq-item{
  background:white;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
}

.card,
.price-card{
  padding:30px;
}

.icon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#e0f2fe,#ecfeff);
  color:var(--blue);
  margin-bottom:18px;
}

.card h3,
.price-card h3{
  margin:0 0 10px;
}

.card p,
.price-card p,
.price-card li{
  color:var(--muted);
  line-height:1.7;
}

.split,
.assistive{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
}

.steps{
  display:grid;
  gap:16px;
}

.step{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:18px;
  padding:24px;
}

.step > span{
  width:70px;
  height:70px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:white;
  font-weight:900;
}

.step h3{
  margin:0 0 8px;
}

.step p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.assistive-card{
  padding:36px;
}

.assistive-card ul,
.price-card ul{
  padding-left:20px;
  color:var(--muted);
  line-height:1.9;
}

.assistive-image img{
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:30px;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
}

.featured{
  border:2px solid rgba(37,99,235,.28);
  transform:translateY(-12px);
}

.badge{
  display:inline-flex;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:.82rem;
  font-weight:900;
}

.center{
  text-align:center;
  margin-top:34px;
}

.final-cta{
  text-align:center;
  padding:48px;
  max-width:940px;
}

.faq-section{
  padding-top:40px;
}

.faq-list{
  max-width:900px;
  margin:0 auto;
  display:grid;
  gap:14px;
}

.faq-item{
  overflow:hidden;
}

.faq-item button{
  width:100%;
  border:0;
  background:white;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.faq-item button span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f2ff;
  color:#1d4ed8;
  transition:.25s;
}

.faq-item.active button span{
  transform:rotate(45deg);
}

.faq-item div{
  display:grid;
  grid-template-rows:0fr;
  transition:.28s;
}

.faq-item div p{
  overflow:hidden;
  margin:0;
  padding:0 24px;
  color:var(--muted);
  line-height:1.7;
}

.faq-item.active div{
  grid-template-rows:1fr;
}

.faq-item.active div p{
  padding-bottom:24px;
}

footer{
  padding:36px 0;
  background:white;
  border-top:1px solid var(--border);
}

.footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
}

.footer strong{
  color:var(--text);
}

.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:.8s ease;
}

.reveal.show{
  opacity:1;
  transform:translateY(0);
}

.delay{transition-delay:.08s}
.delay2{transition-delay:.16s}

@media(max-width:1020px){
  .hero-grid,
  .split,
  .assistive{
    grid-template-columns:1fr;
  }

  .cards,
  .pricing{
    grid-template-columns:1fr;
  }

  .feature-box{
    grid-template-columns:repeat(2,1fr);
  }

  .feature:nth-child(2){
    border-right:0;
  }

  nav{
    flex-wrap:wrap;
    gap:14px;
  }

  .nav{
    height:auto;
    padding:16px 0;
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:620px){
  .container{
    width:min(var(--container),calc(100% - 22px));
  }

  .actions{
    flex-direction:column;
  }

  .btn{
    width:100%;
  }

  .device-slider{
    height:330px;
  }

  .floating-card{
    position:relative;
    right:auto;
    bottom:auto;
    margin:14px 0 0;
    min-width:auto;
  }

  .slider-dots{
    bottom:-26px;
  }

  .feature-box{
    grid-template-columns:1fr;
  }

  .feature{
    border-right:0;
    border-bottom:1px solid var(--border);
  }

  .feature:last-child{
    border-bottom:0;
  }

  .footer{
    flex-direction:column;
  }
}