.terms-page .hero{
  min-height:38vh;
  padding:1.1rem 1rem 2.3rem;
}

.terms-page .hero-content{
  max-width:980px;
}

.terms-page .hero-left{
  max-width:760px;
}

.terms-page .hero-left h1{
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  line-height:1.08;
  margin-bottom:.5rem;
  color:#fff;
}

.terms-page .hero-left p{
  color:rgba(255,255,255,.93);
  margin-bottom:.95rem;
}

.terms-shell{
  max-width:1100px;
  margin:-2.4rem auto 2.2rem;
  padding:0 1rem;
  position:relative;
  z-index:5;
}

.terms-card{
  background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);
  border:1px solid #d9e9fb;
  border-radius:18px;
  box-shadow:0 20px 45px rgba(7,33,73,.12);
  padding:1.35rem 1.3rem 1.55rem;
}

.terms-header{
  text-align:center;
  margin-bottom:1.05rem;
}

.terms-header img{
  max-width:120px;
  margin-bottom:.6rem;
  border-radius:8px;
}

.terms-header h2{
  font-size:1.5rem;
  color:#12325e;
  margin:0 0 .28rem 0;
}

.terms-header p{
  font-size:.9rem;
  color:#557093;
}

.terms-text{
  font-size:1rem;
  line-height:1.65;
  color:#22303f;
}

.terms-text h3{
  color:#12325e;
  margin:1rem 0 .45rem;
  font-size:1.08rem;
}

.terms-text p{
  margin-bottom:.7rem;
}

.terms-text ul{
  margin:0 0 .85rem 1.1rem;
}

.terms-text li{
  margin-bottom:.35rem;
}

.terms-text a{
  color:#0f62b8;
  text-decoration:none;
}

.terms-text a:hover{
  text-decoration:underline;
}

@media (max-width:900px){
  .terms-page .hero{
    min-height:32vh;
    padding:1rem 1rem 2rem;
  }

  .terms-shell{
    margin:-1.4rem auto 1.8rem;
  }
}

@media (max-width:600px){
  .terms-card{
    padding:1rem .9rem 1.15rem;
    border-radius:14px;
  }

  .terms-header h2{
    font-size:1.3rem;
  }

  .terms-text{
    font-size:.95rem;
  }
}
