applet, object, iframe, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, hgroup,
menu, output, ruby, summary,
time, mark, video {
  margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, hgroup, menu {
	display: block;
}

ol {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

canvas,
video {
    display: inline-block;
    display: inline;
    zoom: 1;
    max-width: 100%;
}
/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */

img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */

figure {
    margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */

form {
    margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
    border: 0; /* 1 */
    padding: 0;
    white-space: normal; /* 2 */
    margin-left: -7px; /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */

button,
input,
select,
textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    vertical-align: middle; /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    overflow: visible;  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    height: 13px; /* 3 */
    width: 13px; /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html,
button,
input,
select,
textarea {
    color: #333333;
}


::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* HEADER STYLE */

/* ========== GENERAL ========== */

html {
  width: 100vw;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: "Montserrat", sans-serif;
  font-size: 23px;
  transition: all 0.5s;

  &.white-text {
    color: white;
  }
}
section {
  position: relative;
  z-index: 1;
}
img {
  max-width: 100%;
}
h1,
h2 {
  font-family: "Play", sans-serif;
}
.italic {
  font-style: italic;
}
@keyframes gridMove {
    0% { transform: translate(0, 0); }
    100% { transform: translate(50px, 50px); }
}
@keyframes pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 0.8;
  }
}
@keyframes floatBadge {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

.headline h2{
  text-align: center;
  font-size: 49px;
  font-weight: 900;
}
/* ========== /GENERAL ========== */

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

#main-header.scroll-header {
    background-color: #fff;
    border-bottom: 1px solid var(--nav-border);
    box-shadow: rgba(255, 0, 227, 0.3) 0px 10px 30px;

    .nav-link{
      color: rgb(27, 0, 77) !important;
    }

    .content-logo .logo{
      display: none;
    }

    .content-logo .logo-dark{
      display: block;
    }
}

#main-header.is-hidden {
  transform: translateY(-100%);
}

@keyframes navItemFade {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.has-dropdown:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.dropdown a:hover {
    background: rgba(99, 102, 241, 0.15);
    color: rgb(27, 0, 77);
    transform: translateX(5px);
}

#main-header.scroll-header .hamburger span {
    background: #333;
}

#main-header.scroll-header .nav-toggle{
  border-color: #333;
}

.page-404 #main-header .nav-link {
    color: rgb(27, 0, 77) !important;
}

.page-404 #main-header {
    .content-logo .logo-dark {
        display: block;
    }

    .content-logo .logo{
      display: none;
    }
}

/* ===============================
        END STYLE HEADER 
================================== */

.animate-title .char {
    opacity: 0;
    display: inline-block;
    transition: opacity 500ms ease;
    will-change: opacity;
  }

.animate-title .char.char-in {
  opacity: 1 !important;
}

.overflow-hidden{
  overflow: hidden;
}
/* ========== SECTION ABOUT ========== */

#about,
#technologies, 
#technologies-about,
.digital-services.second-part,
.contact-us {
  padding: 3rem 4rem;
}

#about .content-about {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 3rem;
  margin-bottom: 1rem;

  & > div {
    width: 46%;
  }

  #about-col-1 {
    h3 {
      font-size: 49px;
      font-weight: 900;
      margin-bottom: 1.5rem;
      font-family: 'Play';
      color: #333;
    }
  }

  #about-col-2 {
    position: relative;

    .hero-image-wrapper {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .hero-image-container {
      position: relative;
      width: 500px;
      height: 500px;
    }

    .profile-image-glow {
      position: absolute;
      top: -10%;
      left: -10%;
      transform: translate(-50%, -50%);
      width: 120%;
      height: 120%;
      background: radial-gradient(circle, rgba(255,107,157,1) 0%, transparent 70%);
      border-radius: 50%;
      animation: pulse 3s ease-in-out infinite;
    }

    .profile-image-frame {
      position: relative;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      border: 4px solid white;
      box-shadow: 
        0 0 30px rgba(255,107,157,0.3),
        0 0 60px rgba(255,107,157,0.1);
      overflow: hidden;
      background: #1D293B;
    }

    .profile-image {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #1d293b;
      will-change: transform;
    }

    .profile-placeholder {
      font-size: 8rem;
      color: white;
      opacity: 0.3;
      transform: scale(1);
      transition: all 0.5s;

      &:hover {
        transform: scale(1.3);
        rotate: 10deg;
      }

      svg {
        width: 200px;
        fill: rgb(192, 132, 252);
      }
    }

    .animate-title span {
        font-family: "Play", sans-serif;
    }

    .floating-badge {
      position: absolute;
      background: #313135;
      border: 1px solid white;
      border-radius: 16px;
      padding: 0rem 0.8rem;
      padding-left: 0;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: white;
      font-weight: 600;
      box-shadow: 0 5px 20px rgba(192,132,252,0.25);
      animation: floatBadge 3s ease-in-out infinite;
      min-width: 200px;
      transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transform: translateY(-3px) scale(1.03);
    }

    .floating-badge img {
      width: auto;
      height: 80px;
    }

    .badge-content {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
    }

    .badge-title {
      font-size: 18px;
      font-weight: 700;
      color: white;
    }

    .badge-libs {
      font-size: 13px;
      color: white;
      font-weight: 400;
    }

    .badge-1 {
      top: 0%;
      right: 0%;
      animation-delay: 0s;
    }

    .badge-2 {
      top: 50%;
      right: -20%;
      animation-delay: 1s;
    }

    .badge-3 {
      top: 25%;
      left: 0%;
      animation-delay: 2s;
    }

    .badge-4 {
      top: 70%;
      left: -10%;
      animation-delay: 3s;
    }

    .badge-5 {
      right: -10%;
      top: 90%;
      animation-delay: 4s;
    }

    .about-moving-image {
      position: absolute;
      transition: all 0.5s;
    }

    img {
      width: 100px;
      height: auto;
    }
  }
}

#about .footer-section {
  display: flex;
  flex-direction: column;
  gap: 3rem;

  .icon-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr));
    gap: 1rem;

    .icon {
      font-weight: 700;
      display: flex;
      gap: 0.5rem;
      align-items: center;
      font-size: 18px;

      img {
        width: 2.5rem;
        height: 2.5rem;
      }
    }
  }
}

/* ========== /SECTION ABOUT ========== */

/* ========== SECTION HOW WE WORK ========== */
#how-we-work-bg-circles {
  position: absolute;
  width: 100vw;
  height: 300vh;
  margin-top: -100vh;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: all 0.5s;
  z-index: -1;

  .bg-circle {
    position: absolute;
    border-radius: 40%;
  }

  #outer-circle {
    /* background-color: purple; */
    background-image: url("../img/how-we-work-box-1-bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 50vw;
    height: 50vw;
  }

  #middle-circle {
    /* background-color: orange; */
    background-image: url("../img/how-we-work-box-2-bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 30vw;
    height: 30vw;
  }

  #inner-circle {
    background-color: white;
    width: 10vw;
    height: 10vw;
  }
}

#how-we-work {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-top: 5rem;
  padding-bottom: 5rem;
  min-height: 75vh;
  gap: 2rem;

  #how-we-work-title {
    display: block;
    font-size: 49px;
    font-weight: 900;
    text-transform: capitalize;
  }

  #how-we-work-boxes-wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    color: #000;

    .how-we-work-box {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: start;
      flex-direction: column;
      width: 430px;
      border: 1px solid black;
      border-radius: 10px;
      padding: 4rem 2rem;
      box-sizing: border-box;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      color: white;
      transition: all 0.5s;

      .how-we-work-box-title {
        font-size: 1.5em;
        font-weight: 900;
        margin-bottom: 2rem;
        color: #000;
      }

      .how-we-work-box-number {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        position: absolute;
        width: 87px;
        height: 60px;
        top: -31px;
        right: 30px;
        border: 1px solid black;
        border-radius: 50px;
        background-color: #37334b;
        font-size: 2em;
        transition: all 0.5s;
      }

      .how-we-work-detail {
        margin: 0.6rem 0;
        color: #000;
        border: 1px solid black;
        border-radius: 50px;
        padding: 1rem 2em;
        background-color: rgba(0, 0, 0, 0.1);
      }

      /*       &:hover {
        color: black;
        background-image: none !important;
        background-color: #ffaa17;

        .how-we-work-box-number {
          background-color: #222429;
          color: #ffaa17;
        }
      } */
    }
  }

  .headline p{
    margin: 1rem auto;
    max-width: 85%;
  }
}

