.cvdoc { --cvd-green: var(--green, #0F5A46); --cvd-mid: var(--mid, #1C6E58); --cvd-tint: var(--tint, #EAF6F0); --cvd-border: var(--border, #DCEDE5); --cvd-text2: var(--text-2, #4A5B55); }
.cvdoc .lead { margin-bottom: 8px; }
.cvdoc-step { margin-top: 48px; scroll-margin-top: 100px; }
.cvdoc-step__head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.cvdoc-step__head h2 { margin: 0 0 4px; }
.cvdoc-step__head p { margin: 0; color: var(--cvd-text2); }
.cvdoc-step__n { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--cvd-green); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; margin-top: 2px; }
.cvdoc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cvdoc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cvd-border); border-radius: var(--radius-card, 16px); padding: 20px 22px; }
.cvdoc-card--tint { background: var(--cvd-tint); border-color: transparent; }
.cvdoc-card h3 { margin: 10px 0 6px; font-size: 1.02rem; line-height: 1.35; }
.cvdoc-card p { margin: 0 0 16px; font-size: .9rem; color: var(--cvd-text2); }
.cvdoc-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cvdoc-meta { font-size: .8rem; color: var(--cvd-text2); }
.cvdoc-tag { align-self: flex-start; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--cvd-mid); background: var(--cvd-tint); border-radius: 999px; padding: 3px 10px; }
.cvdoc-card--tint .cvdoc-tag { background: #fff; }
.cvdoc-tag--mail { background: var(--cvd-green); color: #fff; }
.cvdoc-note { margin-top: 14px; font-size: .85rem; color: var(--cvd-text2); }
.cvdoc-form { margin-top: 56px; scroll-margin-top: 100px; }
.cvdoc-form h2 { margin-top: 0; }
.cvdoc-form .form { margin-top: 18px; }
.cvdoc-docs { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.cvdoc-docs legend { padding: 0; margin-bottom: 4px; }
.cvdoc-form .check { min-height: 0; }
.cvdoc-form .check.full, .cvdoc-docs .check { align-items: flex-start; }
.cvdoc-form input[type=text], .cvdoc-form input[type=email], .cvdoc-form input[type=tel], .cvdoc-form select { width: 100%; box-sizing: border-box; }
.cvdoc-legal { font-size: .78rem; color: var(--cvd-text2); margin: 0; }
.cvdoc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cvdoc-msg { padding: 12px 16px; border-radius: var(--radius, 8px); font-size: .9rem; background: var(--cvd-tint); color: var(--cvd-green); }
.cvdoc-msg.is-error { background: var(--warn-bg, #FFF4E5); color: var(--warn-text, #6B3E00); border: 1px solid var(--warn-border, #F2C98A); }
.cvdoc .btn.is-picked { background: var(--cvd-mid); border-color: var(--cvd-mid); }
@media (max-width: 720px) {
	.cvdoc-grid, .cvdoc-docs { grid-template-columns: 1fr; }
	.cvdoc-form .form { grid-template-columns: 1fr; }
	.cvdoc-step__head { gap: 12px; }
	.cvdoc-step__n { flex-basis: 34px; height: 34px; }
}
.cvdoc-form .f label.check, .cvdoc-form label.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .9rem; margin: 0; padding: 6px 0; }
.cvdoc-form .check input { margin-top: 3px; }
