:root {
  --bg: #050505;
  --text: #f8fafc;
  --muted: #a8b2c3;
  --glass: rgba(255, 255, 255, 0.07);
  --border: rgba(255, 255, 255, 0.13);
  --gradient: linear-gradient(
    135deg,
    #87ceeb,
    #2563eb,
    #172554,
    #7c3aed,
    #a855f7,
    #050505
  );
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  overflow-x: hidden;
}

.page-bg {
  position: fixed;
  inset: 0;
  z-index: -3;
  background: var(--gradient);
  background-size: 300% 300%;
  animation: gradientMove 16s ease infinite;
  opacity: 0.82;
}

.page-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 15% 15%,
      rgba(135, 206, 235, 0.22),
      transparent 28%
    ),
    radial-gradient(
      circle at 80% 20%,
      rgba(168, 85, 247, 0.22),
      transparent 30%
    ),
    rgba(2, 6, 23, 0.68);
  backdrop-filter: blur(30px);
}

@keyframes gradientMove {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

.navbar {
  background: rgba(5, 5, 5, 0.45);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.navbar-brand {
  font-weight: 800;
  letter-spacing: -0.04em;
  color: white !important;
  font-size: 1.35rem;
}

.brand-dot {
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 50%;
  background: linear-gradient(135deg, #87ceeb, #a855f7);
  box-shadow: 0 0 22px rgba(168, 85, 247, 0.8);
  margin-right: 8px;
}

.nav-link {
  color: #cbd5e1 !important;
  margin: 0 5px;
  transition: 0.25s;
}

.nav-link:hover {
  color: white !important;
}

.btn-gradient {
  color: white;
  border: 0;
  font-weight: 700;
  border-radius: 12px;
  padding: 12px 20px;
  background: linear-gradient(135deg, #2563eb, #7c3aed, #a855f7);
  /* box-shadow: 0 12px 35px rgba(124, 58, 237, 0.28); */
  transition: 0.25s;
}

.btn-gradient:hover {
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(124, 58, 237, 0.42);
}

.hero {
  min-height: 88vh;
  /* display: flex;
  align-items: center; */
  padding: 7px 0 0px;
}

.badge-soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #dbeafe;
  font-size: 0.85rem;
  backdrop-filter: blur(15px);
}

.hero h1 {
  font-size: clamp(3rem, 7vw, 6.8rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
  font-weight: 850;
  margin: 24px 0;
}

.gradient-text {
  background: linear-gradient(90deg, #fff, #87ceeb, #c4b5fd, #a855f7);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-copy {
  max-width: 680px;
  color: #c4cedc;
  font-size: 1.12rem;
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.btn-outline-glass {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: white;
  border-radius: 12px;
  padding: 12px 20px;
  font-weight: 700;
  backdrop-filter: blur(12px);
}

.btn-outline-glass:hover {
  color: white;
  background: rgba(255, 255, 255, 0.12);
}

/* =========================================
   HERO IMAGE SLIDER
========================================= */

.hero-slider-wrapper {
  margin-top: 70px;
  position: relative;
}

.heroSwiper {
  width: 100%;
  overflow: hidden;
  /* border-radius: 28px; */
}

.hero-slide {
  position: relative;
  height: 520px;
  width: 100%;
  overflow: hidden;
  /* border-radius: 28px; */
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  box-shadow:
    0 35px 100px rgba(0, 0, 0, 0.45),
    0 0 80px rgba(124, 58, 237, 0.15);
}

.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  transition:
    transform 1.2s ease,
    filter 1.2s ease;
}

.swiper-slide-active .hero-slide img {
  transform: scale(1.06);
}

/* Dark + gradient overlay */

.slide-overlay {
  position: absolute;
  inset: 0;

  background: linear-gradient(
    90deg,
    rgba(2, 6, 23, 0.92) 0%,
    rgba(2, 6, 23, 0.68) 38%,
    rgba(2, 6, 23, 0.18) 75%,
    rgba(2, 6, 23, 0.35) 100%
  );
}

/* Purple/blue glow */

.slide-overlay::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 20% 40%,
      rgba(37, 99, 235, 0.35),
      transparent 35%
    ),
    radial-gradient(
      circle at 80% 70%,
      rgba(168, 85, 247, 0.25),
      transparent 35%
    );
}

/* Slide text */

.slide-content {
  position: absolute;
  z-index: 3;

  left: 7%;
  top: 50%;

  transform: translateY(-50%);

  max-width: 570px;
}

.slide-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 14px;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.1);

  border: 1px solid rgba(255, 255, 255, 0.16);

  backdrop-filter: blur(15px);

  color: #dbeafe;

  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.slide-content h3 {
  margin-top: 20px;
  margin-bottom: 15px;

  font-size: clamp(2rem, 4vw, 3.6rem);

  line-height: 1;

  letter-spacing: -0.055em;

  font-weight: 850;

  color: white;
}

.slide-content p {
  max-width: 500px;

  color: #cbd5e1;

  line-height: 1.75;

  margin-bottom: 25px;
}

/* Navigation */

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev {
  width: 48px;
  height: 48px;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.1);

  border: 1px solid rgba(255, 255, 255, 0.15);

  backdrop-filter: blur(15px);

  transition: 0.25s;
}

.heroSwiper .swiper-button-next:hover,
.heroSwiper .swiper-button-prev:hover {
  background: rgba(255, 255, 255, 0.2);

  transform: scale(1.05);
}

.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after {
  font-size: 16px;
  font-weight: 800;
  color: white;
}

/* Pagination */

.heroSwiper .swiper-pagination {
  bottom: 22px;
}

.heroSwiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  background: rgba(255, 255, 255, 0.5);

  opacity: 1;

  transition: 0.3s;
}

.heroSwiper .swiper-pagination-bullet-active {
  width: 30px;
  border-radius: 10px;

  background: white;
}

/* Mobile */

@media (max-width: 767px) {
  .hero-slider-wrapper {
    margin-top: 45px;
  }

  .hero-slide {
    height: 500px;
    border-radius: 20px;
  }

  .slide-overlay {
    background: linear-gradient(
      180deg,
      rgba(2, 6, 23, 0.2),
      rgba(2, 6, 23, 0.9) 75%
    );
  }

  .slide-content {
    left: 25px;
    right: 25px;
    top: auto;
    bottom: 55px;
    transform: none;
  }

  .slide-content h3 {
    font-size: 2rem;
  }

  .slide-content p {
    font-size: 0.9rem;
  }

  .heroSwiper .swiper-button-next,
  .heroSwiper .swiper-button-prev {
    display: none;
  }
}

.tech-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  max-width: 1150px;
  margin: 45px auto 0;
}

.tech-item {
  min-height: 145px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 15px;

  padding: 25px 15px;

  border-radius: 20px;

  background: rgba(255, 255, 255, 0.045);

  border: 1px solid rgba(255, 255, 255, 0.1);

  backdrop-filter: blur(18px);

  color: #e2e8f0;

  font-size: 0.9rem;
  font-weight: 700;

  transition: all 0.35s ease;
}

.tech-icon {
  width: 60px;
  height: 60px;

  display: grid;
  place-items: center;

  border-radius: 16px;

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgba(255, 255, 255, 0.1);

  transition: all 0.35s ease;
}