#how-we-work .footer-section {
    justify-content: center;
    margin-top: 1rem;
}
/* ========== /SECTION HOW WE WORK ========== */

/* ========== SECTION TECHNOLOGIES ========== */

#technologies, #technologies-about {

  .headline {
    margin-bottom: 2rem;

    h3 {
      font-family: 'Play';
      text-align: center;
      font-size: 49px;
      font-weight: 900;
    }
  }

  .swiper.marquee-swiper {
    margin-top: 1rem;
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      white 10%,
      white 90%,
      transparent 100%
    );
  }

  .swiper-wrapper.marquee-swiper {
    transition-timing-function: linear;
    align-items: center;
  }

  .swiper-slide.marquee-swiper {
    width: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 60px;
    line-height: 60px;
    padding: 0 45px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 25px;
    letter-spacing: -0.32px;
    color: #fff;
    background: #1b004d;
    box-shadow: 0 10px 10px -10px rgba(3, 4, 28, 0.12);
  }
}

#technologies .footer-section {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

#technologies::before {
    position: absolute;
    top: -2rem;
    right: -3rem;
    width: 10rem;
    height: 10rem;
    background-image: linear-gradient(320deg, #ff20fb, #f424ff, #d42dff, #b139ff, #9742ff, #8d46ff);
    content: "";
    animation: d 5s linear infinite;
    margin-bottom: 1rem;
    z-index: -1;
}

#technologies.about::before {
  content: none;
}

#technologies.about {
    padding-top: 3rem;
}

:root {
    --primary: #ff6b9d;
    --secondary: #1b004db4;
    --border: rgb(27, 0, 77);
    --gradient-1: linear-gradient(135deg, #00ff88 0%, #00d4ff 100%);
    --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.certs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 1rem;

  .cert-card {
    background: #fff;
    border: 2px solid #9600ff;
    border-radius: 20px;
    padding: 1rem;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(166, 133, 189, 0.3), 0 0 40px rgba(166, 133, 189, 0.2);
    color: #333;
    width: 100%;

    .cert-badge {
      width: 80px;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, rgba(166, 133, 189, 0.15) 0%, rgba(166, 133, 189, 0.15) 100%);
      border: 3px solid #9600ff;
      border-radius: 50%;
      font-size: 2.8rem;
      margin: 0 auto 0.5rem;
      position: relative;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 5px 20px rgba(166, 133, 189, 0.2);
    }

    .cert-badge::before {
        content: '1';
        position: absolute;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        font-family: 'Play';
    }

    .cert-title {
        font-size: 18px;
        line-height: 20px;
        font-weight: 800;
        font-family: "Play";
        letter-spacing: 1px;
        position: relative;
        z-index: 1;
        transition: all 0.3s ease;
    }

    .cert-glow {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 80%;
      height: 80%;
      background: radial-gradient(circle, #00bdff 0%, transparent 70%);
      opacity: 0;
      transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
      pointer-events: none;
    }
  }

  .cert-card:nth-child(1) .cert-badge::before { content: '1'; }
  .cert-card:nth-child(2) .cert-badge::before { content: '2'; }
  .cert-card:nth-child(3) .cert-badge::before { content: '3'; }
  .cert-card:nth-child(4) .cert-badge::before { content: '4'; }
  .cert-card:nth-child(5) .cert-badge::before { content: '5'; }

  .cert-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 255, 136, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
  }

  .cert-card:hover::after {
    opacity: 1;
  }

  .cert-card:hover {
    border-color: rgb(0, 189, 255);
    box-shadow: 0 10px 30px rgba(0, 189, 255, 0.3), 0 0 40px rgba(0, 189, 255, 0.2);
  }

  .cert-card:hover .cert-badge::before {
      color: #333;
  }

  .cert-card:hover .cert-badge svg path {
      fill: #fff;
  }

  .cert-card:hover .cert-badge {
    background: linear-gradient(135deg, rgba(0, 189, 255, 0.25) 0%, rgba(0, 189, 255, 0.25) 100%);
    transform: rotate(360deg) scale(1.1);
    box-shadow: 0 8px 30px rgba(0, 189, 255, 0.5);
    border-color: #00bdff;
  }

  .cert-card:hover .cert-glow {
    opacity: 0;
  }
}

#technologies-about .certs-grid{
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

#single-service .list-technologies {
    columns: auto;
}

.cert-badge svg{
    width: 60%;
    height: 100%;
}

.stat-card svg{
    width: 20px;
    height: 20px;
}

.cert-badge svg path {
    fill: #9600ff;
}

.stat-card svg path{
    fill: #fff;
}

#technologies-about .cert-title {
    margin-bottom: 0.8rem;
    font-size: 25px;
}

.cert-card.cert1 { grid-area: 1 / 1 / 2 / 2; }
.cert-card.cert2 { grid-area: 1 / 2 / 2 / 3; }
.cert-card.cert3 { grid-area: 1 / 3 / 2 / 4; }
.cert-card.cert4 { grid-area: 1 / 4 / 2 / 5; }
.cert-card.cert5 { grid-area: 2 / 1 / 3 / 2; }
.cert-card.cert6 { grid-area: 2 / 2 / 3 / 5; }
.cert-card.cert7 { grid-area: 3 / 1 / 5 / 2; }
.cert-card.cert8 { grid-area: 3 / 2 / 4 / 3; }
.cert-card.cert9 { grid-area: 3 / 3 / 4 / 4; }
.cert-card.cert10 { grid-area: 3 / 4 / 4 / 5; }
.cert-card.cert11 { grid-area: 4 / 2 / 5 / 3; }
.cert-card.cert12 { grid-area: 4 / 3 / 5 / 4; }


#technologies-about .cert-card ul {
    list-style: disc;
    padding-left: 1rem;
    font-size: 18px;
    line-height: 24px;
}

#technologies-about .cert-card{
  text-align: left;
  box-shadow: 0 25px 50px -12px rgb(150 0 255 / 20%);
  overflow: visible;
  backdrop-filter: none;
  border-color: rgb(150, 0, 255);
}

.cert-card.cert2.width-70 {
    width: 50%;
}

#single-service .cert-card.cert2{
  border-color: rgb(0, 189, 255);
  box-shadow: 0 25px 50px -12px rgb(0 189 255 / 20%);
}

.cert-card p {
    margin-bottom: 1rem;
    font-size: 18px;
    line-height: 24px;
}

#technologies-about .cert-card::after{
  content: none;
}

#technologies-about .cert-card:after{
    content: '';
    background: rgb(27 0 77 / 55%);
    border-radius: 1rem;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: -0.7rem;
    left: -0.7rem;
    z-index: -1;
    opacity: 1;
}

#technologies-about .cert-card:before {
    content: '';
    background: rgb(27 0 77 / 75%);
    border-radius: 1rem;
    width: 8rem;
    height: 8rem;
    position: absolute;
    bottom: -0.7rem;
    right: -0.7rem;
    z-index: -1;
}

#technologies-about .cert-card.cert2:after,
#technologies-about .cert-card.cert2:before,
#technologies-about .cert-card.cert4:after,
#technologies-about .cert-card.cert4:before,
#technologies-about .cert-card.cert5:after,
#technologies-about .cert-card.cert5:before,
#technologies-about .cert-card.cert6:after,
#technologies-about .cert-card.cert6:before,
#technologies-about .cert-card.cert8:after,
#technologies-about .cert-card.cert8:before,
#technologies-about .cert-card.cert9:after,
#technologies-about .cert-card.cert9:before,
#technologies-about .cert-card.cert11:after,
#technologies-about .cert-card.cert11:before{
    content: none;
}

#technologies-about .cert-card.cert2,
#technologies-about .cert-card.cert2,
#technologies-about .cert-card.cert4,
#technologies-about .cert-card.cert4,
#technologies-about .cert-card.cert5,
#technologies-about .cert-card.cert5,
#technologies-about .cert-card.cert6,
#technologies-about .cert-card.cert6,
#technologies-about .cert-card.cert8,
#technologies-about .cert-card.cert8,
#technologies-about .cert-card.cert9,
#technologies-about .cert-card.cert9,
#technologies-about .cert-card.cert11,
#technologies-about .cert-card.cert11{
    border-color: rgb(0, 189, 255);
    box-shadow: 0 25px 50px -12px rgb(0 189 255 / 20%);
}

/* ========== /SECTION TECHNOLOGIES ========== */

/* ========== SECTION SERVICES ========== */

#services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #1b004d;
}

