.lstc-box{
  width:100%;
  position:relative;
  overflow:hidden;
  margin:24px 0;
  padding:38px 18px;
  border-radius:24px;
  box-sizing:border-box;
  text-align:center;
  font-family:Arial, Helvetica, sans-serif;
  color:#fff;
  background:radial-gradient(circle at 12% 18%, rgba(255,255,255,.16) 0 0, transparent 85px), radial-gradient(circle at 88% 78%, rgba(255,255,255,.12) 0 0, transparent 90px), linear-gradient(135deg,#0647a8 0%,#003b75 52%,#001b38 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 42px rgba(0,59,117,.24);
}

.lstc-box:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:7px;
  background:linear-gradient(90deg,#ed1c24,#fff,#0647a8);
  z-index:2;
}

.lstc-box:after{
  content:"";
  position:absolute;
  inset:-90px;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.14) 48%,transparent 62%);
  animation:lstcShine 6s ease-in-out infinite;
  pointer-events:none;
}

.lstc-box-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
}

.lstc-box-bg:before,
.lstc-box-bg:after{
  content:"";
  position:absolute;
  border:2px solid rgba(255,255,255,.45);
  border-radius:50%;
  animation:lstcFloat 7s ease-in-out infinite;
}

.lstc-box-bg:before{
  width:72px;
  height:72px;
  top:18%;
  left:8%;
}

.lstc-box-bg:after{
  width:48px;
  height:48px;
  right:9%;
  bottom:18%;
  animation-delay:1s;
}

.lstc-box-content{
  position:relative;
  z-index:3;
  max-width:900px;
  margin:0 auto;
}

.lstc-badge{
  display:inline-block;
  margin-bottom:14px;
  padding:8px 18px;
  border-radius:999px;
  background:#fff;
  color:#ed1c24;
  font-size:13px;
  font-weight:900;
  letter-spacing:.5px;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.lstc-box h2{
  margin:0 0 12px;
  font-size:clamp(25px,4vw,36px);
  line-height:1.25;
  font-weight:900;
  color:#fff;
}

.lstc-subtitle{
  margin:0 auto 24px;
  max-width:720px;
  font-size:clamp(15px,2.5vw,18px);
  font-weight:700;
  color:rgba(255,255,255,.92);
}

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

.lstc-form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}

.lstc-form label{
  display:block;
  text-align:left;
}

.lstc-form label span{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:900;
  color:#fff;
}

.lstc-form input,
.lstc-form select{
  width:100%;
  height:50px;
  padding:0 13px;
  border:0;
  outline:0;
  border-radius:14px;
  background:#fff;
  color:#003b75;
  font-size:15px;
  font-weight:800;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
  box-sizing:border-box;
}

.lstc-form button{
  min-height:52px;
  border:0;
  outline:0;
  padding:0 28px;
  border-radius:14px;
  background:#ed1c24;
  color:#fff;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  transition:.25s ease;
}

.lstc-form button:hover{
  transform:translateY(-3px);
  background:#fff;
  color:#ed1c24;
}

.lstc-result{
  max-width:740px;
  margin:24px auto 0;
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.lstc-placeholder{
  width:100%;
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.92);
  font-size:15px;
  font-weight:800;
}

.lstc-message{
  width:100%;
  padding:22px 18px;
  border-radius:22px;
  background:#fff;
  color:#003b75;
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  border-bottom:6px solid #ed1c24;
  animation:lstcResultPop .35s ease;
}

.lstc-message strong{
  display:block;
  margin-bottom:8px;
  font-size:22px;
  font-weight:900;
}

.lstc-message p{
  margin:0 0 8px;
  color:#334155;
  font-weight:700;
}

.lstc-message small{
  color:#64748b;
  font-weight:700;
}

.lstc-message a{
  color:#ed1c24;
  font-weight:900;
  text-decoration:none;
}

.lstc-success{
  border-bottom-color:#16a34a;
}

.lstc-warning{
  border-bottom-color:#f59e0b;
}

.lstc-error{
  border-bottom-color:#ed1c24;
}

.lstc-note{
  max-width:720px;
  margin:20px auto 0;
  padding:12px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:700;
  line-height:1.6;
}

@keyframes lstcShine{
  0%,100%{transform:translateX(-45%) rotate(8deg);opacity:.10;}
  50%{transform:translateX(45%) rotate(8deg);opacity:.18;}
}

@keyframes lstcFloat{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-18px) rotate(140deg);}
}

@keyframes lstcResultPop{
  from{opacity:0;transform:scale(.94) translateY(8px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}

@media(max-width:900px){
  .lstc-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .lstc-box{
    padding:32px 14px;
    border-radius:18px;
  }

  .lstc-form-grid{
    grid-template-columns:1fr;
  }

  .lstc-form button{
    width:100%;
  }
}
