.elementor-343 .elementor-element.elementor-element-2532314:not(.elementor-motion-effects-element-type-background), .elementor-343 .elementor-element.elementor-element-2532314 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-343 .elementor-element.elementor-element-2532314{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:150px 0px 150px 0px;}.elementor-343 .elementor-element.elementor-element-2532314 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-343 .elementor-element.elementor-element-2532314 > .elementor-shape-top .elementor-shape-fill{fill:#000000;}.elementor-343 .elementor-element.elementor-element-2532314 .elementor-heading-title{color:#FFFFFF;}.elementor-343 .elementor-element.elementor-element-d4bdbe6 .elementor-heading-title{font-size:6vw;}.elementor-343 .elementor-element.elementor-element-353dd61:not(.elementor-motion-effects-element-type-background), .elementor-343 .elementor-element.elementor-element-353dd61 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-343 .elementor-element.elementor-element-353dd61{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-343 .elementor-element.elementor-element-353dd61 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-343 .elementor-element.elementor-element-51c3919{padding:50px 30px 50px 30px;}.elementor-bc-flex-widget .elementor-343 .elementor-element.elementor-element-8817a11.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-343 .elementor-element.elementor-element-8817a11.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-343 .elementor-element.elementor-element-b64b140:not(.elementor-motion-effects-element-type-background), .elementor-343 .elementor-element.elementor-element-b64b140 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-343 .elementor-element.elementor-element-b64b140{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-343 .elementor-element.elementor-element-b64b140 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}@media(max-width:1024px){.elementor-343 .elementor-element.elementor-element-2532314{padding:150px 30px 120px 30px;}}@media(max-width:767px){.elementor-343 .elementor-element.elementor-element-2532314{padding:88px 20px 50px 20px;}}/* Start custom CSS for section, class: .elementor-element-2532314 */.elementor-343 .elementor-element.elementor-element-2532314 {
  position: relative;
  overflow: hidden;
}

.elementor-343 .elementor-element.elementor-element-2532314::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(rgba(0,0,0,.15) 1px, transparent 1px);
  background-size: 10px 10px;
  pointer-events: none;
  z-index: 1;
}

.elementor-343 .elementor-element.elementor-element-2532314 > .elementor-container,
.elementor-343 .elementor-element.elementor-element-2532314 > .e-con-inner {
  position: relative;
  z-index: 2;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-202ac93 *//* =========================
   SERVICES GRID
   COMIC BOOK EDITION
========================= */

.ri-services-grid {
    padding: 100px 20px;
}

/* =========================
   HEADER
========================= */

.ri-services-grid__header {
    max-width: 850px;
    margin: 0 auto 70px;
    text-align: center;
}

.ri-services-grid__header h2 {
    margin: 0;

    font-size: clamp(38px, 5vw, 64px);
    line-height: .95;

    font-weight: 900;
    text-transform: uppercase;

    color: #111111;
}

.ri-services-grid__header p:last-child {
    margin-top: 22px;

    font-size: 18px;
    line-height: 1.7;

    color: #555555;
}

/* =========================
   GRID
========================= */

.ri-service-grid {
    width: min(1400px, 100%);
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

/* =========================
   CARDS
========================= */

.ri-service-card {
    position: relative;

    min-height: 420px;

    border-radius: 18px;
    overflow: hidden;

    background-size: cover;
    background-position: center;

    display: flex;
    align-items: flex-end;

    border-top: 4px solid #000000;
    border-left: 4px solid #000000;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;

    box-shadow:
        6px 6px 0 #AF0000,
        12px 12px 0 #000000;

    transition: all .25s ease;
}

/* comic panel angles */

.ri-service-card:nth-child(odd) {
    transform: rotate(-1deg);
}

.ri-service-card:nth-child(even) {
    transform: rotate(1deg);
}

.ri-service-card:hover {
    transform: translate(-4px,-4px) rotate(0deg);

    box-shadow:
        10px 10px 0 #AF0000,
        18px 18px 0 #000000;
}

.ri-service-card::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            rgba(255,255,255,.10) 1px,
            transparent 1px
        ),
        rgba(0,0,0,var(--overlay,.68));

    background-size: 10px 10px;

    z-index: 1;
}

/* =========================
   CONTENT
========================= */

.ri-service-card__content {
    position: relative;
    z-index: 2;
    padding: 32px;
}

/* comic sticker label */

.ri-service-card__content span {
    display: inline-block;

    margin-bottom: 18px;

    background: #F4B400;
    color: #000000;

    border: 3px solid #000000;

    box-shadow:
        3px 3px 0 #AF0000;

    padding: 6px 12px;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: .12em;
    text-transform: uppercase;

    border-radius: 8px;

    transform: rotate(-2deg);
}