#services #services-title-wrapper {
  z-index: 110;
  font-size: 4em;
  font-weight: 700;
}

#services .service-dot {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 50px rgb(254, 1, 154);
  transition: all 0.5s;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: no-repeat center / 100% 100%;
  --radius: 11rem;
  --rotation: calc(360deg / var(--total) * var(--i));
  transform: translate(calc(cos(var(--rotation)) * var(--radius)), calc(sin(var(--rotation)) * var(--radius)));
  transition: all 0.3s;
  cursor: progress;
  z-index: 1;
}

#services .service-dot::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fe019a;
  border-radius: 50%;
}

#services .service-dot::after {
  content: "";
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: white;
  border-radius: 50%;
}

#services .service-dot:hover {
  width: 3.5rem;
  height: 3.5rem;
}

#services .service-dot .service-title {
  position: absolute;
  top: 105%;
  text-align: center;
  font-size: 15px;
  text-shadow: 0px 0px 20px #fff;
  color: #fff;
  font-weight: 500;
}

#services #service-popup {
  position: absolute;
  width: 25vw;
  height: fit-content;
  overflow: hidden;
  top: 50%;
  transform: translate(0, -50%);
  right: -25vw;
  background-color: white;
  transition: all 0.5s;
  z-index: 110;
  border-radius: 12px;
  border: 2px solid #9600ff;
}

#services #service-popup #service-popup-close {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  color: #ffffff;
  cursor: pointer;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  z-index: 2;
}

#services #service-popup .service-screen {
  display: none;
  color: black;
}

#services #service-popup .service-screen .headline-popup {
  position: relative;
  padding: 1rem 2rem;
  background: #121212;
  text-align: center;
}

#services #service-popup .service-screen .headline-popup::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  backdrop-filter: blur(5px);
}

#services #service-popup .service-screen .content-popup {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}

#services #service-popup .service-screen h4 {
  position: relative;
  font-size: 27px;
  line-height: 32px;
  font-weight: bold;
  color: #fff;
}

#services #service-popup .service-screen p {
  font-size: 18px;
  line-height: 24px;
}

#services #service-start-wrapper {
  width: 100%;
  height: 100%;
  z-index: 101;
  top: 0;
  left: 0;
  position: absolute;
  font-family: "Roboto Mono", monospace;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  opacity: 1;
}

#services #service-start-wrapper h3 span {
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: underline;
}

#services #service-start-wrapper h1 span {
  cursor: default;
  opacity: 0;
  animation: fadeIn 2s;
  animation-fill-mode: forwards;
}

#services #service-start-wrapper h1 a {
  opacity: 0;
  animation: fadeIn 2s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}

#services #service-start-wrapper h3 {
  opacity: 0;
  animation: fadeIn 2s;
  animation-delay: 2s;
  animation-fill-mode: forwards;
}

#services #service-start svg {
  color: white;
  width: 150px;
  height: 150px;
  fill: white;
  cursor: pointer;
  text-decoration: underline;
  filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
  transition: all 0.25s ease;
}

#services #service-start:hover svg {
  filter: drop-shadow(0 4px 25px rgba(255, 107, 157, 1.4));
  transform: translateY(-10px);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#services #service-content {
  height: 100%;
}

#services #credit {
  position: absolute;
  z-index: 100;
  bottom: 10px;
  left: 10px;
  color: #ffffff;
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-size: 16px;
  padding: 25px;
}

#services #credit a {
  color: #ffffff;
}

#services #go {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 100;
}

#services #service-canvas {
  width: 100%;
  height: 100%;
  scale: 2;
}

#services audio {
  width: 50px;
  height: 50px;
  cursor: pointer;
}

#services #range {
  position: absolute;
  right: 75px;
  z-index: 100;
  height: 100%;
  width: 25px;
  cursor: pointer;
}

#services #range input {
  transform: rotate(90deg);
  position: absolute;
  top: 50%;
  right: calc((-0.8 * 50vh) - 12px);
  width: calc(0.8 * 100vh);
}

#services #range input:focus {
  outline: none;
}

#services #range input[type="range"] {
  -webkit-appearance: none;
  background: transparent;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 5%,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0) 95%
  );
  cursor: pointer;
}

#services #range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #ffffff;
}

#services #service-overlay {
  position: absolute;
  top: 65px;
  left: 4rem;
  z-index: 100;
  display: flex;
}

#services #service-overlay > div {
  cursor: pointer;
  margin-right: 15px;
}

#services #service-overlay > div .btn {
  width: 50px;
  height: 50px;
}

#services svg {
  width: 100%;
  height: 100%;
  fill: #fff;
  filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
}

#services #service-overlay .time.pause .pause {
  display: none;
}

#services #service-overlay .time:not(.pause) .play {
  display: none;
}

#services * {
  box-sizing: border-box;
}

#services #service-overlay .btn {
  position: relative;
  border: #fff solid 2px;
}

#services #service-overlay .btn svg .shape {
  fill: #fff;
  filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
}

/* ================================================ */

.intro-container {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  text-align: center;
  margin: 0 auto;
  right: 0;
  left: 0;
  z-index: 1;
}

.intro-container h3 {
  font-size: 59px;
  font-weight: 900;
  text-transform: capitalize;
  font-family: "Play", sans-serif;
}

.intro-container h4 {
  text-transform: uppercase;
  margin: 0;
  line-height: 28px;
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fancy-text {
  font-family: "Montserrat", sans-serif;
  max-width: 70%;
  margin: auto;
  font-size: 22px;
  line-height: 28px;
  margin: 1rem auto;
}

.button {
  position: relative;
  cursor: pointer;
  display: inline-block;
  text-transform: uppercase;
  font-family: 'Play', sans-serif;
  min-width: 300px;
  font-size: 1.5rem;
}
.button:hover .border {
  box-shadow: 0px 0px 10px 0px white;
}
.button:hover .border .left-plane,
.button:hover .border .right-plane {
  transform: translateX(0%);
}
.button:hover .text {
  color: #121212;
}
.button .border {
  border: 1px solid white;
  transform: skewX(-20deg);
  height: 80px;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  transition: 0.1s ease-out;
}
.button .border .left-plane,
.button .border .right-plane {
  position: absolute;
  background: white;
  height: 80px;
  width: 150px;
  transition: 0.15s ease-out;
}
.button .border .left-plane {
  left: 0;
  transform: translateX(-100%);
}
.button .border .right-plane {
  right: 0;
  transform: translateX(100%);
}
.button .text {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.15s ease-out;
}

.x-mark,
.services-button {
  top: 65px;
  left: 7rem;
  position: absolute;
  cursor: pointer;
  opacity: 0;
  z-index: 5;
}
.services-button {
    top: 145px;
    left: 4rem;
    opacity: 1;
}
.services-button a {
    position: relative;
    border: 2px solid #fff;
    background: #fff;
    color: #333;
    padding: 0.5rem;
    font-weight: 600;
    text-decoration: none;
}
.services-button a:hover {
    background: transparent;
    filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
    color: #fff;
    transition: 0.25s; 
}

.x-mark:hover .right {
  transform: rotate(-45deg) scaleY(1.2);
}
.x-mark:hover .left {
  transform: rotate(45deg) scaleY(1.2);
}
.x-mark .container {
  position: relative;
  width: 50px;
  height: 50px;
    filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
  border: 2px solid #fff;
}
.x-mark .left,
.x-mark .right {
  width: 3px;
  height: 100%;
  background: white;
  position: absolute;
  border-radius: 3px;
  transition: 0.15s ease-out;
  margin: 0 auto;
  left: 0;
  right: 0;
}
.x-mark .right {
  transform: rotate(-45deg);
}
.x-mark .left {
  transform: rotate(45deg);
}

.sky-container {
  position: absolute;
  opacity: 0;
  width: 100vw;
  height: 100vh;
}
.sky-container__left, .sky-container__right {
  display: inline-block;
  vertical-align: top;
  font-weight: bold;
}
.sky-container__left h2, .sky-container__right h2 {
  font-family: "brandon-grotesque", sans-serif;
  font-size: 26px;
  line-height: 26px;
  margin: 0;
}
@media screen and (min-width: 860px) {
  .sky-container__left h2, .sky-container__right h2 {
    font-size: 72px;
    line-height: 68px;
  }
}
.sky-container__left {
  margin-right: 5px;
}
.sky-container .thirty-one {
  letter-spacing: 4px;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}
/* ========== /SECTION SERVICES ========== */

/* ========== SECTION HERO ========== */
section#hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;

  h1 {
    text-align: center;
    font-size: 5em;
    font-weight: 900;

    & > span {
      display: block;
      opacity: 0;
      transition: opacity 0.3s ease;

      img {
        height: 140px;
      }

      #hero-gif-1 {
        border-radius: 50%;
        margin-left: -30%;
        height: 220px;
      }

      #hero-gif-2 {
        border-radius: 50%;
      }

      #hero-gif-3 {
        height: 220px;
      }

      &:nth-of-type(3) {
        font-family: "Lilita One", sans-serif;
        font-size: 2.5em;
        color: #3f1b81;
      }
    }
  }
}

