.partner-banner{
  padding:28px 0 0;
  text-align:center;
}

.partner-banner img{
  max-width:520px;
  width:100%;
  margin:0 auto;
}

.invite-line{
  text-align:center;
  max-width:880px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:1.02rem;
}

.invite-line strong{
  color:var(--primary-dark);
}

.objective-flex{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:30px;
  align-items:center;
}

.objective-flex img{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.units-list{
  display:grid;
  gap:12px;
  counter-reset:unit-counter;
}

.units-list li{
  list-style:none;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}

.units-list li::before{
  counter-increment:unit-counter;
  content:counter(unit-counter);
  flex-shrink:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Manrope", sans-serif;
}

.table-scroll{
  overflow-x:auto;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
}

.uas-table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
  font-size:.92rem;
}

.uas-table th,
.uas-table td{
  padding:12px 16px;
  text-align:left;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}

.uas-table thead th{
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
}

.uas-table tbody tr:last-child td{
  border-bottom:0;
}

.uas-table tbody tr:nth-child(even){
  background:#fafcfe;
}

.uas-table td:first-child{
  color:var(--primary-dark);
  font-weight:700;
  white-space:nowrap;
}

.uas-table td{
  color:var(--muted);
}

.pricing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.price-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:10px 0;
  border-bottom:1px solid #e5ecf4;
  gap:12px;
}

.price-row:last-child{border-bottom:0}
.price-row span{color:var(--muted)}
.price-row strong{color:var(--primary-dark);font-size:1.05rem;white-space:nowrap}

.price-badge{
  display:inline-block;
  margin-top:2px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#8a6320;
  background:var(--accent-soft);
  padding:3px 8px;
  border-radius:999px;
}

.form-panel{
  max-width:640px;
  margin:0 auto;
}

.form-grid{
  display:grid;
  gap:16px;
  margin-top:18px;
}

.form-field label{
  display:block;
  font-weight:700;
  font-size:.88rem;
  color:var(--primary-dark);
  margin-bottom:6px;
}

.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"]{
  width:100%;
  padding:13px 14px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:#fff;
  font-family:"Manrope", sans-serif;
  font-size:.95rem;
  color:var(--text);
}

.form-field input:focus{
  outline:2px solid var(--primary);
  outline-offset:1px;
}

.form-field.has-error input{
  border-color:#c0392b;
}

.field-error{
  color:#c0392b;
  font-size:.82rem;
  margin-top:6px;
}

.consent-field{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px;
  background:var(--primary-soft);
  border:1px solid #caddf0;
  border-radius:var(--radius-sm);
}

.consent-field input{
  margin-top:4px;
  flex-shrink:0;
}

.consent-field label{
  font-size:.88rem;
  color:var(--text);
  line-height:1.5;
}

.honeypot-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.alert{
  padding:16px 18px;
  border-radius:var(--radius-sm);
  margin-bottom:18px;
  font-size:.95rem;
}

.alert-success{
  background:#e7f5ec;
  border:1px solid #bfe3cb;
  color:#1f6b3f;
}

.alert-error{
  background:#fbeaea;
  border:1px solid #f0c4c4;
  color:#96281f;
}

.alert ul{
  margin:8px 0 0 18px;
}

@media (max-width: 980px){
  .objective-flex,
  .pricing-grid{
    grid-template-columns:1fr;
  }

  .objective-flex img{
    max-width:320px;
    margin:0 auto;
  }
}