.ri-service-card h3 {
    margin: 0;

    color: #ffffff;

    font-size: 28px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;

    text-shadow:
        3px 3px 0 rgba(0,0,0,.8);
}

.ri-service-card p {
    margin: 16px 0 0;

    color: rgba(255,255,255,.88);

    font-size: 15px;
    line-height: 1.7;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1200px){

    .ri-service-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:768px){

    .ri-services-grid{
        padding:80px 20px;
    }

    .ri-service-grid{
        grid-template-columns:1fr;
    }

    .ri-service-card{
        min-height:340px;
        transform:none;
    }

    .ri-service-card:hover{
        transform:none;
    }

}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-38dca6d */.elementor-343 .elementor-element.elementor-element-38dca6d img {
  border-radius: 18px;
  border: 4px solid #000000;

  box-shadow:
    7px 7px 0 #AF0000,
    14px 14px 0 #000000;

  transform: rotate(-1.5deg);
  transition: all .25s ease;
}

.elementor-343 .elementor-element.elementor-element-38dca6d:hover img {
  transform: translate(-4px, -4px) rotate(0deg);

  box-shadow:
    11px 11px 0 #AF0000,
    20px 20px 0 #000000;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0411a8d *//* =========================
   PROCESS SECTION
   COMIC BOOK STYLE
========================= */

.ri-process-section {
  padding: 90px 20px;

  background:
    radial-gradient(
      rgba(0,0,0,.06) 1px,
      transparent 1px
    ),
    #f3f3f3;

  background-size: 18px 18px;
}

.ri-process-wrap {
  max-width: 1280px;
  margin: 0 auto;
}

/* =========================
   HEADER
========================= */

.ri-process-header {
  max-width: 760px;
  margin: 0 auto 60px;
  text-align: center;
}

.ri-process-eyebrow {
  display: inline-block;

  margin-bottom: 18px;

  background: #AF0000;
  color: #ffffff;

  border: 3px solid #000000;

  box-shadow:
    4px 4px 0 #000000;

  padding: 8px 14px;

  transform: rotate(-2deg);

  font-size: 13px;
  line-height: 1;

  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
}

.ri-process-header h2 {
  margin: 0 0 16px;

  font-size: clamp(36px, 4vw, 64px);
  line-height: .95;

  font-weight: 900;
  text-transform: uppercase;

  color: #111111;
}

.ri-process-header p {
  margin: 0 auto;

  font-size: 20px;
  line-height: 1.7;

  color: #555555;
}

/* =========================
   GRID
========================= */

.ri-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

/* =========================
   CARDS
========================= */

.ri-process-card {
  position: relative;

  background:
    radial-gradient(
      rgba(0,0,0,.05) 1px,
      transparent 1px
    ),
    #ffffff;

  background-size: 12px 12px;

  border-top: 4px solid #000000;
  border-left: 4px solid #000000;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;

  border-radius: 18px;

  padding: 34px 24px 30px;

  text-align: center;

  min-height: 300px;

  box-shadow:
    6px 6px 0 #AF0000,
    12px 12px 0 #000000;

  transition: all .25s ease;
}

/* Alternate comic angles */

.ri-process-card:nth-child(odd) {
  transform: rotate(-1deg);
}

.ri-process-card:nth-child(even) {
  transform: rotate(1deg);
}

/* =========================
   NUMBER BADGE
========================= */

.ri-process-number {
  width: 78px;
  height: 78px;

  margin: 0 auto 24px;

  border-radius: 50%;

  background:
    radial-gradient(
      rgba(255,255,255,.15) 1px,
      transparent 1px
    ),
    #111111;

  background-size: 8px 8px;

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;

  border: 2px solid #555555;

  box-shadow:
    3px 3px 0 #AF0000,
    5px 5px 0 #000000;

  transform: rotate(-6deg);
}

/* =========================
   CONTENT
========================= */

.ri-process-card h3 {
  margin: 0 0 14px;

  font-size: 26px;
  line-height: 1.15;

  font-weight: 900;
  text-transform: uppercase;

  color: #111111;
}

.ri-process-card p {
  margin: 0;

  font-size: 16px;
  line-height: 1.7;

  color: #555555;
}

/* =========================
   TABLET
========================= */

@media (max-width:1024px){

  .ri-process-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .ri-process-card{
    min-height:260px;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width:600px){

  .ri-process-section{
    padding:60px 16px;
  }

  .ri-process-header{
    margin-bottom:34px;
  }

  .ri-process-header p{
    font-size:16px;
  }

  .ri-process-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .ri-process-card{
    min-height:auto;
    padding:30px 22px;
    transform:none;
  }

  .ri-process-card:hover{
    transform:none;
  }

  .ri-process-number{
    width:68px;
    height:68px;
    font-size:26px;
  }

  .ri-process-card h3{
    font-size:21px;
  }
}/* End custom CSS */