.iconAnimation:after {
    display: block;
    width: 100px;
    height: 100px;
    background-image: linear-gradient(320deg, #ff20fb, #f424ff, #d42dff, #b139ff, #9742ff, #8d46ff);
    content: "";
    animation: d 5s linear infinite;
    margin-bottom: 1rem;
}

@keyframes d {
    from {
        filter: hue-rotate(0deg) brightness(1.5);
        transform: rotateZ(0deg);
        border-radius: 0;
    }
    50% {
        border-radius: 49%;
        filter: hue-rotate(180deg) brightness(1.5);
    }
    to {
        filter: hue-rotate(360deg) brightness(1.5);
        transform: rotateZ(360deg);
        border-radius: 0;
    }
}

.digital-services.second-part .underline-anim{
  position: relative;
  display: inline-block;
  color: #4E4575;
}

.digital-services.second-part .underline-anim::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:4px;
  background:#E07226;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .8s ease-out;
}

.digital-services.second-part.is-visible .underline-anim::after{
  transform:scaleX(1);
}
/* ========== /SECTION HERO ========== */

/* ============ SECTION CONTACT FORM =========== */

.content-section {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.animate_letters{
  height: 50vh;
  place-items: center;
  container-type: size;
  flex: 1;
  display: flex;
  width: 40%;
  justify-content: flex-end;
  align-items: center;
}

.animate_letters.contact-flex {
    flex-direction: column;
    gap: 1rem;
    font-weight: 500;
    text-align: center;
    height: fit-content;
}

.contact-us .container {
    position: relative;
    display: flex;
    font-size: min(.9cqh, .45cqw);
    --h: 110em;
    height: var(--h);
    width: calc(2*var(--h) - 5.8em);
}

.animate_letters .wrapper {
  position: absolute;
  height: 100%;
  width: unset;
  aspect-ratio: 1;
  display: grid;


  &:nth-child(2 of .wrapper) {
    right: 0;
    bottom: unset;
  }

}

.animate_letters .swirl {
  position: absolute;
  inset: 0;
  --dur: 10s;
  display: grid;
  align-items: center;
  justify-items: unset;
  animation: spin var(--dur) linear infinite;

  :nth-child(2 of .wrapper) & { animation-direction: reverse; }
}

.animate_letters span {
  position: absolute;
  width: 50%;
  height: unset;
  color: rgb(27, 0, 77);
  font-family: monospace;
  font-weight: bold;
  font-size: calc(var(--h)/10);
  rotate: calc(360deg/28*var(--nth)*var(--dir));
  animation: fade var(--dur) linear infinite;
  animation-delay: calc(-1*var(--dur)/28 * var(--nth));
  --glow: hsl(calc(360deg/28*var(--nth)) 100% 50%);
  text-shadow: 0 0 1em var(--glow), 0 0 .5em var(--glow), 0 0 .25em var(--glow);

  &:nth-child(1) { --nth: 1;}
  &:nth-child(2) { --nth: 2;}
  &:nth-child(3) { --nth: 3;}
  &:nth-child(4) { --nth: 4;}
  &:nth-child(5) { --nth: 5;}
  &:nth-child(6) { --nth: 6;}
  &:nth-child(7) { --nth: 7;}
  &:nth-child(8) { --nth: 8;}
  &:nth-child(9) { --nth: 9;}
  &:nth-child(10) { --nth: 10;}
  &:nth-child(11) { --nth: 11;}
  &:nth-child(12) { --nth: 12;}
  &:nth-child(13) { --nth: 13;}
  &:nth-child(14) { --nth: 14;}
  &:nth-child(15) { --nth: 15;}
  &:nth-child(16) { --nth: 16;}
  &:nth-child(17) { --nth: 17;}
  &:nth-child(18) { --nth: 18;}
  &:nth-child(19) { --nth: 19;}
  &:nth-child(20) { --nth: 20;}
  &:nth-child(21) { --nth: 21;}
  &:nth-child(22) { --nth: 22;}
  &:nth-child(23) { --nth: 23;}
  &:nth-child(24) { --nth: 24;}
  &:nth-child(25) { --nth: 25;}
  &:nth-child(26) { --nth: 26;}
  &:nth-child(27) { --nth: 27;}
  &:nth-child(28) { --nth: 28;}
  
  :nth-child(1 of .wrapper) & {
    left: 50%;
    text-align: end;
    transform-origin: 0% 50%;
    --dir: 1;
    animation-direction: reverse;
  }
  :nth-child(2 of .wrapper) & {
    right: 50%;
    text-align: start;
    transform-origin: 100% 50%;
    --dir: -1;
  }
}

@keyframes spin {
  100% { rotate: 360deg; }
}

@keyframes fade {
  0%, 10% { display: none; }
  55%, 100% { display: block; }
}

.animate_letters input {
  display: none;
}

.animate_letters .wrapper label {
  position: absolute;
  width: 20em;
  aspect-ratio: 1;
  place-self: center;
  transition: all .5s ease-in-out;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.animate_letters .col {
  width: 10px;
  position: relative;
  display: grid;
  transition: inherit;
}

.animate_letters .dot {
  width: 7em;
  aspect-ratio: 1;
  border-radius: 50%;
  transition: inherit;
  border: 4px solid;
  margin-block: 2px;

  &:nth-child(1) { --nDot: 0; }
  &:nth-child(2) { --nDot: 1; }
  &:nth-child(3) { --nDot: 2; }
  &:nth-child(4) { --nDot: 3; }
  &:nth-child(5) { --nDot: 4; }

  .wrapper label:hover & {
    filter: drop-shadow(0 0 1em var(--glo)) drop-shadow(0 0 .5em var(--glo));
    margin-block: -2px;
  }

}

.animate_letters .dot {
    .animate_letters .pauseBtn & {
        border-color: hsl(calc(30deg - 15deg * var(--nDot)) 100% 50%);
        --glo: red;
    }
}

.animate_letters .dot {
    .animate_letters .playBtn & {
        border-color: hsl(calc(120deg - 15deg * (4 - var(--nDot))) 100% calc(25% + 6.25% * (4 - var(--nDot))));
        --glo: #0b0;
    }
}

.animate_letters #play:not(:checked) ~ .container :is(.swirl, span) {
  animation-play-state: paused;
}

.animate_letters #play:checked ~ .container .playBtn,
.animate_letters #play:not(:checked) ~ .container .pauseBtn { scale: 0; }

.animate_letters .switchBox {
  position: absolute;
  place-self: end;
  margin: min(3.5cqw, 35px);
  display: grid;
  place-items: center;
  grid-template-columns: 1fr 2fr;
  gap: min(40px, 4cqw);
  transition: all .33s ease-in-out;

  & label {
    display: block;
    aspect-ratio: 1;
    border-radius: 50%;
    --shade: #fff;
    box-shadow: 0 0 0 min(1cqw, 10px) var(--shade), inset 0 0 0 min(1cqw, 10px) var(--shade);
    mix-blend-mode: lighten;
    transition: all .5s ease-in-out;
  }

  &:hover { gap: 0; }
}

.animate_letters .lowerCase { width: max(3cqw,35px);}
.animate_letters .upperCase { width: max(6cqw,70px); }

.animate_letters #case:checked ~ .switchBox .lowerCase,
.animate_letters #case:not(:checked) ~ .switchBox .upperCase { --shade: #555; }

.animate_letters #case:not(:checked) ~ .container span { text-transform: lowercase; }

@media (orientation: portrait) {
  .animate_letters .container {
    font-size: min(.9cqw,.51cqh);
    width: var(--h);
    height: calc(2*var(--h) - 11.5em);
  }

  .animate_letters .wrapper {
    width: 100%;
    height: unset;
    right: unset;
    bottom: 0;
  }

  .animate_letters .swirl {
    justify-items: center;
    align-items: unset;
  }

  .animate_letters span {
    height: 50%;
    width: unset;
    display: grid;

    :nth-child(1 of .wrapper) & {
      bottom: 50%;
      left: unset;
      text-align: end;
      transform-origin: 50% 100%;
      --dir: 1;
      animation-direction: reverse;
    }
    :nth-child(2 of .wrapper) & {
      top: 50%;
      right: unset;
      text-align: start;
      transform-origin: 50% 0%;
      --dir: -1;
      align-items: end;
    }
  }
}







#contactForm {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.form-contact-us {
    display: flex;
    width: 100%;
    gap: 2rem;
    align-items: center;
}