.tech-icon i {
  font-size: 2.4rem;
}

.tech-item:hover {
  transform: translateY(-8px);

  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.14),
    rgba(124, 58, 237, 0.14)
  );

  border-color: rgba(168, 85, 247, 0.4);

  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.25),
    0 0 30px rgba(124, 58, 237, 0.15);
}

.tech-item:hover .tech-icon {
  transform: scale(1.1);

  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.25),
    rgba(124, 58, 237, 0.3)
  );

  box-shadow: 0 10px 30px rgba(124, 58, 237, 0.25);
}

/* Tablet */

@media (max-width: 1100px) {
  .tech-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Mobile */

@media (max-width: 768px) {
  .tech-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 480px) {
  .tech-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .tech-item {
    min-height: 125px;
  }

  .tech-icon {
    width: 52px;
    height: 52px;
  }

  .tech-icon i {
    font-size: 2rem;
  }
}

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

.about-section {
  position: relative;
  padding: 33px 0;
  overflow: hidden;
}

/* =========================================
   IMAGE AREA
========================================= */

.about-visual {
  position: relative;
  max-width: 560px;
  margin: auto;
}

.about-image-card {
  position: relative;

  height: 600px;

  overflow: hidden;

  border-radius: 30px;

  border: 1px solid rgba(255, 255, 255, 0.14);

  background: rgba(255, 255, 255, 0.05);

  box-shadow:
    0 40px 100px rgba(0, 0, 0, 0.45),
    0 0 80px rgba(37, 99, 235, 0.12);
}

.about-image-card img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 1s ease;
}

.about-image-card:hover img {
  transform: scale(1.06);
}

/* Image Gradient */

.about-image-overlay {
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    transparent 35%,
    rgba(2, 6, 23, 0.85) 100%
  );
}

/* =========================================
   IMAGE LABEL
========================================= */

.image-label {
  position: absolute;

  left: 25px;
  bottom: 25px;

  display: flex;
  align-items: center;
  gap: 13px;

  padding: 14px 18px;

  border-radius: 16px;

  background: rgba(5, 5, 15, 0.55);

  border: 1px solid rgba(255, 255, 255, 0.15);

  backdrop-filter: blur(18px);

  color: white;
}

.image-label > i {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border-radius: 12px;

  background: linear-gradient(135deg, #2563eb, #7c3aed);

  font-size: 1.1rem;
}

.image-label strong {
  display: block;
  font-size: 0.95rem;
}

.image-label small {
  display: block;

  margin-top: 3px;

  color: #94a3b8;

  font-size: 0.72rem;
}

/* =========================================
   EXPERIENCE CARD
========================================= */

.experience-card {
  position: absolute;

  right: -45px;
  top: 80px;

  display: flex;
  align-items: center;

  gap: 14px;

  padding: 18px 22px;

  min-width: 190px;

  border-radius: 18px;

  background: rgba(8, 12, 28, 0.78);

  border: 1px solid rgba(255, 255, 255, 0.15);

  backdrop-filter: blur(20px);

  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);

  z-index: 5;
}

