.sa-container-2fc0f83c {
    background: white;
    border: 1px solid #DDE8D4;
    border-radius: 12px;
    overflow: hidden;
    font-family: 'DM Sans', sans-serif;
    width: 100%;
}
.sa-item-2fc0f83c { border-bottom: 1px solid #DDE8D4; }
.sa-item-2fc0f83c:last-child { border-bottom: none; }
.sa-header-2fc0f83c {
    width: 100%; text-align: left; background: transparent; border: none; padding: 22px 36px;
    cursor: pointer; transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Updated Layout: Space Between Columns */
.sa-header-top-2fc0f83c {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; /* changed to start to let gap handle spacing */
    width: 100%;
    gap: 30px; /* Base gap that can be overridden via style controls */
}

.sa-col-number-2fc0f83c { width: 30px; flex-shrink: 0; }
.sa-col-title-2fc0f83c { width: 260px; flex-shrink: 0; }
.sa-col-desc-2fc0f83c { flex: 1; }
.sa-col-icon-2fc0f83c { width: 26px; flex-shrink: 0; display: flex; justify-content: flex-end;}

.sa-header-2fc0f83c[aria-expanded="true"], .sa-item-2fc0f83c:has(.sa-header-2fc0f83c[aria-expanded="true"]) { 
    background: rgba(221, 232, 212, 0.20); 
}
.sa-header-2fc0f83c:hover { background: rgba(221, 232, 212, 0.20); }

.sa-number-2fc0f83c { font-weight: 600; color: #7A9878; font-size: 13px; letter-spacing: 0.08em; }
.sa-title-2fc0f83c { font-weight: 600; color: #162B1A; font-size: 22px; line-height: 1.25; display: block; }
.sa-desc-2fc0f83c { color: #4A7055; font-size: 18px; line-height: 1.6; display: block; }

.sa-icon-2fc0f83c { width: 26px; height: 26px; position: relative; color: #2A5E38; }
.sa-icon-2fc0f83c::before, .sa-icon-2fc0f83c::after {
    content: ''; position: absolute; background: currentColor;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.sa-icon-2fc0f83c::before { width: 14px; height: 2px; }
.sa-icon-2fc0f83c::after { width: 2px; height: 14px; }
.sa-header-2fc0f83c[aria-expanded="true"] .sa-icon-2fc0f83c::before { transform: translate(-50%, -50%) rotate(135deg); }
.sa-header-2fc0f83c[aria-expanded="true"] .sa-icon-2fc0f83c::after { transform: translate(-50%, -50%) rotate(135deg); }

.sa-content-2fc0f83c { 
    height: 0; overflow: hidden; 
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: transparent;
}
/* Checklist alignment trick - padding logic */
.sa-content-inner-2fc0f83c {
    /* Push checklist inline with description. Using standard CSS for default desktop, but allows calc for robustness. */
    /* 36px (left pad) + 30px (number) + 30px (gap) + 260px (title) + 30px (gap) = 386px */
    padding: 0 36px 22px 386px; 
}
.sa-checklist-2fc0f83c { list-style: none; padding: 0; margin: 0; }
.sa-checklist-2fc0f83c li { 
    margin-bottom: 5px; color: #162B1A; font-size: 18px; line-height: 1.55;
    opacity: 0; transform: translateY(10px); transition: opacity 0.35s ease, transform 0.35s ease;
}
.sa-header-2fc0f83c[aria-expanded="true"] + .sa-content-2fc0f83c .sa-checklist-2fc0f83c li {
    opacity: 1; transform: translateY(0);
}
.sa-header-2fc0f83c[aria-expanded="true"] + .sa-content-2fc0f83c .sa-checklist-2fc0f83c li:nth-child(1) { transition-delay: 0.08s; }
.sa-header-2fc0f83c[aria-expanded="true"] + .sa-content-2fc0f83c .sa-checklist-2fc0f83c li:nth-child(2) { transition-delay: 0.14s; }
.sa-header-2fc0f83c[aria-expanded="true"] + .sa-content-2fc0f83c .sa-checklist-2fc0f83c li:nth-child(3) { transition-delay: 0.20s; }
.sa-header-2fc0f83c[aria-expanded="true"] + .sa-content-2fc0f83c .sa-checklist-2fc0f83c li:nth-child(4) { transition-delay: 0.26s; }

.sa-checklist-2fc0f83c li::before { content: '✓'; color: #2A5E38; font-weight: bold; margin-right: 10px; }

@media (max-width: 900px) {
    .sa-col-title-2fc0f83c { width: 210px; }
    .sa-title-2fc0f83c { font-size: 20px; }
    .sa-desc-2fc0f83c { font-size: 17px; }
    .sa-content-inner-2fc0f83c { padding-left: 336px; } /* 36 + 30 + 30 + 210 + 30 */
}
@media (max-width: 700px) {
    .sa-header-2fc0f83c { padding: 20px; }
    .sa-header-top-2fc0f83c { flex-wrap: wrap; }
    .sa-col-title-2fc0f83c { width: calc(100% - 70px); }
    .sa-col-desc-2fc0f83c { padding-left: 60px; width: 100%; flex: none; padding-top: 10px;}
    .sa-content-inner-2fc0f83c { padding-left: 80px; padding-right: 20px; }
}