.namesSectionForm {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(45%, 1fr));
    gap: 1rem 2rem;
}

.content-text {
    width: 55%;
}

.form-item {
  position: relative;
}

.form-item label {
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #333;
  pointer-events: none;
  transition: all 0.3s ease;
}

.form-item input,
.form-item textarea {
  width: -webkit-fill-available;
  padding: 10px 6px 5px;
  border: none;
  border-bottom: 2px solid black;
  background: transparent;
  font-size: 18px;
  outline: none;
  resize: none;
  font-family: Arial, Helvetica, sans-serif;
}

.form-button {
  background-color: black;
  color: white;
  border: none;
  padding: 12px 0;
  border-radius: 50px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s;
  margin-top: 0.5rem;
}

/* ============== DIGITAL SERVICES STYLE ============== */

.digital-services {
  padding: 5rem 0 0;
  transition: all 1s;

  .headline{
    position: relative; 
    z-index: 1;
  }
}

.digital-services.second-part {

    .hero-container{
      width: 100%;
      display: flex;
      gap: 2rem 3rem;
      align-items: stretch;
      position: relative;
      z-index: 1;

      .hero-content {
        max-width: 100%;
        display: flex;
        width: 60%;
        flex-direction: column;
        justify-content: space-between;
        align-items: stretch;
        text-align: left;
        gap: 2rem;
      }

      .hero-visual {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 40%;

        .security-monitor {
          position: relative;
          width: 100%;
          max-width: fit-content;
          transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
      }

      .hero-stats {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;

        .stat-card {
            background: #1d293b;
            border: 2px solid #1d293b;
            border-radius: 16px;
            padding: 0.5rem 1rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0.6rem;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 10px 30px rgba(166, 133, 189, 0.3), 0 0 40px rgba(166, 133, 189, 0.2);
            position: relative;
            overflow: hidden;
            backdrop-filter: blur(10px);

            .stat-icon {
              width: 40px;
              height: 40px;
              display: flex;
              align-items: center;
              justify-content: center;
              background: linear-gradient(135deg, rgba(166, 133, 189, 0.2) 0%, rgba(166, 133, 189, 0.2) 100%);
              border: 2px solid #ffffff;
              border-radius: 12px;
              color: #fff;
              font-size: 1.3rem;
              flex-shrink: 0;
              position: relative;
              transition: all 0.3s ease;
          }
          .stat-content {
            flex: 1;

            .stat-number {
                font-family: "Play";
                font-size: 20px;
                font-weight: 900;
                color: #fff;
                margin-bottom: 0.3rem;
                position: relative;
                z-index: 1;
            }

            .stat-label {
                font-family: 'Play', sans-serif;
                font-size: 15px;
                font-weight: 600;
                color: #94a3b8;
                position: relative;
                z-index: 1;
                transition: color 0.3s ease;
            }
          }
          .stat-glow {
              position: absolute;
              top: 0;
              left: -100%;
              width: 100%;
              height: 100%;
              background: linear-gradient(90deg, transparent, rgba(0, 189, 255, 0.2), transparent);
              transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
              z-index: 0;
          }
        }

        .stat-card::after {
          content: '';
          position: absolute;
          top: -50%;
          left: -50%;
          width: 200%;
          height: 200%;
          background: radial-gradient(circle, rgba(0, 189, 255, 0.1) 0%, transparent 70%);
          opacity: 0;
          transition: opacity 0.4s ease;
        }

        .stat-card:hover {
          border-color: #ffffff;
          transform: translateY(-5px) scale(1.02);
        }

        .stat-card:hover .stat-icon {
          background: linear-gradient(135deg, rgba(0, 189, 255, 0.3) 0%, rgba(0, 189, 255, 0.3) 100%);
          transform: rotate(5deg) scale(1.1);
          box-shadow: 0 5px 20px rgba(0, 189, 255, 0.4);
        }

        .stat-card:hover .stat-glow {
          left: 100%;
        }
        .stat-card:hover::after {
          opacity: 1;
        }
      }
    }
}

.monitor-frame {
  position: relative;
  background: #1d293b;
  border: 2px solid #1d293b;
  border-radius: 10px;
  padding: 1rem;
  box-shadow: 0 0 30px rgba(255, 107, 157,0.3);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);

  .monitor-screen {
    background: #1d293b;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid #00bdff;
    box-shadow: inset 0 0 30px rgba(0, 189, 255, 0.2);

    .screen-content {
      padding: 0.5rem;

      .screen-header {
        background: #0f1419;
        padding: 0.6rem 0.8rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.8rem;
        border-bottom: 1px solid #1e293b;

        .screen-dots {
            display: flex;
            gap: 0.4rem;
        }

        .screen-dots span {
          width: 10px;
          height: 10px;
          border-radius: 50%;
          background: #64748b;
        }

        .screen-dots span:nth-child(1) {
            background: #ff4757;
        }
        .screen-dots span:nth-child(2) {
            background: #ffd43b;
        }
        .screen-dots span:nth-child(3) {
            background: #51cf66;
        }
        .screen-title {
            color: #e2e8f0;
            font-family: "Play";
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 1px;
        }
      }
      .screen-body {

        .dashboard-item {
          padding: 1rem;
          background: #0f1419;
          border: 1px solid #0f1419;
          border-radius: 6px;
          transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
          height: auto;

          .dashboard-label {
            color: #94a3b8;
            font-size: 0.85rem;
            margin-bottom: 0.5rem;
            font-family: "Play";
          }
          .dashboard-value {
            font-family: "Play";
            font-size: 0.9rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
          }
          .dashboard-value.active {
            color: #fff;
            font-size: 1.5rem;
          }
          .dashboard-bar {
            height: 6px;
            background: #050810;
            border-radius: 3px;
            overflow: hidden;

            .dashboard-progress {
              height: 100%;
              background: linear-gradient(135deg, #00bdff 0%, #9600ff 80%);
              border-radius: 3px;
              box-shadow: 0 0 10px #A685BD;
              animation: progressPulse 2s ease-in-out infinite;
            }
          }
        }
      }
    }
  }
  .monitor-stand {
    width: 120px;
    height: 20px;
    background: #0f1419;
    border: 2px solid #1e293b;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin: 0 auto;
    position: relative;
  }
}

.scree-header-right svg .shape {
    fill: #fff;
    filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
}

.scree-header-left {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.btn-play-slider{
  display: none;
}

.btn-play-slider svg {
    width: 23px;
    fill: #fff;
}

.btn-pause-slider:hover,
.btn-play-slider:hover {
    filter: drop-shadow(0 0px 5px rgba(255, 255, 254, 1));
    transform: scale(1.1);
}

.client-testimonial-carousel p {
    font-size: 23px;
    font-weight: 500;
}

.client-testimonial-carousel .security-monitor {
    margin: 0 0.5rem;
}

.hero-badge h4{
  font-family: 'Play';
  font-size: 49px;
  font-weight: 900;
  color: #333333;
}

.hero-badge p {
    line-height: 25px;
    letter-spacing: 0.5px;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
}
.hero-badge .description-badge{
  margin-top: 0.5rem;
}

.hero-badge .sub-headline{
  text-transform: uppercase;
}

.digital-services.gradient-bg h1,
.section-projects h4,
.section-text h4,
.testimonial h4,
.portfolio h4,
.contact h4 {
  display: block;
  font-size: 49px;
  font-weight: 900;
  margin-top: 2rem;
  text-align: center;
  margin: auto;
  font-family: "Play", sans-serif;
  color: #ffffff;
}

.digital-services.gradient-bg h1{
  font-size: 59px;
}

.section-text h4,
.testimonial h4,
.portfolio h4,
.contact h4{
  color: #333333;
}

/* ================================ */

.intro .text {
  display: none;
}
.intro.go .text {
  font-family: Arial, sans-serif;
  font-size: 20px;
  text-transform: uppercase;
  display: block;
}
.intro.go .text-stroke {
  fill: none;
  stroke: #000;
  stroke-width: 2.8px;
  stroke-dashoffset: -900;
  stroke-dasharray: 900;
  stroke-linecap: butt;
  stroke-linejoin: round;
  -webkit-animation: dash 2.5s ease-in-out forwards;
          animation: dash 2.5s ease-in-out forwards;
}
.intro.go .text-stroke:nth-child(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.intro.go .text-stroke:nth-child(3) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.intro.go .text-stroke-2 {
  stroke: #f6bdfa;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.intro.go .text-stroke:nth-child(5) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.intro.go .text-stroke:nth-child(6) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

@-webkit-keyframes dash {
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes dash {
  100% {
    stroke-dashoffset: 0;
  }
}
.reload {
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: #000;
  border: none;
  border-radius: 20px;
  outline: none !important;
  font-size: 11px;
  line-height: 1.5;
  padding: 8px 12px;
  text-transform: uppercase;
  z-index: 10;
  cursor: pointer;
  box-shadow: 0 6px 7px #350e4c;
  transition: all 0.1s cubic-bezier(0.67, 0.13, 0.1, 0.81);
}
.reload:hover {
  box-shadow: 0 4px 4px #350e4c;
  transform: translateY(1px);
}
.reload:active {
  box-shadow: 0 1px 2px #244B94;
  transform: translateY(2px);
}
.reload svg {
  vertical-align: middle;
  position: relative;
  top: -2px;
}

:root {
  --color-bg1: rgb(108, 0, 162);
  --color-bg2: rgb(0, 17, 82);
  --color1: 18, 113, 255;
  --color2: 221, 74, 255;
  --color3: 100, 220, 255;
  --color4: 200, 50, 50;
  --color5: 180, 180, 50;
  --color-interactive: 140, 100, 255;
  --circle-size: 80%;
  --blending: hard-light;
}

@-webkit-keyframes moveInCircle {
  0% { transform: rotate(0deg);}
  50% { transform: rotate(180deg);}
  100% { transform: rotate(360deg);}
}

@keyframes moveInCircle {
  0% { transform: rotate(0deg);}
  50% { transform: rotate(180deg);}
  100% { transform: rotate(360deg);}
}
@-webkit-keyframes moveVertical {
  0% {transform: translateY(-50%);}
  50% {transform: translateY(50%);}
  100% {transform: translateY(-50%);}
}
@keyframes moveVertical {
  0% {transform: translateY(-50%);}
  50% {transform: translateY(50%);}
  100% {transform: translateY(-50%);}
}
@-webkit-keyframes moveHorizontal {
  0% {transform: translateX(-50%) translateY(-10%);}
  50% {transform: translateX(50%) translateY(10%);}
  100% {transform: translateX(-50%) translateY(-10%);}
}
@keyframes moveHorizontal {
  0% {transform: translateX(-50%) translateY(-10%);}
  50% {transform: translateX(50%) translateY(10%);}
  100% {transform: translateX(-50%) translateY(-10%);}
}
.gradient-bg {
  width: 100vw;
  max-height: 100vh;
  position: relative;
  overflow: hidden;
  background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
  top: 0;
  left: 0;
  overflow: hidden;
}
.gradient-bg .svgBk {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.gradient-bg .gradients-container {
  filter: url(#goo) blur(40px);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.gradient-bg .g1 {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: center center;
  -webkit-animation: moveVertical 30s ease infinite;
          animation: moveVertical 30s ease infinite;
  opacity: 1;
}
.gradient-bg .g2 {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: calc(50% - 400px);
  animation: moveInCircle 20s reverse infinite;
  opacity: 1;
}
.gradient-bg .g3 {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2 + 200px);
  left: calc(50% - var(--circle-size) / 2 - 500px);
  transform-origin: calc(50% + 400px);
  -webkit-animation: moveInCircle 40s linear infinite;
          animation: moveInCircle 40s linear infinite;
  opacity: 1;
}
.gradient-bg .g4 {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: calc(50% - 200px);
  -webkit-animation: moveHorizontal 40s ease infinite;
          animation: moveHorizontal 40s ease infinite;
  opacity: 0.7;
}
.gradient-bg .g5 {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: calc(var(--circle-size) * 2);
  height: calc(var(--circle-size) * 2);
  top: calc(50% - var(--circle-size));
  left: calc(50% - var(--circle-size));
  transform-origin: calc(50% - 800px) calc(50% + 200px);
  -webkit-animation: moveInCircle 20s ease infinite;
          animation: moveInCircle 20s ease infinite;
  opacity: 1;
}
.gradient-bg .interactive {
  position: absolute;
  background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%) no-repeat;
  mix-blend-mode: var(--blending);
  width: 100%;
  height: 100%;
  top: -50%;
  left: -50%;
  opacity: 0.7;
}

/* =================================== */

.section-projects {
  background-color: #ffffff;
  color: #333333;
  transition: background-color 2s ease, color 2s ease;
}

.section-projects.is-active {
  background-color: #1b004d;
  color: #ffffff;
}

.digital-services .footer-section{
  margin-top: 1rem;
}

.section-projects .headline {
    margin-bottom: 1.5rem;
}

.section-projects .footer-section{
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  margin-top: 2rem;
}

.digital-services.gradient-bg::after {
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: rgb(255 255 255 / 20%);
    z-index: -1;
}

.btnProjects {
    display: flex;
    gap: 1rem;
}

:root {
  --transition: cubic-bezier(0.1, 0.1, 0, 1);
}

.digital-services .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30vh;
}

.digital-services .imgs-parent {
  display: flex;
  gap: 0.4rem;
  perspective: 130rem;
  max-width: 1440px;
  width: 85vw;
  margin: auto;
  padding: 3rem 0;
}

.digital-services .img {
  min-width: 5rem;
  width: 8rem;
  height: 40vh;
  max-height: 400px;
  cursor: pointer;
  transition: all 1s ease;
  will-change: transform, filter;
  position: relative;
  border-radius: 8px;
  box-shadow: 0 0 30px rgb(255 255 255 / 30%), 0 0 60px rgb(255 255 255 / 10%);
  border: 2px solid #fff;
}

.digital-services .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.digital-services .content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  color: white;
  text-align: center;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
}

.digital-services .img .content .complete,
.digital-services .img .content .partial {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: none;
}

.digital-services h3 {
  font-size: 20px;
  margin-bottom: 5px;
  font-weight: bold;
}

.digital-services .img .complete,
.digital-services .img p {
  opacity: 0;
}

.digital-services .img p{
  font-size: 15px;
  font-weight: 500;
  margin: 1rem 1rem;
  transition: text-shadow .3s ease, color .3s ease;
  text-shadow: rgba(0, 0, 0, 0.5) 0px 2px 3px;
}

.digital-services .img.open p,
.digital-services .img:hover p{
  opacity: 1;
  transition: opacity 1s ease;
}

.digital-services .btn:hover {
  background-color: #005bb5;
}

.digital-services .img:hover {
  transform: translateZ(17.375rem);
  filter: grayscale(0) brightness(0.9);
}

.digital-services .img:hover .content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.digital-services .img::before,
.digital-services .img::after {
  content: "";
  position: absolute;
  width: 1.25rem;
  height: 100%;
  right: -1.25rem;
}

.digital-services .img::after {
  left: -1.25rem;
}

.digital-services .img:hover + * {
  transform: translateZ(14.77rem) rotateY(25deg);
  filter: grayscale(0.2) brightness(0.9);
  z-index: -1;
}

.digital-services .img:hover + * + * {
  transform: translateZ(9.73rem) rotateY(20deg);
  filter: grayscale(0.4) brightness(0.8);
  z-index: -2;
}

.digital-services .img:hover + * + * + * {
  transform: translateZ(4.17rem) rotateY(25deg);
  filter: grayscale(0.6) brightness(0.7);
  z-index: -3;
}

.digital-services .img:hover + * + * + * + * {
  transform: translateZ(1.1rem) rotateY(10deg);
  filter: grayscale(0.8) brightness(0.6);
  z-index: -4;
}

/* LADO IZQUIERDO */

.digital-services .img:has(+ :hover) {
  transform: translateZ(14.77rem) rotateY(-25deg);
  filter: grayscale(0.2) brightness(0.9);
}

.digital-services .img:has(+ * + :hover) {
  transform: translateZ(9.73rem) rotateY(-20deg);
  filter: grayscale(0.4) brightness(0.8);
}

.digital-services .img:has(+ * + * + :hover) {
  transform: translateZ(4.17rem) rotateY(-32deg);
  filter: grayscale(0.6) brightness(0.7);
}

.digital-services .img:has(+ * + * + * + :hover) {
  transform: translateZ(1.1rem) rotateY(-5deg);
  filter: grayscale(0.8) brightness(0.6);
}

.digital-services .open,
.digital-services .img:hover {
  width: 35vw;
  filter: inherit;
  z-index: 1;
}

#digital-complete-output {
  font-size: 2rem;
  margin: 2rem 0 3rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  z-index: 1;
  color: #ffffff;
}

#digital-complete-output .char {
  opacity: 0;
  display: inline-block;
  transition: opacity 50ms ease;
  will-change: opacity;
}

#digital-complete-output .char.char-in {
  opacity: 1 !important;
}