.experience-icon {
  width: 46px;
  height: 46px;

  display: grid;
  place-items: center;

  border-radius: 13px;

  background: linear-gradient(135deg, #2563eb, #7c3aed, #a855f7);

  color: white;

  font-size: 1.2rem;
}

.experience-card strong {
  display: block;

  font-size: 1.4rem;

  line-height: 1;

  font-weight: 850;
}

.experience-card span {
  display: block;

  margin-top: 5px;

  color: #94a3b8;

  font-size: 0.72rem;
}

/* =========================================
   GLOW
========================================= */

.about-glow {
  position: absolute;

  width: 300px;
  height: 300px;

  left: -120px;
  bottom: -100px;

  background: radial-gradient(circle, rgba(37, 99, 235, 0.28), transparent 70%);

  filter: blur(30px);

  pointer-events: none;
}

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

.about-title {
  margin-top: 15px;
  margin-bottom: 25px;

  font-size: clamp(2.4rem, 5vw, 4.2rem);

  line-height: 1;

  letter-spacing: -0.055em;

  font-weight: 850;

  color: white;
}

.about-title span {
  display: block;

  background: linear-gradient(90deg, #87ceeb, #60a5fa, #a78bfa, #a855f7);

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.about-lead {
  color: #dbe4f0;

  font-size: 1.12rem;

  line-height: 1.8;

  margin-bottom: 18px;
}

.about-description {
  color: #94a3b8;

  line-height: 1.8;

  margin-bottom: 30px;
}

/* =========================================
   HIGHLIGHTS
========================================= */

.about-highlights {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 15px;

  margin-bottom: 30px;
}

.about-highlight {
  display: flex;

  gap: 14px;

  padding: 18px;

  border-radius: 17px;

  background: rgba(255, 255, 255, 0.045);

  border: 1px solid rgba(255, 255, 255, 0.08);

  transition: 0.3s;
}

.about-highlight:hover {
  transform: translateY(-4px);

  background: rgba(255, 255, 255, 0.07);

  border-color: rgba(168, 85, 247, 0.3);
}

.highlight-icon {
  flex-shrink: 0;

  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border-radius: 12px;

  color: #bfdbfe;

  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.25),
    rgba(124, 58, 237, 0.25)
  );
}

.about-highlight h5 {
  margin: 2px 0 6px;

  font-size: 0.95rem;

  font-weight: 750;
}

.about-highlight p {
  margin: 0;

  color: #8996a8;

  font-size: 0.78rem;

  line-height: 1.55;
}

/* =========================================
   STATS
========================================= */

.about-stats {
  display: flex;

  gap: 35px;

  padding: 25px 0;

  margin-bottom: 10px;

  border-top: 1px solid rgba(255, 255, 255, 0.08);

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.about-stat strong {
  display: block;

  font-size: 1.8rem;

  font-weight: 850;

  background: linear-gradient(135deg, #fff, #93c5fd, #c4b5fd);

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.about-stat span {
  display: block;

  margin-top: 4px;

  color: #7f8b9d;

  font-size: 0.72rem;
}

/* =========================================
   ACTIONS
========================================= */

.about-actions {
  display: flex;

  align-items: center;

  gap: 25px;

  margin-top: 25px;
}

.about-link {
  color: #cbd5e1;

  text-decoration: none;

  font-size: 0.9rem;

  font-weight: 700;

  transition: 0.25s;
}

.about-link i {
  margin-left: 5px;

  transition: 0.25s;
}

.about-link:hover {
  color: white;
}

.about-link:hover i {
  margin-left: 10px;
}

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

@media (max-width: 991px) {
  .about-section {
    padding: 90px 0;
  }

  .about-visual {
    max-width: 700px;

    margin-bottom: 30px;
  }

  .experience-card {
    right: 20px;
  }
}

@media (max-width: 767px) {
  .about-section {
    padding: 70px 0;
  }

  .about-image-card {
    height: 450px;

    border-radius: 22px;
  }

  .experience-card {
    right: 15px;
    top: 25px;

    padding: 13px 16px;

    min-width: 165px;
  }

  .experience-icon {
    width: 40px;
    height: 40px;
  }

  .about-highlights {
    grid-template-columns: 1fr;
  }

  .about-stats {
    gap: 18px;

    justify-content: space-between;
  }

  .about-stat strong {
    font-size: 1.4rem;
  }

  .about-stat span {
    font-size: 0.65rem;
  }

  .about-actions {
    flex-direction: column;

    align-items: flex-start;

    gap: 18px;
  }
}

/* =========================================
   PREMIUM CONTACT SECTION
========================================= */

.contact-section {
  position: relative;
  padding: 53px 0;
  overflow: hidden;
}

/* Background Glow */

.contact-section::before {
  content: "";

  position: absolute;

  width: 600px;
  height: 600px;

  left: -250px;
  top: 20%;

  background: radial-gradient(circle, rgba(37, 99, 235, 0.18), transparent 70%);

  filter: blur(50px);

  pointer-events: none;
}

.contact-section::after {
  content: "";

  position: absolute;

  width: 500px;
  height: 500px;

  right: -200px;
  bottom: 0;

  background: radial-gradient(
    circle,
    rgba(168, 85, 247, 0.16),
    transparent 70%
  );

  filter: blur(50px);

  pointer-events: none;
}

/* =========================================
   HEADING
========================================= */

.contact-heading {
  position: relative;
  z-index: 2;

  max-width: 800px;

  margin: 0 auto 65px;
}

.contact-title {
  margin-top: 15px;

  font-size: clamp(2.7rem, 5vw, 4.8rem);

  line-height: 0.95;

  letter-spacing: -0.06em;

  font-weight: 850;

  color: white;
}

.contact-title span {
  display: block;

  background: linear-gradient(90deg, #87ceeb, #60a5fa, #a78bfa, #a855f7);

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.contact-subtitle {
  max-width: 650px;

  margin: 25px auto 0;

  color: #9ca9bb;

  line-height: 1.8;

  font-size: 1rem;
}

/* =========================================
   CONTACT INFO
========================================= */

.contact-info-card {
  height: 100%;

  position: relative;

  padding: 40px;

  border-radius: 28px;

  background: linear-gradient(
    145deg,
    rgba(37, 99, 235, 0.12),
    rgba(124, 58, 237, 0.08),
    rgba(255, 255, 255, 0.035)
  );

  border: 1px solid rgba(255, 255, 255, 0.11);

  backdrop-filter: blur(22px);

  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);

  overflow: hidden;
}

.contact-info-card::before {
  content: "";

  position: absolute;

  width: 220px;
  height: 220px;

  right: -100px;
  top: -100px;

  background: radial-gradient(
    circle,
    rgba(168, 85, 247, 0.25),
    transparent 70%
  );
}

/* Badge */

.contact-mini-badge {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 8px 13px;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.06);

  border: 1px solid rgba(255, 255, 255, 0.12);

  color: #bfdbfe;

  font-size: 0.75rem;

  font-weight: 750;
}

/* Info heading */

.contact-info-card h3 {
  position: relative;

  margin-top: 25px;
  margin-bottom: 18px;

  font-size: clamp(2rem, 4vw, 3.2rem);

  line-height: 1;

  letter-spacing: -0.05em;

  font-weight: 850;
}

.contact-info-card h3 span {
  background: linear-gradient(90deg, #87ceeb, #a855f7);

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.contact-description {
  position: relative;

  color: #9ca9bb;

  line-height: 1.8;

  margin-bottom: 35px;
}

/* =========================================
   CONTACT ITEMS
========================================= */

.contact-details {
  display: flex;

  flex-direction: column;

  gap: 12px;
}

.contact-item {
  display: flex;

  align-items: center;

  gap: 14px;

  padding: 15px;

  border-radius: 16px;

  text-decoration: none;

  color: white;

  background: rgba(255, 255, 255, 0.035);

  border: 1px solid rgba(255, 255, 255, 0.07);

  transition: 0.3s;
}

.contact-item:hover {
  color: white;

  transform: translateX(5px);

  background: rgba(255, 255, 255, 0.07);

  border-color: rgba(168, 85, 247, 0.3);
}

.contact-icon {
  width: 45px;
  height: 45px;

  flex-shrink: 0;

  display: grid;

  place-items: center;

  border-radius: 13px;

  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.35),
    rgba(124, 58, 237, 0.35)
  );

  color: #bfdbfe;
}

.contact-item small {
  display: block;

  margin-bottom: 3px;

  color: #7f8b9d;

  font-size: 0.7rem;
}

.contact-item strong {
  display: block;

  font-size: 0.85rem;

  font-weight: 650;
}

.contact-arrow {
  margin-left: auto;

  color: #64748b;

  transition: 0.3s;
}

.contact-item:hover .contact-arrow {
  color: #c4b5fd;

  transform: translate(3px, -3px);
}

/* =========================================
   AVAILABILITY
========================================= */

.contact-availability {
  display: flex;

  align-items: center;

  gap: 12px;

  margin-top: 28px;

  padding-top: 25px;

  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.status-dot {
  width: 10px;
  height: 10px;

  flex-shrink: 0;

  border-radius: 50%;

  background: #22c55e;

  box-shadow: 0 0 15px rgba(34, 197, 94, 0.8);
}

.contact-availability strong {
  display: block;

  color: #dbeafe;

  font-size: 0.8rem;
}

.contact-availability small {
  display: block;

  margin-top: 3px;

  color: #718096;

  font-size: 0.68rem;
}

/* =========================================
   FORM CARD
========================================= */

.contact-form-card {
  height: 100%;

  padding: 40px;

  border-radius: 28px;

  background: rgba(5, 8, 20, 0.62);

  border: 1px solid rgba(255, 255, 255, 0.12);

  backdrop-filter: blur(25px);

  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}

/* Form header */

.form-header {
  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 30px;
}

.form-header span {
  color: #93c5fd;

  font-size: 0.72rem;

  text-transform: uppercase;

  letter-spacing: 0.14em;

  font-weight: 800;
}

.form-header h3 {
  margin: 7px 0 0;

  font-size: 1.45rem;

  font-weight: 800;
}

.form-header-icon {
  width: 48px;
  height: 48px;

  display: grid;

  place-items: center;

  border-radius: 14px;

  background: linear-gradient(135deg, #2563eb, #7c3aed);

  color: white;

  box-shadow: 0 10px 30px rgba(124, 58, 237, 0.25);
}

/* =========================================
   FORM FIELDS
========================================= */

.contact-form-card label {
  display: block;

  margin-bottom: 8px;

  color: #b8c3d2;

  font-size: 0.75rem;

  font-weight: 700;
}

.input-wrapper,
.textarea-wrapper {
  position: relative;
}

.input-wrapper > i,
.textarea-wrapper > i {
  position: absolute;

  left: 15px;
  top: 50%;

  transform: translateY(-50%);

  color: #64748b;

  pointer-events: none;

  z-index: 2;
}

.textarea-wrapper > i {
  top: 20px;

  transform: none;
}

.contact-form-card input,
.contact-form-card textarea,
.contact-form-card select {
  width: 100%;

  border: 1px solid rgba(255, 255, 255, 0.1);

  border-radius: 13px;

  background: rgba(255, 255, 255, 0.045);

  color: #f8fafc;

  outline: none;

  transition: 0.25s;
}

.contact-form-card input,
.contact-form-card select {
  height: 52px;

  padding: 0 15px 0 44px;
}

.contact-form-card textarea {
  min-height: 145px;

  resize: vertical;

  padding: 15px 15px 15px 44px;
}

.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder {
  color: #5f6c7e;
}

.contact-form-card select {
  appearance: none;

  cursor: pointer;
}

.contact-form-card select option {
  background: #0b1120;

  color: white;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus,
.contact-form-card select:focus {
  border-color: rgba(96, 165, 250, 0.65);

  background: rgba(255, 255, 255, 0.065);

  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

/* Select */

.select-arrow {
  position: absolute;

  right: 15px;
  top: 50%;

  transform: translateY(-50%);

  color: #64748b;

  pointer-events: none;
}

/* =========================================
   SUBMIT BUTTON
========================================= */

.contact-submit {
  width: 100%;

  height: 56px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0 20px;

  margin-top: 8px;

  border: 0;

  border-radius: 14px;

  color: white;

  font-size: 0.9rem;

  font-weight: 750;

  background: linear-gradient(135deg, #2563eb, #7c3aed, #a855f7);

  box-shadow: 0 15px 40px rgba(124, 58, 237, 0.25);

  transition: 0.3s;
}

.contact-submit i {
  font-size: 1.1rem;

  transition: 0.3s;
}

.contact-submit:hover {
  transform: translateY(-3px);

  box-shadow: 0 20px 50px rgba(124, 58, 237, 0.4);
}

.contact-submit:hover i {
  transform: translate(3px, -3px);
}

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

@media (max-width: 991px) {
  .contact-section {
    padding: 90px 0;
  }

  .contact-info-card {
    padding: 32px;
  }

  .contact-form-card {
    padding: 32px;
  }
}

@media (max-width: 576px) {
  .contact-section {
    padding: 70px 0;
  }

  .contact-info-card,
  .contact-form-card {
    padding: 24px;

    border-radius: 22px;
  }

  .contact-title {
    font-size: 2.6rem;
  }

  .form-header h3 {
    font-size: 1.25rem;
  }

  .form-header-icon {
    width: 42px;
    height: 42px;
  }
}

.window-bar {
  padding: 15px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  gap: 7px;
}

.window-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
}

.metric {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 20px;
}

.metric small {
  color: #94a3b8;
}
.metric h3 {
  margin: 8px 0 0;
  font-weight: 800;
}

.chart {
  height: 220px;
  border-radius: 18px;
  margin-top: 20px;
  background:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    rgba(255, 255, 255, 0.025);
  background-size: 40px 40px;
  position: relative;
  overflow: hidden;
}

.chart-line {
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: 35px;
  height: 130px;
  border-top: 3px solid #87ceeb;
  transform: skewY(-9deg) rotate(-1deg);
  filter: drop-shadow(0 0 12px rgba(135, 206, 235, 0.7));
}

section {
  padding: 35px 0;
}

.section-kicker {
  color: #93c5fd;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
  font-weight: 800;
}

.section-title {
  font-size: clamp(2.2rem, 5vw, 4rem);
  letter-spacing: -0.05em;
  font-weight: 800;
  margin-top: 12px;
}

.glass-card {
  height: 100%;
  padding: 28px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.11);
  backdrop-filter: blur(18px);
  transition: 0.3s;
}

.glass-card:hover {
  transform: translateY(-7px);
  border-color: rgba(168, 85, 247, 0.35);
  background: rgba(255, 255, 255, 0.075);
}

.icon-box {
  width: 48px;
  height: 48px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.35),
    rgba(168, 85, 247, 0.35)
  );
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 20px;
}

.glass-card h4 {
  font-weight: 750;
}
.glass-card p {
  color: #aab5c5;
  line-height: 1.7;
}

.popular {
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 999px;
  background: #7c3aed;
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 25px 0;
}

.feature-list li {
  padding: 9px 0;
  color: #b8c2d1;
}

.feature-list i {
  color: #93c5fd;
  margin-right: 8px;
}

.testimonial {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #d5dce8;
}

.avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: linear-gradient(135deg, #2563eb, #a855f7);
}

.cta {
  border-radius: 30px;
  padding: 70px 30px;
  text-align: center;
  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.32),
    rgba(124, 58, 237, 0.3)
  );
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
}

footer {
  padding: 45px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #8995a7;
}

@media (max-width: 991px) {
  .hero {
    text-align: center;
  }
  .hero-copy {
    margin-inline: auto;
  }
  .hero-actions {
    justify-content: center;
  }
}

/* =========================================
   GLOBAL COUNTRY STRIP
========================================= */

.country-strip {
  position: relative;

  width: 100%;

  padding: 22px 0;

  overflow: hidden;

  background:
    linear-gradient(
      90deg,
      rgba(37,99,235,.08),
      rgba(124,58,237,.12),
      rgba(168,85,247,.08)
    );

  border-top: 1px solid rgba(255,255,255,.08);

  border-bottom: 1px solid rgba(255,255,255,.08);

  backdrop-filter: blur(15px);
}


/* Left label */

.country-strip-label {
  position: absolute;

  z-index: 5;

  left: 0;
  top: 0;
  bottom: 0;

  display: flex;

  align-items: center;

  gap: 9px;

  min-width: 190px;

  padding: 0 25px;

  color: #dbeafe;

  font-size: .7rem;

  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: .13em;

  background:
    linear-gradient(
      90deg,
      #050505 30%,
      rgba(5,5,5,.92) 75%,
      transparent
    );
}

.country-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: #22c55e;

  box-shadow:
    0 0 15px rgba(34,197,94,.8);
}


/* Marquee */

.country-marquee {
  width: 100%;

  overflow: hidden;

  padding-left: 190px;

  mask-image:
    linear-gradient(
      90deg,
      transparent,
      black 8%,
      black 92%,
      transparent
    );

  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent,
      black 8%,
      black 92%,
      transparent
    );
}


.country-track {
  display: flex;

  align-items: center;

  width: max-content;

  gap: 18px;

  animation:
    countryScroll 28s linear infinite;
}


.country-marquee:hover .country-track {
  animation-play-state: paused;
}


/* Country */

.country-item {
  display: flex;

  align-items: center;

  gap: 9px;

  min-width: max-content;

  padding: 10px 17px;

  border-radius: 999px;

  color: #b8c3d2;

  font-size: .82rem;

  font-weight: 650;

  white-space: nowrap;

  background: rgba(255,255,255,.045);

  border: 1px solid rgba(255,255,255,.08);

  transition: .3s;
}

.country-item:hover {
  color: white;

  background: rgba(255,255,255,.09);

  border-color: rgba(168,85,247,.35);

  transform: translateY(-2px);
}

.flag {
  font-size: 1.05rem;
  line-height: 1;
}

.country-item .fi,
.country-item .flag-icon {
  width: 1.35em;
  height: 1em;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}


@keyframes countryScroll {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }

}


