/* Static homepage hero. Intentionally animation-free. */
.kz-home-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 8vw, 7.5rem) 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(15, 151, 83, .18), transparent 34%),
    linear-gradient(135deg, #06132f 0%, #0a234c 58%, #0b3151 100%);
  color: #fff;
}
.kz-home-hero::after {
  content: "";
  position: absolute;
  inset: auto -12% -48% 42%;
  height: 520px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  pointer-events: none;
}
.kz-home-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(380px, .78fr);
  gap: clamp(3rem, 7vw, 7.5rem);
  align-items: center;
}
.kz-home-hero__copy { min-width: 0; }
.kz-home-hero__kicker,
.kz-registration__kicker {
  margin: 0 0 1.1rem;
  color: #63e3ad;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kz-home-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 6vw, 5.65rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.kz-home-hero__lead {
  max-width: 690px;
  margin: 1.65rem 0 0;
  color: #c6d2e7;
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  line-height: 1.75;
}
.kz-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 2rem;
}
.kz-home-hero__actions .btn { min-height: 52px; }
.kz-home-hero__note {
  margin: 1rem 0 0;
  color: #92a6c8;
  font-size: .82rem;
}
.kz-home-hero__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  max-width: 720px;
  margin-top: 2.25rem;
}
.kz-home-hero__proof > * {
  min-width: 0;
  padding: .85rem .9rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 12px;
  background: rgba(255, 255, 255, .055);
  color: #fff;
  text-decoration: none;
}
.kz-home-hero__proof b,
.kz-home-hero__proof span { display: block; }
.kz-home-hero__proof b { font-size: .95rem; }
.kz-home-hero__proof span { margin-top: .15rem; color: #aebddb; font-size: .72rem; line-height: 1.35; }
.kz-home-hero__brief {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 24px;
  background: #fffdf8;
  color: #071539;
  box-shadow: 0 34px 70px rgba(0, 0, 0, .3);
}
.kz-home-hero__brief::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(7, 21, 57, .08);
  border-radius: 17px;
  pointer-events: none;
}
.kz-home-hero__brief > * { position: relative; z-index: 1; }
.kz-home-hero__brief-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dfe4eb;
  color: #60708b;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.kz-home-hero__brief-head b { color: #08783f; }