#digital-complete-output {
  transition: color 250ms ease;
}


/* Button */
.digital-services .btn {
  display: inline-block;
  font-family: "Montserrat", Sans-serif;
  padding: 4px 10px;
  background-color: transparent;
  background-image: linear-gradient(140deg, #0071e3 42%, #25409e 100%);
  color: white;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  fill: #000000;
  border-radius: 15px;
  text-align: center;
  transition: background-color 0.3s ease, opacity 0.3s ease,
    visibility 0.3s ease;
  opacity: 0;
  visibility: hidden;
  margin-bottom: 8px;
  text-decoration: none !important;
}

.imgs-parent .img:nth-child(3n + 2) {
  position: relative;
  top: 1rem;
}

.imgs-parent .img:nth-child(3n + 3) {
  position: relative;
  top: 2rem;
}

.section-projects h4 {
  margin: 0;
  color: inherit;
}

/* ============ SECTION WORKS =========== */

:root {
  --color-dark: #202330;
  --color-white: #fff;
}

.l-cards {
  margin: 0 auto;
  flex: 1;
  width: 100%;
}

.c-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 20px;
  width: 100%;
  height: 90vh;
  min-height: 600px;
  background-position: center 30%;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 70px;

  .c-card__description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem;
    backdrop-filter: blur(7px);
    border-radius: 70px 0 0 70px;
    align-items: flex-start;
    background: rgb(0 0 0 / 40%);

    i.fas.fa-certificate{
      color: #fff;
      font-size: 3rem;
    }

    .c-card__tagline {
      font-size: 16px;
      font-weight: 600;
      text-transform: uppercase;
    }

    .c-card__excerpt {
      font-size: 16px;
      line-height: 1.6;
    }

    p {
      color: #fff;
      text-align: left;
      font-size: 1.5rem;
      line-height: 40px;
    }

  }

  .c-card__figure {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;

    img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

        .c-card__cta {
      display: flex;
      align-items: flex-start;
      gap: 50px;
      margin-top: 32px;
      flex-direction: column;

      a {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: max-content;
        padding: 24px 44px;
        border: 2px solid #fff;
        color: #fff;
        font-size: 30px;
        text-decoration: none;
        font-weight: 600;
        font-family: "Play", sans-serif;
        border-radius: 50px;
        isolation: isolate;
        background-color: rgba(0, 0, 0, 0.6);
        color: rgba(255, 255, 255, 1);
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
        font-size: 1.25rem;
        box-shadow: 0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1);
        text-align: center;
        overflow: hidden;
        transition: all 0.5s ease;

        &::before {
          content: '';
          position: absolute;
          top: -50%;
          left: -100%;
          width: 200%;
          height: 200%;
          background: linear-gradient(
            0deg, 
            transparent, 
            transparent 30%, 
            rgba(0,255,255,1)
          );
          transform: rotate(-45deg);
          transition: all 0.5s ease;
          opacity: 0;
        }

        &:hover {
          transform: scale(1.05);
          box-shadow: 0 0 20px rgba(0,255,255,0.5);
        }

        &:hover::before {
          opacity: 1;
          transform: rotate(-45deg) translateY(250%);
        }
      }
    }
  }

  .container-footer-btn {
      position: absolute;
      width: 100%;
      bottom: 40px;
      text-align: center;
  }
}

