.features { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; gap: 60px; padding: 64px 0; overflow: hidden; } .features__bg { position: absolute; top: 50%; left: 50%; width: 2363px; height: 1319px; object-fit: cover; opacity: 0.2; pointer-events: none; transform: translate(-50%, -50%); } .features__header { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; max-width: 1280px; gap: 24px; margin: 0 auto; padding: 0 16px; overflow: clip; } .features__title { width: 100%; margin: 0; font-size: 32px; font-weight: 700; line-height: 1.2; color: #1a1a1a; text-align: center; } .features__description { width: 100%; margin: 0; font-size: 18px; font-weight: 400; line-height: 1.5; color: #7a726d; text-align: center; } .features__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: 1280px; gap: 22px; margin: 0 auto; padding: 0 16px; } .feature-card { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 32px; background: rgba(255, 255, 255, 0.78); border-radius: 30px; } .feature-card__icon-frame { position: relative; flex-shrink: 0; width: 160px; height: 160px; overflow: hidden; } .feature-card__icon { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; object-fit: contain; } .feature-card__copy { display: flex; flex-direction: column; align-items: flex-start; width: 100%; gap: 12px; text-align: center; } .feature-card__title { width: 100%; margin: 0; font-size: 24px; font-weight: 700; line-height: normal; color: #2e2a28; } .feature-card__description { width: 100%; margin: 0; font-size: 15px; font-weight: 400; line-height: 1.5; color: #7a726d; } @media (min-width: 768px) { .features__title { font-size: 40px; } .features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (min-width: 1024px) { .features { padding: 120px 0; } .features__header { padding: 0 180px; } .features__title { font-size: 48px; } .features__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; } }