.wrapper .categories { background: #ffffff; padding: 70px 0; }
.wrapper .categories .categories-inner { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.wrapper .categories .categories-heading { text-align: center; font-size: 26px; letter-spacing: -0.4px; margin-bottom: 44px; }
.wrapper .categories .categories-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.wrapper .categories .category-card { position: relative; display: block; background: #ffffff; border: 1px solid #eef1f4; border-radius: 18px; padding: 30px 24px; text-align: center; box-shadow: 0 6px 22px rgba(20, 40, 80, 0.05); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.wrapper .categories .category-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20, 40, 80, 0.11); border-color: #d2e9f4; }
.wrapper .categories .category-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #03a9f4; margin-bottom: 14px; }
.wrapper .categories .category-icon svg { width: 24px; height: 24px; }
.wrapper .categories .category-title { font-size: 18px; margin-bottom: 8px; }
.wrapper .categories .category-link { color: #333333; }
.wrapper .categories .category-link::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.wrapper .categories .category-text { font-size: 14px; line-height: 1.6; color: #5d6770; }
@media (min-width: 768px) {
  .wrapper .categories .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (min-width: 1024px) {
  .wrapper .categories { padding: 90px 0; }
  .wrapper .categories .categories-heading { font-size: 29px; margin-bottom: 56px; }
  .wrapper .categories .categories-grid { grid-template-columns: repeat(3, 1fr); }
}