/* Mobile */

@media (max-width: 768px) {

  .country-strip {
    padding: 18px 0;
  }

  .country-strip-label {
    min-width: 135px;

    padding: 0 15px;

    font-size: .58rem;
  }

  .country-marquee {
    padding-left: 135px;
  }

  .country-track {
    gap: 10px;

    animation-duration: 22s;
  }

  .country-item {
    padding: 8px 13px;

    font-size: .72rem;
  }

}

/* =========================================
   PREMIUM REVIEWS SECTION
========================================= */

.reviews-section {
  position: relative;

  padding: 70px 0;

  overflow: hidden;
}

/* Background Glow */

.reviews-section::before {
  content: "";

  position: absolute;

  width: 600px;
  height: 600px;

  left: 50%;
  top: 20%;

  transform: translateX(-50%);

  background: radial-gradient(
    circle,
    rgba(124, 58, 237, 0.12),
    transparent 70%
  );

  filter: blur(50px);

  pointer-events: none;
}

/* =========================================
   HEADING
========================================= */

.reviews-heading {
  position: relative;

  max-width: 750px;

  margin: 0 auto 60px;
}

.reviews-title {
  margin-top: 15px;

  font-size: clamp(2.5rem, 5vw, 4.5rem);

  line-height: 0.95;

  letter-spacing: -0.06em;

  font-weight: 850;

  color: white;
}

