.clw-waitlist {
	--clw-green: #263c23;
	--clw-ink: #333;
	--clw-muted: #4b5148;
	--clw-border: #d9ded5;
	--clw-warm: #faf9f6;
	--clw-error-ink: #682c20;
	box-sizing: border-box;
	max-width: 100%;
	margin: 1rem 0;
	padding: 20px;
	color: var(--clw-ink);
	background: var(--clw-warm);
	border: 1px solid var(--clw-border);
	border-radius: 3px;
	font-size: 16px;
	line-height: 1.5;
}

.clw-waitlist *,
.clw-account-scroll * { box-sizing: border-box; }
.clw-waitlist h3 { margin: 0 0 4px; color: var(--clw-ink); font: inherit; font-size: 22px; line-height: 1.25; font-weight: 700; }
.clw-benefit { max-width: 62ch; margin: 0 0 14px; color: var(--clw-ink); }
.clw-form { margin: 0; }
.clw-fields { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; align-items: end; gap: 12px; }
.clw-field { min-width: 0; }
.clw-field label { display: block; margin: 0 0 5px; color: var(--clw-ink); font-weight: 600; }
.clw-field input[type="email"],
.clw-field select { display: block; box-sizing: border-box; width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1px solid #757c72; border-radius: 3px; background: #fff; color: var(--clw-ink); font: inherit; }
.clw-field input::placeholder { color: #555; opacity: 1; }
.clw-field input[readonly] { background: #f0f1ed; color: var(--clw-ink); }
.clw-submit { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 46px; max-width: 100%; padding: 10px 18px; border: 1px solid var(--clw-green); border-radius: 3px; background: var(--clw-green); color: #fff; font: inherit; font-weight: 700; line-height: 1.25; text-align: center; cursor: pointer; }
.clw-submit:hover { background: #1d2e1b; color: #fff; }
.clw-submit:disabled { border-color: #6c7469; background: #6c7469; color: #fff; cursor: wait; }
.clw-submit:focus-visible,
.clw-field :focus-visible,
.clw-account :focus-visible,
.clw-unsubscribe :focus-visible { outline: 3px solid #8a3d00; outline-offset: 3px; }
.clw-reassurance { margin: 10px 0 0; color: var(--clw-muted); font-size: 14px; }
.clw-feedback { margin: 12px 0 0; color: var(--clw-ink); }
.clw-feedback[hidden] { display: none !important; }
.clw-feedback--visible { padding: 12px 14px; border: 1px solid #b7c9b2; border-radius: 3px; background: #edf4eb; scroll-margin-block: 1rem; }
.clw-feedback--error { border-color: #c18b7c; background: #fff2ef; color: var(--clw-error-ink); }
.clw-waitlist [hidden] { display: none !important; }
.clw-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.clw-account-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.clw-account-scroll table { min-width: 52rem; }
.clw-account-scroll th, .clw-account-scroll td { vertical-align: middle; }
.clw-account-scroll form { margin: 0; }
.clw-account button,
.clw-unsubscribe button { min-height: 44px; padding: .6rem 1rem; }
.clw-unsubscribe { box-sizing: border-box; max-width: 40rem; margin: 10vh auto; padding: 1.25rem; }

@media (max-width: 600px) {
	.clw-waitlist { padding: 16px; }
	.clw-fields { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.clw-submit { width: 100%; }
	.clw-account-scroll { margin-inline: -.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	.clw-waitlist *, .clw-waitlist *::before, .clw-waitlist *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