.kz-home-hero__brief h2 {
  max-width: 440px;
  margin: 1.35rem 0 1rem;
  color: #071539;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.12;
}
.kz-home-hero__steps {
  margin: 0;
  padding: 0;
  list-style: none;
}
.kz-home-hero__steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .9rem;
  align-items: center;
  padding: .82rem 0;
  border-top: 1px solid #e6e9ee;
}
.kz-home-hero__steps li > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #e5f5ec;
  color: #08783f;
  font-size: .7rem;
  font-weight: 800;
}
.kz-home-hero__steps b,
.kz-home-hero__steps small { display: block; }
.kz-home-hero__steps b { color: #10203c; font-size: .92rem; }
.kz-home-hero__steps small { margin-top: .13rem; color: #63718a; font-size: .75rem; line-height: 1.4; }
.kz-home-hero__routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  margin-top: 1rem;
}
.kz-home-hero__routes span {
  padding: .7rem .35rem;
  border: 1px solid #cfe5d8;
  border-radius: 9px;
  background: #f2faf5;
  color: #08783f;
  font-size: .72rem;
  font-weight: 800;
  text-align: center;
}
.kz-home-hero__review {
  margin: 1rem 0 0;
  color: #53627b;
  font-size: .74rem;
  line-height: 1.45;
}
.kz-home-hero__review span { color: #08783f; font-weight: 800; }

.kz-quote { position: relative; z-index: 2; padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(145deg, #071539, #0c2b59); color: #cdd8ed; }
.kz-quote__grid { display: grid; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.kz-quote__intro { position: sticky; top: 110px; }
.kz-quote__intro .kz-registration__kicker { color: #75efbd; }
.kz-quote__intro h2 { max-width: 620px; color: #fff; }
.kz-quote__intro > p { max-width: 560px; color: #cfdaee; font-size: 1.08rem; }
.kz-quote__sheet { max-width: 430px; margin-top: 42px; padding: 24px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .055); transform: rotate(-2deg); box-shadow: 0 22px 50px rgba(0, 0, 0, .16); }
.kz-quote__sheet small,
.kz-quote__sheet span { display: block; }
.kz-quote__sheet small { margin-bottom: 18px; color: #63e3ad; font-weight: 800; letter-spacing: .1em; }
.kz-quote__sheet span { padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .74); font-size: 12px; }
.kz-quote .hero-card { width: 100%; max-width: 590px; justify-self: end; background: rgba(255, 255, 255, .07); }
.kz-form-progress { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; margin-top: 1.35rem; }
.kz-form-progress span { padding: .55rem .65rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: 9px; color: #9caecc; font-size: .76rem; font-weight: 700; text-align: center; }
.kz-form-progress span.is-active { border-color: rgba(117, 239, 189, .7); background: rgba(18, 161, 80, .16); color: #d9ffec; }
.kz-form-progress span.is-complete { color: #75efbd; }
.kz-form-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.kz-form-step[hidden] { display: none; }
.kz-form-next { width: 100%; justify-content: center; margin-top: 1.15rem; }
.kz-form-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; margin-top: 1.15rem; }
.kz-form-actions .btn { justify-content: center; min-width: 0; white-space: normal; }
.kz-form-actions .btn-ghost { border-color: rgba(255, 255, 255, .24); color: #fff; }
.kz-form-actions .btn-ghost:hover { border-color: #75efbd; color: #75efbd; }
.homepage .wa-float,
.homepage #kspRoot { display: none !important; }
.award-feature > * { min-width: 0; }
.award-feature .btn,
.tablewrap + .center .btn { max-width: 100%; white-space: normal; text-align: center; justify-content: center; }
.section--tight .muted,
.section--tight .logo { color: #46536c; }
.site-footer .credit-by,
.site-footer .credit-tag { color: #a9b8d8; }

@media (min-width: 900px) {
  .kz-quote__grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .86fr); }
}
@media (min-width: 981px) and (max-height: 900px) {
  .kz-home-hero { padding: 4.1rem 0 4.4rem; }
  .kz-home-hero h1 { font-size: clamp(3rem, 5vw, 4.7rem); }
  .kz-home-hero__lead { margin-top: 1.2rem; line-height: 1.62; }
  .kz-home-hero__actions { margin-top: 1.45rem; }
  .kz-home-hero__proof { margin-top: 1.45rem; }
  .kz-home-hero__brief { padding: 1.45rem; }
  .kz-home-hero__brief h2 { margin: 1rem 0 .65rem; }
  .kz-home-hero__steps li { padding: .58rem 0; }
  .kz-home-hero__routes { margin-top: .7rem; }
}
@media (max-width: 980px) {
  .kz-home-hero { padding-top: 4.5rem; }
  .kz-home-hero__grid { grid-template-columns: 1fr; gap: 2.75rem; }
  .kz-home-hero__copy { max-width: 760px; }
  .kz-home-hero__brief { max-width: 660px; }
  .kz-quote__intro { position: static; }
}
@media (max-width: 600px) {
  .kz-home-hero { padding: 3.5rem 0 4.25rem; }
  .kz-home-hero h1 { font-size: clamp(2.65rem, 12.5vw, 4rem); }
  .kz-home-hero__lead { font-size: .98rem; line-height: 1.65; }
  .kz-home-hero__actions { display: grid; }
  .kz-home-hero__actions .btn { width: 100%; justify-content: center; text-align: center; }
  .kz-home-hero__proof { grid-template-columns: 1fr; margin-top: 1.6rem; }
  .kz-home-hero__proof > * { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: .5rem; }
  .kz-home-hero__proof span { margin: 0; }
  .kz-home-hero__brief { padding: 1.35rem; border-radius: 18px; }
  .kz-home-hero__brief h2 { font-size: 1.65rem; }
  .kz-home-hero__routes { grid-template-columns: 1fr; }
  .kz-quote { padding: 58px 0 76px; }
  .kz-quote__sheet { display: none; }
  .kz-quote .hero-card { padding: 1.25rem; }
  .kz-form-actions { grid-template-columns: 1fr; }
}