.reviews-title span {
  display: block;

  background: linear-gradient(90deg, #87ceeb, #60a5fa, #a78bfa, #a855f7);

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.reviews-subtitle {
  max-width: 650px;

  margin: 25px auto 0;

  color: #94a3b8;

  line-height: 1.8;
}

/* =========================================
   SLIDER
========================================= */

.reviews-slider-wrapper {
  position: relative;

  max-width: 1100px;

  margin: auto;
}

.reviewsSwiper {
  padding: 15px 5px 70px;
}

.reviewsSwiper .swiper-slide {
  height: auto;
}

/* =========================================
   REVIEW CARD
========================================= */

.review-card {
  height: 100%;

  padding: 35px;

  border-radius: 25px;

  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.075),
    rgba(255, 255, 255, 0.025)
  );

  border: 1px solid rgba(255, 255, 255, 0.11);

  backdrop-filter: blur(20px);

  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25);

  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

.review-card:hover {
  transform: translateY(-6px);

  border-color: rgba(168, 85, 247, 0.35);

  box-shadow:
    0 35px 80px rgba(0, 0, 0, 0.35),
    0 0 40px rgba(124, 58, 237, 0.08);
}

/* =========================================
   TOP
========================================= */

.review-top {
  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 25px;
}

.quote-icon {
  width: 48px;
  height: 48px;

  display: grid;

  place-items: center;

  border-radius: 14px;

  background: linear-gradient(
    135deg,
    rgba(37, 99, 235, 0.25),
    rgba(124, 58, 237, 0.3)
  );

  border: 1px solid rgba(255, 255, 255, 0.1);

  color: #93c5fd;

  font-size: 1.5rem;
}

/* Rating */

.rating {
  display: flex;

  gap: 4px;

  color: #fbbf24;

  font-size: 0.75rem;
}

/* =========================================
   TEXT
========================================= */

.review-text {
  min-height: 145px;

  margin: 0;

  color: #d7dfeb;

  font-size: 1rem;

  line-height: 1.85;

  letter-spacing: -0.01em;
}

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

.review-footer {
  display: flex;

  align-items: center;

  gap: 13px;

  margin-top: 30px;

  padding-top: 22px;

  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Avatar */

.review-avatar {
  width: 48px;
  height: 48px;

  flex-shrink: 0;

  display: grid;

  place-items: center;

  border-radius: 50%;

  color: white;

  font-size: 0.78rem;

  font-weight: 800;

  background: linear-gradient(135deg, #2563eb, #7c3aed);

  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.25);
}

.review-avatar.purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
}

.review-avatar.blue {
  background: linear-gradient(135deg, #0284c7, #2563eb);
}

.review-avatar.orange {
  background: linear-gradient(135deg, #ea580c, #f59e0b);
}

/* Author */

.review-author {
  min-width: 0;
}

.review-author strong {
  display: block;

  color: white;

  font-size: 0.85rem;

  font-weight: 750;
}

.review-author span {
  display: block;

  margin-top: 3px;

  color: #718096;

  font-size: 0.7rem;
}

/* Company icon */

.review-company {
  margin-left: auto;

  width: 40px;
  height: 40px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  background: rgba(255, 255, 255, 0.05);

  color: #64748b;
}

/* =========================================
   NAVIGATION
========================================= */

.reviews-prev,
.reviews-next {
  width: 45px;
  height: 45px;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.07);

  border: 1px solid rgba(255, 255, 255, 0.12);

  backdrop-filter: blur(15px);

  transition: 0.25s;
}

.reviews-prev:hover,
.reviews-next:hover {
  background: rgba(255, 255, 255, 0.14);

  border-color: rgba(168, 85, 247, 0.4);
}

.reviews-prev::after,
.reviews-next::after {
  color: white;

  font-size: 14px;

  font-weight: 800;
}

/* =========================================
   PAGINATION
========================================= */

.reviews-pagination {
  bottom: 15px !important;
}

.reviews-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;

  opacity: 1;

  background: rgba(255, 255, 255, 0.3);

  transition: 0.3s;
}

.reviews-pagination .swiper-pagination-bullet-active {
  width: 28px;

  border-radius: 10px;

  background: linear-gradient(90deg, #2563eb, #a855f7);
}

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

@media (max-width: 991px) {
  .reviews-section {
    padding: 90px 0;
  }

  .reviewsSwiper {
    padding-left: 35px;
    padding-right: 35px;
  }

  .review-stats {
    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
  }

  .review-stat:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 576px) {
  .reviews-section {
    padding: 70px 0;
  }

  .reviews-title {
    font-size: 2.7rem;
  }

  .review-card {
    padding: 25px;
  }

  .review-text {
    min-height: auto;

    font-size: 0.9rem;
  }

  .reviewsSwiper {
    padding-left: 10px;
    padding-right: 10px;
  }

  .reviews-prev,
  .reviews-next {
    display: none;
  }

  .review-stats {
    padding: 20px;

    grid-template-columns: repeat(2, 1fr);
  }

  .review-stat {
    border-right: 0;

    padding: 12px 5px;
  }
}

/* =========================================
   PREMIUM FOOTER
========================================= */

.premium-footer {
  position: relative;

  /* margin-top: 80px; */

  padding-top: 10px;
  padding-bottom: 25px;

  background:
    linear-gradient(
      180deg,
      rgba(2,6,23,.15),
      rgba(2,6,23,.85)
    );

  border-top: 1px solid rgba(255,255,255,.08);

  overflow: hidden;
}


/* =========================================
   FOOTER GLOW
========================================= */

.premium-footer::before {
  content: "";

  position: absolute;

  width: 650px;
  height: 650px;

  top: -350px;
  left: 50%;

  transform: translateX(-50%);

  background:
    radial-gradient(
      circle,
      rgba(37,99,235,.18),
      transparent 68%
    );

  filter: blur(50px);

  pointer-events: none;
}

.premium-footer::after {
  content: "";

  position: absolute;

  width: 450px;
  height: 450px;

  right: -220px;
  bottom: -200px;

  background:
    radial-gradient(
      circle,
      rgba(168,85,247,.15),
      transparent 70%
    );

  filter: blur(45px);

  pointer-events: none;
}


/* =========================================
   CTA
========================================= */

.footer-cta {
  position: relative;

  z-index: 2;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 35px;

  padding: 45px 50px;

  margin-bottom: 80px;

  border-radius: 28px;

  background:
    linear-gradient(
      135deg,
      rgba(37,99,235,.16),
      rgba(124,58,237,.18),
      rgba(168,85,247,.08)
    );

  border: 1px solid rgba(255,255,255,.12);

  backdrop-filter: blur(20px);

  box-shadow:
    0 30px 80px rgba(0,0,0,.3);
}


/* CTA glow */

.footer-cta::before {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: 15%;

  top: -100px;

  background:
    radial-gradient(
      circle,
      rgba(168,85,247,.25),
      transparent 70%
    );

  filter: blur(25px);

  pointer-events: none;
}

.footer-cta-content {
  max-width: 700px;
}

.footer-cta-badge {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 8px 14px;

  border-radius: 999px;

  background: rgba(255,255,255,.07);

  border: 1px solid rgba(255,255,255,.12);

  color: #bfdbfe;

  font-size: .73rem;

  font-weight: 750;
}

.footer-cta-content h2 {
  margin-top: 18px;
  margin-bottom: 15px;

  font-size: clamp(2rem, 4vw, 3.5rem);

  line-height: .98;

  letter-spacing: -.055em;

  font-weight: 850;

  color: white;
}

.footer-cta-content h2 span {
  background:
    linear-gradient(
      90deg,
      #87CEEB,
      #60a5fa,
      #a78bfa,
      #A855F7
    );

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}

.footer-cta-content p {
  max-width: 650px;

  margin: 0;

  color: #94a3b8;

  line-height: 1.75;
}

.footer-cta-action {
  flex-shrink: 0;
}


/* =========================================
   FOOTER MAIN
========================================= */

.footer-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns:
    1.5fr
    1fr
    1fr
    1.4fr;
  gap: 50px;
  padding-bottom: 20px;
}


