body.gradient-bg {
  background: linear-gradient(135deg,#348AC7,#7474BF,#96E6A1);
  min-height:100vh;
  font-family:'Segoe UI',Arial,sans-serif;
  margin:0;
  color:#222;
  padding:0;
}
nav {
  background:rgba(255,255,255,0.97);
  padding:1em 0;
  text-align:center;
  border-bottom:1px solid #eee;
}
nav img {margin-right:1em;}
nav a {
  margin:0 1.2em;
  color:#348AC7;
  font-weight:600;
  text-decoration:none;
  font-size:1.1em;
  vertical-align:middle;
}
header,main,footer {
  width:95%;
  max-width:900px;
  margin:auto;
}
.banner {
  margin:2em 0 2em 0;
  text-align:center;
}
.hero-img {
  max-width:100%;
  height:180px;
  border-radius:18px;
  box-shadow:0 0 15px #8fd3f4aa;
}
.cta {
  display:inline-block;
  padding:15px 35px;
  background:#348AC7;
  color:#fff;
  border-radius:25px;
  margin:30px 0;
  text-decoration:none;
  font-size:1.2em;
  font-weight:600;
}

.testimonials {margin:2em 0; display:flex;flex-wrap:wrap;justify-content:space-between;}
.testimonial {
  background:#fff9;
  flex:1 0 45%;
  margin:1em;
  padding:1em;
  border-radius:12px;
  min-width:180px;
  box-shadow:0 0 5px #dde;
}
.avatar {
  width:48px;height:48px;border-radius:50%;vertical-align:middle;margin-right:8px;display:inline-block;
}
footer {
  margin-top:3em;
  background:rgba(255,255,255,0.97);
  padding:1.5em 0;text-align:center;
  border-top:1px solid #eee;
}
footer a {margin:0 1.5em;color:#7474BF;text-decoration:underline;}
footer span{font-size:0.95em;color:#bbb;}
.contact-form, .auth-form {
  background:#fff;
  padding:2em;
  margin:2em auto 0 auto;
  max-width:400px;
  border-radius:15px;
  box-shadow:0 0 8px #eef6fa;
}
.pricing-table {display:flex;flex-wrap:wrap;gap:2em;justify-content:space-around;margin:2em 0;}
.plan {
  background:#fff;
  padding:2em;
  border-radius:14px;
  min-width:180px;
  box-shadow:0 0 12px #dde;
  text-align:center;
}
.plan h2 {margin:0;}
.plan button {
  background:#348AC7;
  color:#fff;
  border:none;
  border-radius:8px;
  padding:10px 25px;
  cursor:pointer;
  font-weight:600;
}
label, input, textarea {display:block;margin-bottom:1em;width:100%;}
input,textarea {
  padding:8px;
  border:1px solid #bbb;
  border-radius:6px;
}
input[type=submit], button[type=submit]{
  background:#348AC7;
  color:#fff;
  border:none;
  border-radius:7px;
  padding:10px 20px;
  cursor:pointer;
}
.resume-template.classic, .resume-template.modern {
  background:#fff;
  border-radius:12px;
  padding:2em;
  margin:2em auto;
  box-shadow:0 0 8px #dde;
  max-width:700px;
}
.resume-template h2 { color:#348AC7;margin:0 0 10px 0;}
.resume-template img {border:2px solid #8fd3f4;}

@media (max-width:750px) {
  .testimonials {flex-direction:column;}
  .testimonial {min-width:140px;}
  .pricing-table {flex-direction:column;}
  .plan {min-width:90vw;}
}