#single-service #technologies-about .description-headline {
  max-width: 90%;
  text-wrap-style: pretty;
}

#single-service #technologies-about .description-headline.width-100 {
  max-width: 100%;
  text-wrap-style: pretty;
}

.c-card__description.reverse {
  border-radius: 0 70px 70px 0;
}

.min {
  font-size: 20px;
  font-weight: 400;
  line-height: 34px;
}

.headline p {
  max-width: 85%;
  margin: 1rem auto 0.5rem;
  line-height: 24px;
  letter-spacing: 0.5px;
  text-align: center;
  font-size: 18px;
}

.c-card__title {
    font-size: 80px;
    color: #fff;
    font-weight: bold;
    font-family: "Play", sans-serif;
    text-align: left;
    padding: 1rem 0;
    width: 100%;
    z-index: 2;
}

.headline .sub-headline {
  text-transform: uppercase;
  margin: 0;
  line-height: 28px;
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.footer-section {
  display: flex;
}

.contact-us .footer-section {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.footer-section .radio-group label {
    font-size: 16px;
}

.btn-section:hover {
  background: transparent;
}

.btn-section:hover::before {
  width: 100%;
}

.btn-section.btn-hover:hover .btn-text {
  margin-right: 30px;
  color: #dd7d00;
}
.content-popup .btn-section.btn-hover:hover .btn-text {
    color: #333 !important;
    mix-blend-mode: normal;
}

.btn-section.btn-hover:hover::before {
  background: url("https://res.cloudinary.com/damqsjjsn/image/upload/v1641758792/Icon_ionic-ios-arrow-back_rakyvb.svg")
      no-repeat,
    var(--yellow-bg);
  background-position: center;
  border-radius: 23px;
  width: 3rem;
}
#digital-services-cta-button:hover::before {
    width: 15%;
}
.expanded {
  width: 200%;
  padding-bottom: 200%;
  height: auto;
}

.color--blue {
  background-color: #2979ff;
  transition-delay: 0.25s;
}

.color--orange {
  background-color: #ff5bff;
  transition-delay: 0.5s;
}

.color--pink {
  background-color: #3fff38;
  transition-delay: 0.75s;
}

.color--white {
  background-color: #fdc100;
  transition-delay: 1s;
}

.digital-services .footer-section {
  justify-content: center;
}

.form-contact-us .headline h4 {
  font-size: 49px;
  font-weight: 900;
  font-family: 'Play';
}

.form-contact-us .headline .sub-headline {
  font-size: 22px;
  text-align: left;
  line-height: 28px;
}

.form-contact-us .headline .description-headline {
  max-width: 100%;
  text-align: left;
}

.headline span {
  display: block;
}

.digital-services .description-headline {
  margin-bottom: 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
}

#digital-services-cta-button {
  width: unset;
  padding-left: 3rem;
  padding-right: 3rem;
}

  #service-start-wrapper #service-start svg {
    animation: float 3s ease-in-out infinite;
    will-change: transform;
    filter: drop-shadow(0 4px 10px rgba(255, 255, 255, 1.4));
    position: relative;
    top: 0.3;
  }

  @keyframes float {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-15px); }
    100% { transform: translateY(0); }
  }

  #service-popup-close {
  height: 50px;
  .inner {
    display: block;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    &:before {
      content: "";
      position: absolute;
      height: 4px;
      width: 20px;
      background-color: #fff;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%) rotate(-45deg);
      transition: ease-out .2s all;
    }
    &:after {
      content: "";
      position: absolute;
      height: 4px;
      width: 20px;
      background-color: #fff;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      transition: ease-out .2s all;
    }
  }
}

/* GLITCH EFFECT ON TEXT */

.features-list li.glitchEffect::before,
.features-list li.glitchEffect::after{
  content: attr(data-text);
  position: absolute;
  inset: 0;
  padding: inherit;             /* mantiene mismo padding */
  border-radius: inherit;       /* respeta esquinas */
  pointer-events: none;
  opacity: 0;                   /* apagado por defecto */
  clip-path: inset(0 0 0 0);
}

/* Colores RGB */
.features-list li.glitchEffect::before{
  text-shadow: 2px 0 #ffffff;
  transform: translateX(-1px);
}

.features-list li.glitchEffect::after{
  text-shadow: -2px 0 #ffffff;
  transform: translateX(1px);
}

/* Solo se activa cuando el LI tiene .is-glitching */
.features-list li.glitchEffect.is-glitching::before{
  opacity: 1;
  animation: glitchSlice1 .45s steps(2,end) infinite;
}