/* =========================================
   COMPANY
========================================= */

.footer-logo {
  display: inline-flex;

  align-items: center;

  gap: 11px;

  color: white;

  text-decoration: none;

  font-size: 1.15rem;

  font-weight: 800;

  letter-spacing: -.03em;
}

.footer-logo:hover {
  color: white;
}

.footer-logo-mark {
  width: 40px;
  height: 40px;

  display: grid;

  place-items: center;

  border-radius: 12px;

  color: white;

  background:
    linear-gradient(
      135deg,
      #2563EB,
      #7C3AED,
      #A855F7
    );

  box-shadow:
    0 10px 30px rgba(124,58,237,.3);
}

.footer-logo strong {
  color: #93c5fd;
}

.footer-description {
  max-width: 390px;

  margin-top: 20px;

  color: #7f8b9d;

  line-height: 1.8;

  font-size: .84rem;
}


/* =========================================
   SOCIAL
========================================= */

.footer-socials {
  display: flex;

  gap: 9px;

  margin-top: 25px;
}

.footer-socials a {
  width: 40px;
  height: 40px;

  display: grid;

  place-items: center;

  border-radius: 11px;

  color: #94a3b8;

  background: rgba(255,255,255,.045);

  border: 1px solid rgba(255,255,255,.08);

  text-decoration: none;

  transition: .3s;
}

.footer-socials a:hover {
  color: white;

  transform: translateY(-4px);

  border-color: rgba(168,85,247,.35);

  background:
    linear-gradient(
      135deg,
      rgba(37,99,235,.25),
      rgba(124,58,237,.25)
    );

  box-shadow:
    0 10px 25px rgba(0,0,0,.2);
}


/* =========================================
   FOOTER COLUMNS
========================================= */

.footer-column h4,
.footer-newsletter h4 {
  margin: 5px 0 20px;

  color: white;

  font-size: .85rem;

  font-weight: 800;

  letter-spacing: .01em;
}

.footer-column ul {
  list-style: none;

  margin: 0;
  padding: 0;
}

.footer-column li {
  margin-bottom: 12px;
}

.footer-column a {
  display: inline-flex;

  align-items: center;

  gap: 3px;

  color: #7f8b9d;

  text-decoration: none;

  font-size: .78rem;

  transition: .25s;
}

.footer-column a i {
  opacity: 0;

  transform: translateX(-5px);

  transition: .25s;
}

.footer-column a:hover {
  color: #dbeafe;
}

.footer-column a:hover i {
  opacity: 1;

  transform: translateX(0);
}


/* =========================================
   NEWSLETTER
========================================= */

.footer-newsletter p {
  color: #7f8b9d;

  font-size: .78rem;

  line-height: 1.7;

  margin-bottom: 18px;
}

.newsletter-form {
  display: flex;

  flex-direction: column;

  gap: 10px;
}

.newsletter-input {
  position: relative;
}

.newsletter-input i {
  position: absolute;

  left: 14px;
  top: 50%;

  transform: translateY(-50%);

  color: #64748b;
}

.newsletter-input input {
  width: 100%;

  height: 48px;

  padding:
    0
    15px
    0
    42px;

  border-radius: 12px;

  border: 1px solid rgba(255,255,255,.09);

  background: rgba(255,255,255,.045);

  color: white;

  outline: none;
}

.newsletter-input input::placeholder {
  color: #5f6c7e;
}

.newsletter-input input:focus {
  border-color: rgba(96,165,250,.55);

  box-shadow:
    0 0 0 3px rgba(37,99,235,.1);
}

.newsletter-form button {
  height: 48px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  border: 0;

  border-radius: 12px;

  color: white;

  font-size: .78rem;

  font-weight: 750;

  background:
    linear-gradient(
      135deg,
      #2563EB,
      #7C3AED,
      #A855F7
    );

  box-shadow:
    0 12px 30px rgba(124,58,237,.2);

  transition: .3s;
}

.newsletter-form button:hover {
  transform: translateY(-2px);

  box-shadow:
    0 18px 40px rgba(124,58,237,.35);
}

.newsletter-note {
  display: flex;

  align-items: center;

  gap: 6px;

  margin-top: 10px;

  color: #64748b;

  font-size: .65rem;
}

.newsletter-note i {
  color: #22c55e;
}

/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {
  position: relative;
  color: #566274;
  font-size: .88rem;
  text-align: center;
}

.footer-bottom strong {
  color: #8995a7;
}


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

@media (max-width: 1100px) {

  .footer-main {
    grid-template-columns:
      1.4fr
      1fr
      1fr;

    gap: 40px;
  }

  .footer-newsletter {
    grid-column: span 3;
    max-width: 500px;
  }

}


@media (max-width: 991px) {

  .premium-footer {
    padding-top: 70px;
  }

  .footer-cta {
    padding: 35px;

    flex-direction: column;

    align-items: flex-start;
  }

  .footer-main {
    grid-template-columns:
      1fr 1fr;

    gap: 40px;
  }

  .footer-newsletter {
    grid-column: span 2;
  }

}


@media (max-width: 576px) {

  .premium-footer {
    padding-top: 60px;
  }

  .footer-cta {
    padding: 28px;

    border-radius: 22px;

    margin-bottom: 55px;
  }

  .footer-cta-content h2 {
    font-size: 2.3rem;
  }

  .footer-main {
    grid-template-columns: 1fr;

    gap: 35px;
  }

  .footer-newsletter {
    grid-column: auto;
  }

  .footer-info-bar {
    flex-direction: column;

    align-items: flex-start;
  }

  .footer-bottom {
    flex-direction: column;

    align-items: flex-start;
  }

  .footer-legal {
    flex-wrap: wrap;
  }

}

