@font-face {
    font-family: Outfit;
    font-style: normal;
    font-weight: 100 900;
    src: url(https://themazine.com/cf-fonts/v/outfit/5.0.11/latin-ext/wght/normal.woff2);
    unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
    font-display: swap;
}

@font-face {
    font-family: Outfit;
    font-style: normal;
    font-weight: 100 900;
    src: url(https://themazine.com/cf-fonts/v/outfit/5.0.11/latin/wght/normal.woff2);
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
    font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

@font-face {
    font-family: DM Sans;
    font-style: normal;
    font-weight: 100 1000;
    src: url(https://themazine.com/cf-fonts/v/dm-sans/5.0.18/latin/opsz/normal.woff2);
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
    font-display: swap;
}

@font-face {
    font-family: DM Sans;
    font-style: normal;
    font-weight: 100 1000;
    src: url(https://themazine.com/cf-fonts/v/dm-sans/5.0.18/latin-ext/opsz/normal.woff2);
    unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
    font-display: swap;
}

@font-face {
    font-family: DM Sans;
    font-style: italic;
    font-weight: 100 1000;
    src: url(https://themazine.com/cf-fonts/v/dm-sans/5.0.18/latin-ext/opsz/italic.woff2);
    unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
    font-display: swap;
}

@font-face {
    font-family: DM Sans;
    font-style: italic;
    font-weight: 100 1000;
    src: url(https://themazine.com/cf-fonts/v/dm-sans/5.0.18/latin/opsz/italic.woff2);
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
    font-display: swap;
}

/* Categories Page Styles */

.page-title {
  position: relative;
  background-size: cover;
  background-position: center;
}
.page-title::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}
.page-title .auto-container {
  position: relative;
  z-index: 1;
}

.categories-list {
  padding: 60px 0;
}

.category-card {
  display: block;
  text-decoration: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background: #fff;
}
.category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}

.category-card_image {
  position: relative;
  height: 320px;
}
.category-card_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-card_overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.5) 100%);
}

.project-block_one-heading {
  color: #fff;
  margin: 0;
}
.project-block_one-designation {
  color: rgba(255,255,255,0.85);
}

.project-block_one-more {
  display: inline-block;
  align-self: flex-start;
  padding: 10px 16px;
  border-radius: 8px;
  color: #fff;
  background: #8BB449;
  transition: background 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}
.category-card:hover .project-block_one-more {
  background: #6f9737;
  transform: translateY(-2px);
}

/* Grid spacing */
.categories-list .row .project-block_one {
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .category-card_image { height: 220px; }
}
