/* Checklist block: intro and a short note on the left, a checked list in one card on the right. */
.checklist-block { position: relative; isolation: isolate; padding: 104px 0; background: var(--fa-color-primary-very-light); }
.checklist-block::before { position: absolute; z-index: -1; right: 0; bottom: 0; width: min(420px, 70%); height: 340px; content: ""; background: var(--fa-motif) no-repeat; background-position: 0 0; background-size: 560px 560px; pointer-events: none; }
.checklist-block__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: start; }
/* The intro stays in view while the longer list scrolls past. */
.checklist-block__intro { position: sticky; top: 48px; }
.checklist-block__eyebrow { margin: 0 0 16px; color: var(--fa-color-primary); font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.checklist-block__title { margin: 0; color: var(--fa-color-text); font-size: 52px; line-height: 1.05; font-weight: 500; letter-spacing: -.035em; }
.checklist-block__title em { color: var(--fa-color-primary); font-style: normal; }
.checklist-block__text { margin-top: 22px; color: rgba(0, 0, 0, .74); font-size: 16px; line-height: 1.7; }
.checklist-block__text > :first-child { margin-top: 0; }
.checklist-block__text > :last-child { margin-bottom: 0; }
.checklist-block__note { margin: 26px 0 0; padding: 18px 22px; color: rgba(0, 0, 0, .7); background: #fff; border: 1px solid rgba(100, 90, 78, .14); border-radius: 14px; font-size: 14.5px; line-height: 1.6; }
.checklist-block__card { padding: 10px 34px; background: #fff; border: 1px solid rgba(100, 90, 78, .14); border-bottom: 3px solid var(--fa-color-primary); border-radius: 22px; box-shadow: 0 18px 40px rgba(60, 52, 44, .07); }
.checklist-block__list { margin: 0; padding: 0; list-style: none; }
.checklist-block__item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px 0; }
.checklist-block__item + .checklist-block__item { border-top: 1px solid rgba(100, 90, 78, .14); }
.checklist-block__check { position: relative; display: block; width: 34px; height: 34px; background: var(--fa-color-primary); border-radius: 50%; }
.checklist-block__check::after { position: absolute; inset: 9px; content: ""; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.checklist-block__item-title { margin: 5px 0 0; color: var(--fa-color-text); font-size: 18px; line-height: 1.3; font-weight: 700; }
.checklist-block__item-text { margin: 6px 0 0; color: rgba(0, 0, 0, .72); font-size: 15px; line-height: 1.65; }
@media (max-width: 900px) {
	.checklist-block { padding: 80px 0; }
	.checklist-block__layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.checklist-block__intro { position: static; }
	.checklist-block__title { font-size: 46px; }
}
@media (max-width: 600px) {
	.checklist-block { padding: 64px 0; }
	.checklist-block__title { font-size: 38px; }
	.checklist-block__card { padding: 4px 22px; }
	.checklist-block::before { height: 220px; background-size: 330px 330px; opacity: .7; }
}