/* --- ABOUT PAGE STYLES --- */
:root{--bg:#050505;--text:#f8fafc;--muted:#94a3b8;--muted2:#718096;--border:rgba(255,255,255,.11);--blue:#2563eb;--purple:#7c3aed;--purple2:#a855f7;--sky:#87ceeb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}a{text-decoration:none}.page-bg{position:fixed;inset:0;z-index:-3;background:linear-gradient(135deg,#87CEEB,#2563EB,#172554,#7C3AED,#A855F7,#050505);background-size:300% 300%;animation:bgMove 18s ease infinite;opacity:.72}.page-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 12%,rgba(135,206,235,.17),transparent 28%),radial-gradient(circle at 82% 18%,rgba(168,85,247,.18),transparent 30%),rgba(2,6,23,.78);backdrop-filter:blur(32px)}@keyframes bgMove{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.navbar{background:rgba(5,5,5,.48);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}.navbar.scrolled{background:rgba(5,5,5,.88)}.navbar-brand{color:#fff!important;font-weight:850;letter-spacing:-.04em}.brand-dot{width:12px;height:12px;display:inline-block;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--purple2));box-shadow:0 0 22px rgba(168,85,247,.8);margin-right:8px}.nav-link{color:#cbd5e1!important}.nav-link:hover,.nav-link.active{color:#fff!important}.btn-gradient{color:#fff;border:0;border-radius:12px;padding:12px 20px;font-weight:750;background:linear-gradient(135deg,var(--blue),var(--purple),var(--purple2));box-shadow:0 12px 35px rgba(124,58,237,.28);transition:.25s}.btn-gradient:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 45px rgba(124,58,237,.42)}.btn-outline-glass{color:#fff;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);border-radius:12px;padding:12px 20px;font-weight:700;backdrop-filter:blur(15px)}.btn-outline-glass:hover{color:#fff;background:rgba(255,255,255,.11)}
.section-padding{padding-top:25px;}.section-kicker{color:#93c5fd;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:850}.gradient-text{background:linear-gradient(90deg,#fff,#87CEEB,#c4b5fd,#A855F7);-webkit-background-clip:text;background-clip:text;color:transparent}.section-heading{max-width:720px;margin:0 auto 55px;text-align:center}.section-title{margin-top:12px;font-size:clamp(2.4rem,5vw,4.1rem);line-height:.96;letter-spacing:-.055em;font-weight:900}.section-subtitle{max-width:650px;margin:22px auto 0;color:var(--muted);line-height:1.8}
/* Hero */.about-hero{min-height:84vh;display:flex;align-items:center;padding:140px 0 90px}.about-hero-content{max-width:850px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;color:#dbeafe;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(16px);font-size:.8rem;font-weight:750}.about-hero h1{margin:24px 0;font-size:clamp(3rem,7vw,6.5rem);line-height:.91;letter-spacing:-.065em;font-weight:900}.about-hero p{max-width:760px;color:#c4cedc;line-height:1.85;font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-meta{display:flex;flex-wrap:wrap;gap:28px;margin-top:42px}.hero-meta-item strong{display:block;font-size:1.8rem;font-weight:850}.hero-meta-item span{color:var(--muted2);font-size:.72rem}
/* Story */.story-image-wrap{position:relative;max-width:580px;margin:auto}.story-image{position:relative;height:600px;overflow:hidden;border-radius:30px;border:1px solid var(--border);box-shadow:0 40px 100px rgba(0,0,0,.45)}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.story-image:hover img{transform:scale(1.05)}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,6,23,.9))}.story-label{position:absolute;z-index:2;left:25px;bottom:25px;display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:16px;background:rgba(5,5,15,.55);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(18px)}.story-label-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--purple))}.story-label strong{display:block;font-size:.9rem}.story-label small{display:block;color:var(--muted2);font-size:.7rem;margin-top:2px}.floating-years{position:absolute;z-index:4;right:-28px;top:65px;width:165px;padding:20px;border-radius:20px;background:rgba(7,11,25,.8);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(20px);box-shadow:0 25px 60px rgba(0,0,0,.4);text-align:center}.floating-years strong{display:block;font-size:2.4rem;font-weight:900;line-height:1;background:linear-gradient(135deg,#fff,#93c5fd,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.floating-years span{display:block;margin-top:6px;color:var(--muted);font-size:.7rem}.story-title{margin:13px 0 22px;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1;letter-spacing:-.055em;font-weight:900}.story-lead{color:#d6dfeb;font-size:1.05rem;line-height:1.85}.story-copy{color:#8996a8;line-height:1.85}.story-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.story-point{padding:17px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.story-point i{color:#93c5fd;margin-right:6px}.story-point span{color:#cbd5e1;font-size:.8rem;font-weight:650}
/* Timeline */.timeline{position:relative;max-width:1050px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(147,197,253,.45),rgba(168,85,247,.45),transparent);transform:translateX(-50%)}.timeline-item{position:relative;width:50%;padding:0 45px 45px}.timeline-item:nth-child(odd){left:0}.timeline-item:nth-child(even){left:50%}.timeline-card{padding:25px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(17px);transition:.3s}.timeline-card:hover{transform:translateY(-5px);border-color:rgba(168,85,247,.3);background:rgba(255,255,255,.065)}.timeline-year{display:inline-flex;padding:7px 11px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(124,58,237,.24));color:#bfdbfe;font-size:.72rem;font-weight:800;margin-bottom:13px}.timeline-card h4{font-size:1.15rem;font-weight:800;margin-bottom:9px}.timeline-card p{margin:0;color:var(--muted2);font-size:.82rem;line-height:1.7}.timeline-dot{position:absolute;z-index:2;top:7px;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple2));border:3px solid #0b1020;box-shadow:0 0 20px rgba(124,58,237,.7)}.timeline-item:nth-child(odd) .timeline-dot{right:-7px}.timeline-item:nth-child(even) .timeline-dot{left:-6px}
/* Values / stats / tech */.value-card{height:100%;padding:30px;border-radius:23px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(17px);transition:.3s}.value-card:hover{transform:translateY(-7px);border-color:rgba(168,85,247,.34);box-shadow:0 25px 70px rgba(0,0,0,.22)}.value-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;margin-bottom:20px;color:#fff;background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(124,58,237,.35));border:1px solid rgba(255,255,255,.1);font-size:1.25rem}.value-card h4{font-size:1.15rem;font-weight:800}.value-card p{margin:0;color:var(--muted2);line-height:1.75;font-size:.84rem}.stats-panel{border-radius:26px;padding:40px 25px;background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(124,58,237,.12),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}.stat-box{text-align:center;padding:10px 20px;border-right:1px solid rgba(255,255,255,.09)}.stat-box:last-child{border-right:0}.stat-number{display:block;font-size:2.5rem;font-weight:900;letter-spacing:-.05em;background:linear-gradient(135deg,#fff,#93c5fd,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{color:var(--muted2);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.tech-item{min-height:125px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;border-radius:19px;padding:18px 10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:.3s}.tech-item:hover{transform:translateY(-6px);border-color:rgba(168,85,247,.35);background:rgba(255,255,255,.06)}.tech-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.tech-icon i{font-size:2rem}.tech-item span{color:#cbd5e1;font-size:.76rem;font-weight:700;text-align:center}
/* CTA/footer */.page-cta{padding:70px 30px;border-radius:30px;text-align:center;background:linear-gradient(135deg,rgba(37,99,235,.22),rgba(124,58,237,.24));border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(0,0,0,.25)}.page-cta h2{margin-top:12px;font-size:clamp(2.3rem,5vw,4rem);line-height:.96;letter-spacing:-.055em;font-weight:900}.page-cta p{max-width:650px;margin:20px auto 0;color:var(--muted);line-height:1.8}.premium-footer{margin-top:90px;padding:75px 0 25px;border-top:1px solid rgba(255,255,255,.08);background:rgba(2,6,23,.65)}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.35fr;gap:45px;padding-bottom:50px}.footer-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:850;font-size:1.12rem}.footer-logo:hover{color:#fff}.footer-logo-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--purple),var(--purple2))}.footer-logo strong{color:#93c5fd}.footer-copy{max-width:390px;color:#78869a;line-height:1.8;font-size:.8rem;margin-top:18px}.socials{display:flex;gap:8px;margin-top:22px}.socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#94a3b8;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);transition:.25s}.socials a:hover{color:#fff;transform:translateY(-3px);background:rgba(255,255,255,.08)}.footer-column h4{font-size:.83rem;font-weight:800;margin:3px 0 18px}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:10px}.footer-column a{color:#748196;font-size:.76rem;transition:.25s}.footer-column a:hover{color:#dbeafe}.newsletter-copy{color:#748196;font-size:.76rem;line-height:1.7}.newsletter-form{display:flex;gap:8px;margin-top:16px}.newsletter-form input{flex:1;min-width:0;height:44px;padding:0 13px;border-radius:10px;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);outline:0}.newsletter-form button{height:44px;width:48px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--purple))}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);color:#566274;font-size:.66rem}.footer-bottom a{color:#566274;margin-left:18px}.footer-bottom a:hover{color:#aeb9c9}
@media(max-width:1100px){.tech-grid{grid-template-columns:repeat(3,1fr)}.footer-main{grid-template-columns:1.4fr 1fr 1fr}}@media(max-width:991px){.about-hero{text-align:center;min-height:auto}.about-hero p{margin-inline:auto}.hero-actions,.hero-meta{justify-content:center}.floating-years{right:15px}.timeline:before{left:18px;transform:none}.timeline-item,.timeline-item:nth-child(even){left:0;width:100%;padding-left:52px;padding-right:0}.timeline-dot,.timeline-item:nth-child(odd) .timeline-dot,.timeline-item:nth-child(even) .timeline-dot{left:12px;right:auto}.footer-main{grid-template-columns:1fr 1fr}}@media(max-width:767px){.section-padding{padding:40px 0}.story-image{height:460px;border-radius:22px}.story-points{grid-template-columns:1fr}.stat-box{border-right:0;padding:15px 5px}.stat-number{font-size:2rem}.tech-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr}}@media(max-width:480px){.about-hero h1{font-size:3.1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-meta{gap:18px}.hero-meta-item strong{font-size:1.5rem}.tech-grid{gap:10px}.tech-item{min-height:110px}.footer-bottom{flex-direction:column}.footer-bottom a{margin-left:0;margin-right:14px}}


/* --- DEMO / PRODUCT CARDS --- */
.demo-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.demo-card:hover {
  transform: translateY(-8px);
  border-color: rgba(168,85,247,0.4);
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}
.demo-img-wrapper {
  position: relative;
  height: 220px;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.demo-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.demo-card:hover .demo-img-wrapper img {
  transform: scale(1.05);
}
.demo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,6,23,0.9) 0%, rgba(2,6,23,0.1) 100%);
}
.demo-content {
  padding: 25px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.demo-category {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #93c5fd;
  font-weight: 700;
  margin-bottom: 8px;
}
.demo-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 15px;
  line-height: 1.3;
}
.demo-btn {
  margin-top: auto;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  padding: 10px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: 0.3s;
  text-decoration: none;
}
.demo-card:hover .demo-btn {
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  border-color: transparent;
  color: #fff;
}

