.elementor-1420 .elementor-element.elementor-element-0d22b88{--display:flex;}.elementor-1420 .elementor-element.elementor-element-957508a{--display:flex;}.elementor-1420 .elementor-element.elementor-element-dc6095b{--display:flex;}.elementor-1420 .elementor-element.elementor-element-616dfb9{--display:flex;}.elementor-1420 .elementor-element.elementor-element-4855de8{--display:flex;}.elementor-1420 .elementor-element.elementor-element-abc40be{--grid-columns:4;}.elementor-1420 .elementor-element.elementor-element-79ae04a{--display:flex;}@media(max-width:1024px){.elementor-1420 .elementor-element.elementor-element-abc40be{--grid-columns:2;}}@media(max-width:767px){.elementor-1420 .elementor-element.elementor-element-abc40be{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-abc40be *//* ==========================================================
   ALIGN PROJECT TITLES + EXCERPTS
========================================================== */

/* Reserve equal space for up to two title lines */
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title {
  display: flex;
  align-items: flex-start;
  min-height: 52px;
}

/* Keep titles to a maximum of two lines */
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title .elementor-heading-title,
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title a {
  display: -webkit-box;
  overflow: hidden;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Reserve equal excerpt space across all cards */
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-excerpt {
  min-height: 70px;
}

/* Keep excerpt length visually consistent */
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-excerpt,
.elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-excerpt p {
  display: -webkit-box;
  overflow: hidden;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Slightly improve four-column title fit */
@media (min-width: 1025px) {
  .elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title,
  .elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title .elementor-heading-title,
  .elementor-1420 .elementor-element.elementor-element-abc40be .dbg-project-card-title a {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0d22b88 *//* ==========================================================
   DESIGNS BY GUERRERO — WEBSITES PROJECT PAGE
   PAGE-LEVEL CSS
========================================================== */


/* ==========================================================
   MAIN PAGE SHELL
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 28px 28px 110px;

  color: #ffffff;
  font-family: "Lato", sans-serif;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88,
.elementor-1420 .elementor-element.elementor-element-0d22b88 * {
  box-sizing: border-box;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-intro,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta {
  width: 100%;
  min-width: 0;
}


/* ==========================================================
   CATEGORY HERO
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero {
  position: relative;

  margin: 0 0 58px;
  padding: 24px 0 30px;

  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero::after {
  content: "";

  position: absolute;
  bottom: -1px;
  left: 0;

  width: 72px;
  height: 2px;

  background: #0073ff;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  width: 100%;
  max-width: 820px;
  margin: 0;
}


/* Main page title */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title .elementor-heading-title,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title h1 {
  margin: 0;

  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: clamp(46px, 6vw, 72px);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.045em;

  text-transform: uppercase;
}


/* Hero description */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-description {
  width: 100%;
  max-width: 720px;
  margin: 17px 0 0;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-description,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-description p {
  margin-bottom: 0;

  color: #a9a9a9;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}


/* ==========================================================
   PROJECT INTRO
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-intro {
  position: relative;

  max-width: 900px;
  margin: 0 0 42px;
  padding: 0 0 26px;

  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}


/* Intro heading */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title .elementor-heading-title,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title h2 {
  margin: 0;

  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
}


/* Intro copy */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-copy {
  width: 100%;
  max-width: 820px;
  margin: 15px 0 0;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-copy,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-copy p {
  margin-bottom: 0;

  color: #b8b8b8;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
}


/* ==========================================================
   LOOP GRID AREA
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-widget-container {
  width: 100%;
  min-width: 0;
}


/* Grid spacing */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-loop-container,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-grid {
  align-items: stretch;
  gap: 26px 22px !important;
}


/* Force each loop item to fill its grid cell */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .e-loop-item,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid article {
  display: flex;
  min-width: 0;
  height: 100%;
}


/* Let the Loop Item card fill the full cell */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .e-loop-item > *,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid article > * {
  width: 100%;
}


/* Prevent inherited white backgrounds or borders */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .e-loop-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* ==========================================================
   PAGINATION
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .page-numbers,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-pagination {
  font-family: "Lato", sans-serif;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;

  margin-top: 38px;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;

  color: #ffffff !important;
  background: #070707;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;

  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;

  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .page-numbers:hover,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .page-numbers.current {
  color: #ffffff !important;
  background: #0073ff;
  border-color: #0073ff;
}


/* ==========================================================
   EMPTY RESULTS
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .e-load-more-message,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-message {
  margin: 0;
  padding: 24px;

  color: #b8b8b8;
  background: #070707;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;

  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}


/* ==========================================================
   CATEGORY CTA
========================================================== */

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta {
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  max-width: 960px;
  margin: 78px auto 0;
  padding: 42px 40px;

  background: #070707;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 12px;

  box-shadow: none;
}


/* CTA blue accent */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta::before {
  content: "";

  position: absolute;
  top: -1px;
  left: 40px;

  width: 58px;
  height: 2px;

  background: #0073ff;
}


/* CTA heading */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta h2,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta h3,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta .elementor-heading-title {
  margin: 0;

  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
}


/* CTA text */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta .elementor-widget-text-editor {
  width: 100%;
  max-width: 700px;
  margin-top: 14px;

  color: #b8b8b8;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta .elementor-widget-text-editor p {
  margin-bottom: 0;
}


/* CTA button widget */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn {
  margin-top: 24px;
}


/* CTA button */
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 210px;
  min-height: 50px;
  padding: 13px 24px;

  color: #ffffff !important;
  background: #0073ff !important;
  border: 1px solid #0073ff !important;
  border-radius: 6px;

  font-family: "Lato", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0;

  text-align: center;
  text-decoration: none;
  text-transform: uppercase;

  box-shadow: none !important;
  transform: none !important;

  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}

.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn .elementor-button:hover,
.elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn .elementor-button:focus {
  color: #ffffff !important;
  background: #000000 !important;
  border-color: #0073ff !important;

  box-shadow: none !important;
  transform: none !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  .elementor-1420 .elementor-element.elementor-element-0d22b88 {
    padding: 24px 24px 90px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero {
    margin-bottom: 50px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-intro {
    margin-bottom: 36px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-loop-container,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-grid {
    gap: 24px 18px !important;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta {
    margin-top: 64px;
    padding: 38px 32px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta::before {
    left: 32px;
  }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {
  .elementor-1420 .elementor-element.elementor-element-0d22b88 {
    padding: 20px 18px 70px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero {
    margin-bottom: 40px;
    padding: 18px 0 24px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-hero::after {
    width: 56px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title .elementor-heading-title,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-title h1 {
    font-size: 42px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-description,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-description p {
    font-size: 15px;
    line-height: 1.65;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-intro {
    margin-bottom: 30px;
    padding-bottom: 22px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title .elementor-heading-title,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-title h2 {
    font-size: 28px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-copy,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-section-copy p {
    font-size: 14px;
    line-height: 1.7;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-loop-container,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-grid {
    gap: 22px !important;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-grid .elementor-pagination {
    margin-top: 30px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta {
    margin-top: 52px;
    padding: 32px 20px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta::before {
    left: 20px;
    width: 50px;
  }

  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn,
  .elementor-1420 .elementor-element.elementor-element-0d22b88 .dbg-category-cta-btn .elementor-button {
    width: 100%;
  }
}/* End custom CSS */