.features-list li.glitchEffect.is-glitching::after{
  opacity: 1;
  animation: glitchSlice2 .55s steps(2,end) infinite;
}

/* Animaciones (cortan “tiras”) */
@keyframes glitchSlice1{
  0%   { clip-path: inset(10% 0 70% 0); transform: translate(-2px,-1px); }
  20%  { clip-path: inset(55% 0 25% 0); transform: translate(2px,0); }
  40%  { clip-path: inset(30% 0 45% 0); transform: translate(-3px,1px); }
  60%  { clip-path: inset(70% 0 10% 0); transform: translate(3px,-1px); }
  80%  { clip-path: inset(20% 0 60% 0); transform: translate(-2px,0); }
  100% { clip-path: inset(0 0 0 0);     transform: translate(0,0); }
}

@keyframes glitchSlice2{
  0%   { clip-path: inset(65% 0 15% 0); transform: translate(2px,0); }
  20%  { clip-path: inset(15% 0 70% 0); transform: translate(-2px,1px); }
  40%  { clip-path: inset(40% 0 35% 0); transform: translate(4px,-1px); }
  60%  { clip-path: inset(5% 0 80% 0);  transform: translate(-3px,0); }
  80%  { clip-path: inset(50% 0 25% 0); transform: translate(2px,1px); }
  100% { clip-path: inset(0 0 0 0);     transform: translate(0,0); }
}

.section-text {
    padding: 5rem 0 0;
}

/* TESTIMONIAL CARDS */

.testimonial {
    padding: 5rem;
    padding-top: 3rem;
}

.testimonial:before {
    position: absolute;
    left: 0rem;
    top: -1rem;
    width: 6rem;
    height: 6rem;
    background-image: linear-gradient(320deg, #ff20fb, #f424ff, #d42dff, #b139ff, #9742ff, #8d46ff);
    content: "";
    animation: d 5s linear infinite;
    margin-bottom: 1rem;
}

.testimonial .description-headline {
    margin: 1rem auto 1.5rem;
}

.testimonial .animate-title {
    margin-bottom: 2rem;
}

.testimonial .monitor-screen,
.testimonial .dashboard-item,
.testimonial .screen-header {
  background: #fff !important;
  box-shadow: none;
}

.testimonial .monitor-screen{
  border-color: #1d293b !important;
  box-shadow: none !important;
}

.testimonial .monitor-frame:hover {
  border-color: #1d293b !important;
  box-shadow: none !important;
}

.testimonial .screen-title,
.testimonial .dashboard-value.active {
  color: #0f1419 !important;
}

.testimonial .dashboard-item{
  border: none !important;
}

.hero-visual h4 {
  font-size: 15px;
  line-height: 18px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 1rem;
  font-family: 'Montserrat';
  line-height: 20px;
}

.hero-visual p {
    font-size: 0.6rem;
    color: #e2e8f0;
}

#single-service .cert-card {
  background-color: #fff;
    color: #333;
}

.paragraph-about {
    line-height: 24px;
    font-size: 18px;
}

.pp-toc {
    position: sticky;
    top: 4rem;
}

#single-service .cert-card.cert2 {
    width: 50%;
}

.pp-container {
      max-width: 1440px;
      margin: auto;
      padding: 3rem 4rem;
  }

  .pp-hero{
    padding: clamp(44px, 7vw, 90px) 0 clamp(26px, 4vw, 44px);
    border-bottom: 1px solid var(--pp-border);
  }

  .pp-eyebrow{
    margin: 0 0 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .8rem;
    color: var(--pp-muted);
  }

  .pp-title{
    margin: 0 0 10px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    color: var(--pp-title);
  }

  .pp-updated{
    margin: 0 0 14px;
    color: var(--pp-muted);
  }

  .pp-intro{
    margin: 0;
    max-width: 75ch;
    color: var(--pp-text);
    line-height: 1.7;
  }

  .pp-grid{
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: clamp(18px, 3vw, 28px);
    align-items: start;
  }

  .pp-card{
    background: var(--pp-panel);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    padding: 18px 18px;
    box-shadow: var(--pp-shadow);
    position: sticky;
    top: 18px;
  }

  .pp-card-title{
    margin: 0 0 12px;
    font-size: 1.05rem;
    color: var(--pp-title);
  }

  .pp-nav{
    display: grid;
    gap: 10px;
  }

  .pp-nav a{
    color: var(--pp-muted);
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid transparent;
    background: rgba(255,255,255,.03);
    font-size: 18px;
    font-weight: 500;
  }

  .pp-nav a:hover{
    color: var(--pp-title);
    background: rgba(0,0,0,.08);
  }

  .pp-content{
    background: rgba(255,255,255,.03);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius);
    box-shadow: var(--pp-shadow);
  }

  .pp-section{
    padding: 8px 0 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .pp-section:last-of-type{
    border-bottom: 0;
  }

  .pp-content h2{
    margin: 8px 0 10px;
    font-size: 1.45rem;
    color: var(--pp-title);
  }

  .pp-content h3{
    margin: 18px 0 8px;
    line-height: 24px;
    font-size: 18px;
    color: var(--pp-title);
  }

  .pp-content p{
    margin: 10px 0;
    line-height: 24px;
    font-size: 18px;
    color: var(--pp-text);
  }

  .pp-content ul{
    margin: 10px 0 12px;
    padding-left: 35px;
    font-size: 18px;
    line-height: 24px;
    list-style: disc;
  }

  .pp-content li{
    margin: 6px 0;
    color: var(--pp-text);
  }

  .pp-link{
    color: var(--pp-title);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
  }

  .pp-link:hover {
      color: rgb(27, 0, 77);
  }

  .pp-contact-card{
    margin-top: 12px;
    padding: 16px 16px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
  }

  .pp-contact-name{
    margin-top: 0;
  }

  .pp-footer{
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: var(--pp-muted);
  }

/* ===============================
         STYLE FOOTER 
================================== */

.mg-t{
  margin-top: 2rem;
}

footer {
  background: rgb(27, 0, 77);
  color: #fff;
}

footer a {
    display: flex;
    text-decoration: none;
    font-size: 18px;
    color: #fff;
}

footer a .label {
  display: inline-block;
  min-width: 3.5rem;
  color: #9ca3af;
}

.footer-top {
  padding: 3rem 4rem 1rem;
}

.row.gy-4 {
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
}

.content-footer-bottom {
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 18px;
}

.col-md-3 {
    width: fit-content;
    flex: 1;
}

  .col-md-4 {
    width: 30%;
}

.small, small {
    font-size: 0.7rem;
}

.footer-title {
  color: #fff;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
  margin-top: 0.9rem;
  font-weight: bold;
}

footer ul li {
  margin-bottom: .3rem;
}

footer a:hover {
  color: rgb(99, 102, 241);
}

.footer-brand {
  font-weight: 600;
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 1.25rem ;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 1.5rem 5rem;
  font-size: .85rem;
}

.social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  margin-left: .5rem;
  transition: background .25s ease, transform .25s ease;
}

.social a:hover {
  background: var(--brand);
  transform: translateY(-3px);
  color: #fff;
}

.email-selector,
.address-content {
    display: flex;
    gap: 0.3rem;
}

.radio-options {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.radio-options input {
  appearance: none;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}

.radio-options input:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: rgb(0, 189, 255);
  border-radius: 50%;
}

.list-unstyled .label {
    color: rgb(211 212 255);
}

.item-footer {
    margin-top: 2.5rem;
}

.list-unstyled {
    font-weight: 400;
    font-size: 18px;
}

.footer-contact {
    max-width: 100%;
}

.footer-form input {
    padding: 0.4rem 1rem;
    font-size: 18px;
    border-radius: 5px;
    border: none;
    width: 100%;
    font-family: 'Montserrat';
    font-weight: 500;
}

.two-columns,
.radio-group {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.radio-group label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 18px;
}

.form-msg { margin: 0; font-size: 18px; }
.form-msg.is-ok { color: #fff; }
.form-msg.is-err { color: #ff9c9c; }

#footerFormBtn {
    margin-top: 1rem;
    font-size: 18px;
}

.form-msg{
  margin-top: 1rem;
}

#contactForm .form-msg{
  color: #333;
  margin-top: 0;
}

#footerForm p {
    width: 100%;
}

.radio-group {
    flex-wrap: wrap;
}
/* ===============================
         END STYLE FOOTER 
================================== */