.sg-form {
	--sg-ink: #26272B;
	--sg-muted: #5D5F65;
	--sg-line: #CFCEC4;
	--sg-bg: #F3F2EC;
	--sg-field: #FFFFFF;
	--sg-green: #6AAB3E;
	--sg-green-deep: #3E7A22;
	--sg-err: #A0560E;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
	background: var(--sg-bg);
	border-top: 4px solid var(--sg-green);
	padding: 32px;
	color: var(--sg-ink);
	box-sizing: border-box;
}
.sg-form *, .sg-form *::before, .sg-form *::after { box-sizing: border-box; }
.sg-field { display: grid; gap: 6px; min-width: 0; margin: 0; }
.sg-full { grid-column: 1 / -1; }
fieldset.sg-field { border: 0; padding: 0; }
.sg-field label, .sg-field legend { font-size: 0.88rem; font-weight: 600; padding: 0; }
.sg-field label span, .sg-field legend span { font-weight: 400; color: var(--sg-muted); }
.sg-field input, .sg-field select, .sg-field textarea {
	font: inherit; font-size: 1rem; line-height: 1.4; color: var(--sg-ink);
	background: var(--sg-field); border: 1px solid var(--sg-line); border-radius: 4px;
	padding: 12px; width: 100%; margin: 0;
}
.sg-field textarea { min-height: 96px; resize: vertical; }
.sg-field input:focus, .sg-field select:focus, .sg-field textarea:focus {
	outline: 2px solid var(--sg-green); outline-offset: 0; border-color: var(--sg-green);
}
.sg-mono { font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace !important; font-size: 0.95rem !important; }
.sg-choice { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.sg-choice label {
	display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--sg-line);
	background: var(--sg-field); border-radius: 4px; padding: 10px 14px; font-weight: 500; cursor: pointer;
}
.sg-choice input { width: auto; margin: 0; accent-color: var(--sg-green-deep); }
.sg-choice label:has(input:checked) { border-color: var(--sg-green-deep); box-shadow: inset 0 0 0 1px var(--sg-green-deep); }
.sg-consent { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 0.85rem; color: var(--sg-muted); }
.sg-consent input { margin-top: 4px; flex: none; accent-color: var(--sg-green-deep); }
.sg-price { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.sg-price select { width: auto; }
.sg-hint { font-size: 0.85rem; color: var(--sg-muted); margin: 0; }
.sg-hint strong { color: var(--sg-ink); font-weight: 600; }
.sg-check { display: inline-flex; gap: 8px; align-items: center; font-size: 0.9rem; font-weight: 400 !important; cursor: pointer; }
.sg-check input { width: auto; margin: 0; accent-color: var(--sg-green-deep); }
.sg-intro { grid-column: 1 / -1; color: var(--sg-muted); font-size: 0.95rem; margin: 0; }
.sg-intro b { color: var(--sg-ink); }
.sg-rodo { grid-column: 1 / -1; font-size: 0.8rem; color: var(--sg-muted); margin: 0; }
.sg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sg-err { grid-column: 1 / -1; color: var(--sg-err); font-size: 0.9rem; margin: 0; }
.sg-err[hidden] { display: none; }
.sg-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.sg-foot small { color: var(--sg-muted); }
.sg-btn {
	font: inherit; font-weight: 600; font-size: 1rem; line-height: 1;
	padding: 14px 22px; border-radius: 4px; border: 0; cursor: pointer;
	background: var(--sg-green-deep); color: #FFFFFF;
}
.sg-btn:hover { background: var(--sg-ink); }
.sg-btn:disabled { opacity: 0.6; cursor: wait; }
.sg-btn:focus-visible { outline: 3px solid var(--sg-green); outline-offset: 2px; }
.sg-thanks { display: grid; gap: 10px; grid-template-columns: 1fr; }
.sg-thanks h3 { margin: 0; font-size: 1.8rem; }
.sg-thanks p { margin: 0; }
.sg-eyebrow { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--sg-muted); }
@media (max-width: 560px) {
	.sg-form { grid-template-columns: 1fr; padding: 22px 18px; }
}