/* --- TEAM (ABOUT PAGE) --- */
.team-card:hover {
  transform: translateY(-10px);
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(168,85,247,0.4) !important;
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

/* --- CAREER PAGE --- */
.job-card {
  padding: 35px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.job-card:hover {
  transform: translateY(-8px);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(168, 85, 247, 0.4);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}
.job-badge {
  display: inline-block;
  padding: 5px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 50px;
  margin-right: 8px;
  margin-bottom: 15px;
}
.badge-dept { background: rgba(37, 99, 235, 0.2); color: #93c5fd; border: 1px solid rgba(37, 99, 235, 0.4); }
.badge-loc { background: rgba(168, 85, 247, 0.2); color: #d8b4fe; border: 1px solid rgba(168, 85, 247, 0.4); }
.badge-type { background: rgba(16, 185, 129, 0.2); color: #6ee7b7; border: 1px solid rgba(16, 185, 129, 0.4); }

.job-title {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 15px;
  color: #fff;
}
.job-desc {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.7;
  margin-bottom: 25px;
  flex-grow: 1;
}
.custom-placeholder::placeholder {
  color: #c9c9c99f !important;
  opacity: 1;
}

/* --- CONTACT PAGE FAQ --- */
.custom-accordion .accordion-item {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px !important;
  margin-bottom: 15px;
  overflow: hidden;
}
.custom-accordion .accordion-button {
  background: rgba(255,255,255,0.03);
  color: #fff;
  font-weight: 700;
  box-shadow: none;
  padding: 20px;
}
.custom-accordion .accordion-button:not(.collapsed) {
  background: rgba(37,99,235,0.1);
  color: #93c5fd;
}
.custom-accordion .accordion-button::after {
  filter: invert(1);
}
.custom-accordion .accordion-body {
  color: var(--muted);
  background: rgba(255,255,255,0.01);
  line-height: 1.8;
  padding: 20px;
}

/* --- FIX FOOTER NEWSLETTER FORM --- */
.newsletter-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
  width: 100%;
}
.newsletter-input {
  position: relative;
  flex: 1;
}
.newsletter-input i {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #7f8b9d;
  font-size: 1.1rem;
}
.newsletter-input input {
  width: 100% !important;
  height: 50px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  padding-left: 45px !important;
  color: #fff !important;
  outline: none;
  transition: border-color 0.3s ease;
}
.newsletter-input input:focus {
  border-color: #3b82f6 !important;
}
.newsletter-form button {
  height: 50px !important;
  width: auto !important;
  padding: 0 25px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #2563eb, #7c3aed) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.newsletter-form button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important;
}
@media (max-width: 480px) {
  .newsletter-form {
    flex-direction: column;
  }
  .newsletter-form button {
    width: 100% !important;
    justify-content: center;
  }
}


/* WhatsApp Floating Button */
.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  font-size: 35px;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: all 0.3s ease;
}

.whatsapp-float:hover {
  background-color: #128c7e;
  color: #fff;
  transform: scale(1.1);
  box-shadow: 2px 2px 15px rgba(0,0,0,0.3);
}

@media (max-width: 768px) {
  .whatsapp-float {
    width: 50px;
    height: 50px;
    bottom: 20px;
    right: 20px;
    font-size: 30px;
  }
}

