:root{
  --kz-green:#8cc342;
  --kz-green-deep:#17391f;
  --kz-green-dark:#0c2112;
  --kz-paper:#fbfaf6;
  --kz-line:#d9d7cf;
  --kz-charcoal:#1c221d;
  --kz-muted:#6f786f;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  margin:0;
  color:var(--kz-charcoal);
  font-family:Arial,Helvetica,sans-serif;
  background:linear-gradient(180deg,#eef2e8 0%,#f7f5ef 38%,#ecefe6 100%);
}
.site-shell{
  width:min(1080px,calc(100% - 24px));
  margin:12px auto;
  overflow:hidden;
  background:var(--kz-paper);
  box-shadow:0 28px 80px rgba(30,52,34,.13);
}
.hero-section{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(140,195,66,.25),transparent 23%),
    linear-gradient(135deg,#102917 0%,var(--kz-green-deep) 55%,var(--kz-green-dark) 100%);
}
.hero-section::after{
  content:"";
  position:absolute;
  right:-170px;
  bottom:-230px;
  width:420px;
  height:420px;
  border:1px solid rgba(140,195,66,.35);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(140,195,66,.05),0 0 0 96px rgba(140,195,66,.035);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  padding:34px clamp(22px,5vw,68px) 62px;
}
.brand-logo{
  display:block;
  width:min(360px,78vw);
  max-height:112px;
  margin:0 0 36px;
  object-fit:contain;
  object-position:left center;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:#dcefc3;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:var(--kz-green);
}
h1{
  max-width:780px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.6rem,7vw,5.2rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.045em;
}
h1 span{color:#c9ef96}
.form-panel{
  width:100%;
  max-width:860px;
  margin:0 auto;
  padding:52px clamp(22px,5vw,62px);
  background:var(--kz-paper);
}
.form-heading{margin-bottom:24px}
.form-heading h2,.success-panel h3{
  margin:0;
  color:#202a22;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3vw,2.5rem);
  font-weight:500;
  letter-spacing:-.025em;
}
.form-heading p{
  margin:8px 0 0;
  color:var(--kz-muted);
  line-height:1.5;
}
.form-alert{margin:0 0 20px}
.landing-field{
  min-height:56px;
  padding:15px 16px;
  color:#202620;
  font-size:.98rem;
  background:#fff;
  border:1px solid var(--kz-line);
  border-radius:2px;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.landing-field:focus{
  color:#202620;
  background:#fff;
  border-color:var(--kz-green);
  box-shadow:0 0 0 3px rgba(140,195,66,.12);
}
.landing-field::placeholder{color:#6f786f;opacity:1}
.services-section{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--kz-line);
}
.services-section h3{
  margin:0 0 12px;
  color:var(--kz-green-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:500;
}
.option-tile{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:49px;
  padding:12px 13px;
  color:#303730;
  font-size:.93rem;
  background:#fff;
  border:1px solid var(--kz-line);
  cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.option-tile:hover{border-color:#a8c88d;background:#fbfdf9}
.option-tile:has(input:checked){border-color:#7fb535;background:#f4faed}
.option-tile:has(input:focus-visible){box-shadow:0 0 0 3px rgba(140,195,66,.16)}
.option-tile .form-check-input,.consent-wrap .form-check-input{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
  border-color:#9da59d;
}
.option-tile .form-check-input:checked,.consent-wrap .form-check-input:checked{
  background-color:var(--kz-green-deep);
  border-color:var(--kz-green-deep);
}
.option-tile .form-check-input:focus,.consent-wrap .form-check-input:focus{
  border-color:var(--kz-green);
  box-shadow:0 0 0 .25rem rgba(140,195,66,.18);
}
.consent-wrap{
  margin-top:14px;
  color:#5d665e;
  font-size:.86rem;
  line-height:1.45;
}
.consent-wrap .invalid-feedback{margin-left:-26px;padding-top:8px}
.submit-button{
  display:block;
  width:100%;
  min-height:58px;
  margin-top:18px;
  padding:16px 22px;
  color:#fff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.035em;
  background:linear-gradient(180deg,#98d44d 0%,#7fb535 100%);
  border:0;
  border-radius:2px;
  box-shadow:0 10px 24px rgba(92,132,48,.2);
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease;
}
.submit-button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.submit-button:focus-visible{outline:3px solid var(--kz-green-deep);outline-offset:3px}
.submit-button:disabled{cursor:wait;filter:saturate(.7);transform:none}
.trust-copy{
  margin:12px 0 0;
  color:#7b837c;
  text-align:center;
  font-size:.8rem;
  line-height:1.45;
}
.success-panel{
  padding:32px;
  text-align:center;
  background:#f3f7f0;
  border:1px solid #cbd9c3;
}
.success-panel h3{margin-bottom:8px;color:var(--kz-green-deep)}
.success-panel p{margin:0}
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
@media(max-width:620px){
  .site-shell{width:calc(100% - 10px);margin:5px auto}
  .hero-inner{padding:26px 18px 40px}
  .brand-logo{width:min(320px,86vw);max-height:92px;margin-bottom:25px}
  h1{font-size:clamp(2.5rem,14vw,4rem)}
  .form-panel{padding:34px 18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto !important;transition:none !important}
}
