.elements-section { padding: 80px 0; background: #fff; }
.elements-wrapper { display: flex; flex-wrap: wrap; gap: 40px; align-items: center; }
.elements-heading { flex: 0 0 30%; }
.elements-heading h2 { font-family: var(--title-font); font-size: 3.2rem; color: var(--bg-dark); line-height: 1.1; margin: 0; text-align: left; }
.elements-heading p { margin-top: 15px; color: #666; font-family: var(--reading-font); }
.elements-grid { flex: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.element-item { display: flex; gap: 20px; align-items: flex-start; }
.elem-icon { font-size: 2.5rem; flex-shrink: 0; line-height: 1; }
.elem-content h3 { font-family: var(--title-font); font-size: 1.8rem; font-weight: 700; color: var(--bg-dark); margin: 0 0 10px 0; }
.elem-content p { font-family: var(--body-font); font-size: 1.05rem; color: #555; margin: 0; line-height: 1.6; }
@media (max-width: 900px) {
    .elements-wrapper { flex-direction: column; text-align: center; }
    .elements-heading { flex: 1; margin-bottom: 30px; }
    .elements-heading h2 { text-align: center; }
    .elements-grid { grid-template-columns: 1fr; gap: 30px; }
    .element-item { flex-direction: column; align-items: center; text-align: center; }
}