.i4-waitlist {
  --i4-green: #1C3A28;
  --i4-gold: #C6A514;
  --i4-text: #1D2520;
  --i4-muted: #657068;
  --i4-line: #D9DDD9;
  --i4-bg: #F8F8F5;
  margin: 32px auto;
  color: var(--i4-text);
  font-family: Inter, Arial, sans-serif;
}

.i4-waitlist * { box-sizing: border-box; }

.i4-waitlist__inner {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid rgba(28, 58, 40, .14);
  background: #fff;
}

.i4-waitlist__eyebrow {
  margin: 0 0 10px;
  color: var(--i4-gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.i4-waitlist h2 {
  margin: 0 0 18px;
  color: var(--i4-green);
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(30px, 4.4vw, 48px);
  line-height: 1.12;
  font-weight: 400;
}

.i4-waitlist__lead {
  max-width: 780px;
  margin: 0 0 30px;
  font-size: 17px;
  line-height: 1.65;
}

.i4-waitlist__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.i4-field { display: block; }
.i4-field--full { grid-column: 1 / -1; }

.i4-field > span,
.i4-waitlist__fieldset legend {
  display: block;
  margin-bottom: 7px;
  color: var(--i4-green);
  font-weight: 700;
  font-size: 15px;
}

.i4-field input {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #AEB8B1;
  border-radius: 0;
  background: #fff;
  color: #111;
  font: inherit;
}

.i4-field input:focus,
.i4-choice input:focus-visible,
.i4-waitlist__submit:focus-visible {
  outline: 3px solid rgba(198, 165, 20, .35);
  outline-offset: 2px;
  border-color: var(--i4-gold);
}

.i4-waitlist__fieldset {
  margin: 26px 0 18px;
  padding: 20px;
  border: 1px solid var(--i4-line);
  background: var(--i4-bg);
}

.i4-waitlist__fieldset legend { padding: 0 6px; }

.i4-choice {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 10px 0;
  font-size: 15px;
  line-height: 1.5;
}

.i4-choice input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  accent-color: var(--i4-green);
}

.i4-choice a {
  color: var(--i4-green);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.i4-waitlist__consents {
  padding: 2px 0 6px;
}

.i4-waitlist__note {
  margin: 18px 0 22px;
  color: var(--i4-muted);
  font-size: 13px;
  line-height: 1.55;
}

.i4-waitlist__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.i4-waitlist__submit {
  min-height: 50px;
  padding: 13px 26px;
  border: 1px solid var(--i4-gold);
  border-radius: 0;
  background: var(--i4-green);
  color: #fff;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
}

.i4-waitlist__submit:hover { filter: brightness(1.08); }
.i4-waitlist__submit:disabled { opacity: .66; cursor: wait; }

.i4-waitlist__spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid #D8DDD9;
  border-top-color: var(--i4-green);
  border-radius: 50%;
  animation: i4-spin .75s linear infinite;
}

.i4-waitlist__spinner.is-visible { display: inline-block; }

.i4-waitlist__message {
  min-height: 22px;
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.5;
}

.i4-waitlist__message.is-success {
  padding: 14px 16px;
  border-left: 4px solid var(--i4-gold);
  background: #F4F6F2;
  color: var(--i4-green);
  font-weight: 700;
}

.i4-waitlist__message.is-error {
  padding: 14px 16px;
  border-left: 4px solid #A43232;
  background: #FFF5F5;
  color: #7A2222;
}

.i4-waitlist__hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@keyframes i4-spin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
  .i4-waitlist { margin: 20px auto; }
  .i4-waitlist__inner { padding: 26px 18px; }
  .i4-waitlist__grid { grid-template-columns: 1fr; gap: 15px; }
  .i4-field--full { grid-column: auto; }
  .i4-waitlist__lead { font-size: 16px; }
  .i4-waitlist__fieldset { padding: 16px; }
  .i4-waitlist__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .i4-waitlist__spinner { animation-duration: 1.6s; }
  html:focus-within { scroll-behavior: auto; }
}
