*{box-sizing:border-box}

:root{
  --g1:#195df4;
  --g2:#dd2678;
  --g3:#8b10fb;
  --bg:#f5f7ff;
  --text:#182033;
}

html,body{
  margin:0;
  padding:0;
}

body{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}

img{
  width:100%;
  display:block;
}

.ct-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:0 16px;
}

.ct-center{
  text-align:center;
}

.ct-gradient{
  background:linear-gradient(to left,var(--g1),var(--g2),var(--g3));
  -webkit-background-clip:text;
  color:transparent;
}

/* TOPBAR */

.ct-topbar{
  background:#fff;
  border-bottom:1px solid #eef;
}

.ct-topbar__inner{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 0;
}

.ct-logo{
  width:160px;
  max-width:70vw;
}

/* HERO */

.ct-hero{
  background:#fff;
  padding:28px 0;
}

.ct-hero__inner{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.ct-lead{
  font-size:18px;
  margin:10px auto 0;
  max-width:820px;
  color:#2b3350;
}

/* OFFER */

.ct-offer{
  margin:18px auto 0;
  max-width:780px;
}

.ct-offer__pill{
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:16px;
  background:#fff5fb;
  box-shadow:0 10px 20px rgba(0,0,0,.06);
  animation:pulse 1.8s infinite;
  font-size:18px;
}

@keyframes pulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.06)}
  100%{transform:scale(1)}
}

/* CARDS */

.ct-cards{
  padding:24px 0;
}

.ct-grid3{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(3,1fr);
}

.ct-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  transition:transform .3s ease, box-shadow .3s ease;
  display:flex;
  flex-direction:column;
}

.ct-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.ct-card__img{
  width:100%;
  height:340px;
  object-fit:cover;
  object-position:center;
}

.ct-card h3{
  margin:18px 16px 8px;
  text-align:center;
}

.ct-card p{
  margin:0 16px 20px;
  text-align:center;
  color:#4a5270;
}

/* STEPS */

.ct-steps{
  padding:20px 0 30px;
}

.ct-section-title{
  margin:0;
  text-align:center;
  font-size:26px;
}

.ct-section-sub{
  margin:8px auto 0;
  text-align:center;
  color:#4a5270;
  max-width:820px;
}

.ct-grid4{
  margin-top:20px;
  display:grid;
  gap:18px;
  grid-template-columns:repeat(4,1fr);
}

.ct-step{
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
}

.ct-step__n{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(to left,var(--g1),var(--g2),var(--g3));
  color:#fff;
  font-weight:700;
}

/* FORM */

.ct-form-section{
  padding:30px 0 40px;
}

.ct-form-card{
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  max-width:900px;
  margin:0 auto;
}

.ct-form{
  max-width:760px;
  margin:16px auto 0;
}

.ct-row{
  display:grid;
  gap:12px;
  grid-template-columns:1fr 1fr;
  margin-bottom:12px;
}

.ct-row--one{
  grid-template-columns:1fr;
}

.ct-row input{
  padding:14px;
  border-radius:12px;
  border:1px solid #ccd3ea;
  font-size:15px;
}

.ct-row input:focus{
  border-color:#8b10fb;
  box-shadow:0 0 0 3px rgba(139,16,251,.12);
}

/* BUTTON */

.ct-btn{
  width:100%;
  padding:15px;
  border:0;
  border-radius:24px;
  background:linear-gradient(to left,var(--g1),var(--g2),var(--g3));
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:opacity .3s ease;
}

.ct-btn:disabled{
  opacity:0.45;
  cursor:not-allowed;
}

/* PRIVACY */

.ct-consent{
  margin-top:14px;
  text-align:center;
}

.ct-checkbox{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  color:#4a5270;
}

.ct-checkbox input{
  width:16px;
  height:16px;
}

.ct-checkbox a{
  color:#8b10fb;
  font-weight:600;
  text-decoration:none;
}

.ct-checkbox a:hover{
  text-decoration:underline;
}

.ct-free{
  margin-top:10px;
  font-size:14px;
  color:#6a7390;
}

/* FOOTER */

.ct-footer{
  padding:20px 0;
  color:#6a7390;
  font-size:13px;
  text-align:center;
}

/* RESPONSIVE */

@media (max-width:980px){
  .ct-grid3,
  .ct-grid4{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .ct-card__img{
    height:260px;
  }
}
