﻿/*---- main.css ----*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap&font-display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap&font-display=swap');

/* ---- Brand color system (single source of truth — use these vars, not raw hex) ---- */
:root {
  --brand-primary: #6147bd;        /* base brand purple */
  --brand-primary-hover: #845ef7;  /* lighten on hover/active */
  --brand-primary-light: #a78bfa;  /* accents, borders, secondary text */
  --brand-primary-lighter: #c2a8ff;/* subtle backgrounds/icons */
}

/* ---- Production utility classes (replaces inline styles) ---- */
.contact-submit--accent {
  background-color: var(--brand-primary);
}

/* Screen-reader-only (SEO-friendly hidden text) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Section label styling (replaces h3/h5 used as labels) */
.section-label {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--brand-primary-light);
  margin-bottom: 0.5rem;
}

/* Hero headline (maintains visual appearance of original h1) */
.hero-headline {
  font-size: clamp(2.2rem, 5.2vw, 3.8rem);
  font-weight: 900;
  line-height: 1.15;
  color: #fff;
  margin: 0 auto;
  word-break: break-word;
  overflow-wrap: break-word;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  text-wrap: balance;
  max-width: 1050px;
  width: 100%;
  padding: 0 20px;
}

/* Top Navigation Bar */
.navbar-top {
  background-color: #111111;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.navbar-secondary {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
}

.navbar-secondary li {
  display: inline-flex;
}

.navbar-secondary li:not(:last-child)::after {
  content: "|";
  margin-left: 1.5rem;
  color: rgba(255, 255, 255, 0.5);
}

.navbar-secondary a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

.navbar-secondary a:hover {
  color: white;
}

.navbar--dark {
  background-color: #111111;
}

.nav-cta-btn {
  width: 155px;
  height: 42px;
  text-decoration: none;
}

.cta-button--wide {
  width: 165px;
  height: 42px;
  text-decoration: none;
}

.cta-text--padded {
  padding: 20px;
}

.cta-desc {
  font-size: 14px;
}

.footer-inner {
  border: 2px solid #000;
  border-top : 1px solid 
}

.footer-contact-link {
  text-decoration: none;
  color: inherit;
}

.footer-copy {
  color: #e0e0e0;
}

.footer-bottom {
  border-top: 1px solid rgba(245, 245, 245, 0.4);
}

.ft_link--top-margin {
  margin-top: 20px;
}

.project-content--flex {
  margin-top: 1rem;
}

.project-tags {
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-arrow-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s ease-in-out;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}




body {
  font-family: 'Inter', sans-serif;
  background: linear-gradient(to top, #111111, #111111);
  color: white;
  min-height: 100vh;
}

.gallery-container img,
.img1 {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /* filter: brightness(0.55) blur(1.5px) !important; */
}


nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.navbar-nav .nav-link {
  margin: 0 1.5rem;
  color: #ccc;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: white;
  letter-spacing: 1px;
  text-decoration: underline;
}

.navbar-toggler {
  border: none;
  background: transparent;
  outline: none;
  padding: 0.25rem;
}

.toggler-icon {
  display: block;
  width: 30px;
  height: 3px;
  background-color: white;
  /* White lines */
  margin: 6px auto;
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
}

/* Navbar alignment handled by utility classes now */

.nav-logo,
#myImage {
  width: 150px;
  /* Desktop size */
  height: auto;
  transition: width 0.3s ease;
  display: block;
  /* ensure block level behavior */
  flex-shrink: 0;
}

nav>.container>a {
  flex-shrink: 0;
}

/* Default (hamburger) */
.navbar-toggler.collapsed .top-bar {
  transform: rotate(0) translate(0, 0);
}

.navbar-toggler.collapsed .middle-bar {
  opacity: 1;
}

.navbar-toggler.collapsed .bottom-bar {
  transform: rotate(0) translate(0, 0);

}

/* When expanded → show X */
.navbar-toggler:not(.collapsed) .top-bar {
  transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler:not(.collapsed) .middle-bar {
  opacity: 0;
}

.navbar-toggler:not(.collapsed) .bottom-bar {
  transform: rotate(-45deg) translate(6px, -6px);
}

.my-container {
  display: none;
}

@media (max-width: 991px) {
  .navbar-nav.d-flex.flex-row .nav-item {
    margin-left: 15px;
    /*gap between menus*/
  }

  .my-container {
    display: block;
  }
}

.hero11 {
  /* text-align: center; */
  padding: 40px 20px;
  /* height: 100px; */
}

#b1 {
  position: absolute;
  right: 5px
}

@media (max-width: 768px) {
  .hero11 {
    margin-top: -50px;
  }

  .hero11 h1 {
    font-size: 20px;
    text-align: left;
  }

  .hero11 p {
    font-size: 16px;
  }

  #b1 {
    left: 20px;
    margin-top: -30px;
  }

}



.cta-button::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 7px;
  width: 17px;
  height: 7px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  filter: blur(2px);
  transform: rotate(-20deg);
}

.cta-button span {
  margin-right: 10px;
}

.icon-circle {
  background: var(--brand-primary-lighter);
  border-radius: 50%;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-circle svg {
  width: 14px;
  height: 14px;
  stroke: var(--brand-primary);
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  background: var(--brand-primary);
  padding: 0.8rem 1.2rem;
  border: none;
  border-radius: 999px;
  color: white;
  font-weight: bold;
  cursor: pointer;
  position: relative;

  width: 150px;
  box-shadow: 0 4px 10px rgba(97, 71, 189, 0.5);
  font-family: sans-serif;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
}

.cta-button::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #fff;
  transform: translateX(100%);
  border-radius: 50px;
  z-index: -1;

  transition: all 0.7s linear;
}

.cta-button:hover::after {
  transform: translateX(0%);
  box-shadow: 0 4px 15px rgba(110, 84, 187, 0.4);
  transition: all 0.7s linear;

}

.cta-button .arrow {
  transition: all .5s linear;
  background-image: url("../img/arrow.png");
  background-size: 43px 40px;
  width: 43px;
  height: 42px;
  position: absolute;
  top: 0px;
  right: -10px;
  background-color: #fff;
  border-radius: 50%;
  transition: background-color 1s ease, transform 0.3s ease;
}

.cta-button:hover {
  color: var(--brand-primary);
  transition: 1s;
}

.cta-button:hover .arrow {
  background-color: #fff;
  transition: all .5s linear;
  transform: rotate(35deg);
}

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10rem 1.5rem;
  position: relative;
  background-image: url('../img/');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  overflow: hidden;
}

/* .hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(139, 83, 165, 0.6), transparent);
  animation: light-move-left 12s ease-in-out infinite;
} */

/* .hero::after {
  content: '';
  position: absolute;
  top: 0;
  right: -50%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to left, rgba(98, 26, 156, 0.6), transparent);
  animation: light-move-right 12s ease-in-out infinite;
} */

@keyframes light-move-left {
  0% {
    left: -50%;
    opacity: 0.8;
  }

  50% {
    left: 0;
    opacity: 1;
  }

  100% {
    left: 0;
    opacity: 0;
  }
}

@keyframes light-move-right {
  0% {
    right: -50%;
    opacity: 0.8;
  }

  50% {
    right: 0;
    opacity: 1;
  }

  100% {
    right: 0;
    opacity: 0;
  }
}

.hero h1 {
  font-size: 60px;
  font-weight: 800;
  line-height: 1.3;
}

.hero p.subtext {
  margin-top: -0.5rem;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.75;
  text-align: center;
  color: #E0E0E0;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
  word-break: break-word;
  overflow-wrap: break-word;
}

.hero button {
  margin-top: 2rem;
}

/* ux header */
.ux-header {
  margin-top: 80px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0px;
  justify-content: center;
  max-width: 100%;
  padding: 0 120px;
  /* side padding for small screens */
  box-sizing: border-box;
}

.ux-header .ux-badg {
  width: 116px;
  height: 52px;
  background-image: url("../img/ui.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  z-index: 100;
}

.ux-header .ux-end {
  width: 50px;
  height: 50px;
  background-color: var(--brand-primary);
  border-radius: 0px 20px 20px 0px;
  flex-shrink: 0;
}

.ux-tags {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 15px;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  margin: 0;
  margin-left: -10px;
  z-index: 100;
}

.ux-tags li {
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 1px;
  margin-left: 13px;
  white-space: nowrap;
  /* prevent breaking word */


  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 21px;
  /* identical to box height */
  text-align: center;

  color: #FFFFFF;

  transform: rotate(0.14deg);
  z-index: 100;


}

@media screen and (max-width:750px) {
  .ux-header .ux-end {
    display: none;
  }

  .ux-header {
    padding: 0 10px;
  }
}

/* about section start */
.ux-content {
  position: relative;
  text-align: center;
  margin: 50px auto;
  width: 100%;
  max-width: 755px;
  height: auto;
  padding: 20px;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-sizing: border-box;
}

/* Subtitle */
.ux-subtitle {
  color: #aaa;
  margin-bottom: 5px;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Title */
.ux-title {
  margin-top: -20px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;

  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-size: 40px;
  line-height: 48px;
  /* or 120% */
  text-align: center;

  color: #F5F5F5;


}

.highlight {
  color: var(--brand-primary);
  /* font-style: ; */
}

/* Description */
.ux-description {
  margin-top: -10px;
  color: #ccc;
  font-size: 1rem;
  max-width: 734px;
}

/* View More */
.view-more {
  display: inline-block;
  margin-top: 24px;
  color: white;
  text-decoration: none;
  border-bottom: 1px solid white;
  font-weight: 500;
  transition: 0.3s;
  width: 114px;
  height: 30px;
  margin-bottom: 20px;
}

.view-more:hover {
  color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* ✅ Mobile Responsive */
@media (max-width: 768px) {
  .ux-content {
    width: 100%;
    max-width: 349px;
    height: auto;
    padding: 15px;
    gap: 24px;
  }

  .ux-subtitle {
    font-size: 0.9rem;
    flex-direction: column;
    /* text aur line neeche aa jaye */
    gap: 4px;
    margin-top: 10px !important;
  }

  .ux-title {
    font-size: 1.5rem;
  }

  .ux-description {
    font-size: 0.9rem;
    margin-top: 8px;
  }

  .view-more {
    margin-top: 10px;
    font-size: 0.9rem;
    /* margin-bottom: 100px; */
  }
}

.ux-subtitle {
  color: #aaa;
  margin-bottom: 45px;
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  /* text upar, line niche */
  align-items: center;
  /* center align */
  gap: 6px;
  /* text aur line ke beech space */
}

.ux-line {
  width: 63px;
  height: 1px;
  background-image: url('img/Ellipse\ 581.png');
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
}

/* about end */

.ux-image-container {
  margin-top: 50px;
  position: relative;
  max-width: 1240px;
  /* ✅ desktop default width */
  height: 349px;
  /* ✅ desktop default height */
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #333;
  border-radius: 15px;
  padding: 15px;
  box-shadow: 0 0 15px rgba(157, 78, 255, 0.3);
  /* overflow: hidden; tags overflow na kare */
  /* z-index: -1; */
}

.ux-image {
  width: 400px;
  border-radius: 10px;
  position: relative;
  left: 370px;
  bottom: 10px;
  height: 380.39px;
  z-index: 0;

}

/* ✅ Mobile Responsive */
@media (max-width: 768px) {
  .ux-image-container {
    display: none !important;
  }

  .ux-image {
    width: 80%;
    height: auto;
    left: 0;
    bottom: 0;
    top: 0;
    margin: 0 auto;
    display: block;
    transform: none;
  }

  .floating-tag,
  .tag-image {
    display: none !important;
  }

  #fixitBtn {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    margin: 20px auto 0;
    transform: none !important;
  }
}

.floating-tag {
  position: absolute;

  /* background: #111; */
  border: 1px solid var(--brand-primary);
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 12px;
  color: #FFFFFF;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 0 30px 10px rgba(200, 177, 228, 0.2);
}

/* Button container ko fixed top par rakhna */


.fixit-btn {
  width: 101px;
  height: 45px;
  display: flex;
  align-items: center;
  /* vertical center */
  justify-content: center;
  gap: 6px;
  border: 0.5px solid #7d3cff;
  border-radius: 8px;
  background: #7d3cff;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  opacity: 1;
  z-index: 3;
  box-shadow: 0 0 10px rgba(125, 60, 255, 0.6);
  position: relative;
  /* pseudo-element ke liye */

  /* overflow: hidden; */
}


.fixit-logo:first-child(1) {
  position: absolute;
  top: -10px;
  /* thoda upar se dikhाना */
  left: 5px;
  /* left side me set karo */
  width: 40px;
  height: 40px;
  z-index: -1;
  /* button ke piche */
}




/* Fix It logo */
.fixit-logo {
  width: 70px;
  height: 60px;
  position: relative;
  z-index: -1;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

.floating-tag.yellow {
  background: yellow;
  color: black;
  border-color: yellow;
}

.floating-tag.purple {
  background: #7d3cff;
  border-color: #7d3cff;
}

.floating-tag.green {
  background: #00ff99;
  border-color: #00ff99;
  color: black;
}

.floating-tag.orange {
  background: orange;
  border-color: orange;
}

.floating-tag {
  position: absolute;
  background: #111;
  border: 1px solid var(--brand-primary);
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 0 30px 10px rgba(200, 177, 228, 0.2);
  display: flex;
  flex-direction: column;
  /* span को नीचे लाने के लिए */
  align-items: center;
}



.fixit-btn {
  pointer-events: auto;
  /* button को clickable बनाए */
  cursor: pointer;
  z-index: 5;
}

.ux-image {
  width: 287px;
  height: 286px;
  border-radius: 0px;
  position: relative;
  left: 450px;
  top: 25px;
  z-index: 0;
  transform: rotate(-16.65deg);
}

@media (max-width: 768px) {
  .ux-header {
    height: 52px;
  }
}

.trail {
  position: absolute;
  width: 14px;
  height: 14px;
  background: #b18cff;
  /* purple glow like in image */
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.5;
  box-shadow: 0 0 15px #b18cff, 0 0 30px #b18cff;
  animation: fade 0.6s forwards;

}

@keyframes fade {
  to {
    opacity: 0;
    transform: scale(2);
  }
}

#heading {
  position: relative;
  display: block;
  cursor: default;
  z-index: 100;
}

/* our section */
.section-title {
  text-align: center;
  margin-bottom: 40px;
  max-width: 720px;
  /* Desktop width जैसा आपने दिया */
  margin-left: auto;
  margin-right: auto;
}

.section-title p {
  font-size: 16px;
  color: #ccc;
  margin-bottom: 10px;
}

.section-title h2 {
  font-size: 40px;
  /* Desktop */
  font-weight: 600;
  line-height: 52px;
}

.section-title span {
  color: var(--brand-primary);

  /* font-style: italic; */
}

/* 📱 Mobile View */
@media (max-width: 768px) {
  .section-title {
    max-width: 90%;
    margin-bottom: 20px;
  }

  .section-title h2 {
    font-family: "DM Sans", sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: 0;
    text-align: center;
  }

  .section-title span {
    font-family: "DM Sans", sans-serif;
    font-size: 22px;
    font-weight: 600;
    font-style: italic;
    line-height: 40px;
    text-align: center;
    color: var(--brand-primary);
  }

  .section-title p {
    font-size: 14px;
    line-height: 20px;
    color: #aaa;
    margin-top: 8px;
  }
}

/* our section end */

/*service section */

.services {
  display: flex;
  gap: 20px;
  justify-content: center;
  padding: 40px;
  flex-wrap: wrap;
}

/* Group 1171276189 */




.service-card:nth-child(1) .service-icon img {
  /* transition: 0.3s ease-in-out; */
}

.service-card:nth-child(1):hover .service-icon img {
  width: 90px;
  height: 90px;
  content: url("../img/icone3.png");
}

/* Service 2 */
.service-card:nth-child(2) .service-icon img {
  /*  transition: 0.3s ease-in-out; */
}

.service-card:nth-child(2):hover .service-icon img {
  width: 90px;
  height: 90px;
  content: url("../img/icone1.png");
}

/* Service 3 */
.service-card:nth-child(3) .service-icon img {

  /* transition: 0.3s ease-in-out; */
}

.service-card:nth-child(3):hover .service-icon img {
  width: 90px;
  height: 90px;
  content: url("../img/shop2.png");
}

.service-card {
  /* 👉 Default purple gradient */
  background: linear-gradient(135deg, #6349C0, #0E0238);
  border-radius: 15px;
  padding: 30px 20px;
  width: 100%;
  max-width: 400px;
  min-height: 360px;
  height: auto;
  text-align: center;
  transition: all 0.4s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  /* box-shadow: 0 8px 25px rgba(122, 47, 244, 0.4); */
}

.service-card h3 {
  margin-top: 15px;
  font-size: 30px;
}

.service-card p {
  font-size: 0.95rem;
  margin: 15px 0;
  color: #eee;
}

.service-card a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
  transition: 0.3s;
  border-bottom: 1px solid #fff;
}

.service-card a:hover {
  color: #d0a7ff;
}

/* 👉 Hover me wapas light/transparent ho */
.service-card:hover {
  background: rgba(255, 255, 255, 0.05);
  /*transform: translateY(-8px);*/
  box-shadow: 0 5px 20px rgba(97, 96, 96, 0.6) inset;
}

.service-icon {
  width: auto;
  height: 90px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  /* center align and spacing */
}

.service-icon img {
  width: 150px;
  /* icon ka actual size */
  height: 150px;
  object-fit: contain;
  border-radius: 50px;
}

/* Desktop: card-content wrapper is invisible — layout unchanged */
.service-card-content {
  display: contents;
}

.section-title p {
  font-size:16px;
  color: #cccccc;
  margin-top: 10px;
}

.project-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 40px;
  max-width: 1100px;
  margin: auto;
}

.project-text {
  flex: 0 0 350px !important;
  max-width: 350px !important;
  overflow: hidden;
}

.project-text h3 {
  font-size: 1.6rem;
  margin-bottom: 15px;
}

.project-text p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #ccc;
  word-break: break-word;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  background: linear-gradient(90deg, #7a4af9, #9b6bff);
  border-radius: 25px;
  color: #fff;
  font-size: 0.95rem;
  text-decoration: none;
  font-weight: 500;
  transition: 0.3s;
}

.btn:hover {
  opacity: 0.9;
}

/* Slider */
.project-slider {
  position: relative;
  flex: 1;
  min-width: 280px;
  max-width: 600px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.main-slide {
  flex: -1;
  position: relative;
}

.main-slide img {
  width: 316px;
  border-radius: 12px;
  display: none;
}

.main-slide img.active {
  display: block;
}

.preview-slide {
  flex: 1;

}

.next-btn {
  position: absolute;
  top: 50%;
  right: -150px;
  transform: translateY(-50%);
  background-image: url("img/Group\ 1171275978.png");
  background-size: cover;
  border-radius: 50%;
  width: 140px;
  height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background 0.3s;
  z-index: 10;
  left: 120%;
}



.next-btn span {
  font-size: 20px;
  color: #fff;
}

.preview-slide img {
  width: 282px;
  height: 286px;
  object-fit: cover;
  filter: blur(3px);
  opacity: 0.45;
  border-radius: 12px;
}



@media (max-width: 768px) {
  .project-container {
    width: 100%;
    height: auto;
    flex-direction: column;
    text-align: center;
    gap: 0;
    margin: 0 auto;
    overflow: visible;
  }

  /* Text नीचे आए */
  .project-text {
    order: 2;
    padding: 10px 15px;
    background: #0d0d1a;
    /* Dark background for readability */
    border-radius: 0 0 12px 12px;
  }

  .project-text a.cta-button {
    margin: 20px auto 0 !important;
    display: flex !important;
    justify-content: center;
    font-size: 13.5px;
  }

  .project-text h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: #fff;
  }

  .project-text p {
    font-size: 0.9rem;
    margin-bottom: 15px;
    color: #ccc;
  }

  .btn {
    font-size: 0.9rem;
    padding: 8px 14px;
  }

  /* Slider ऊपर आए */
  .project-slider {
    order: 1;
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .main-slide {
    width: 100%;
    position: relative;
  }

  .main-slide img {
    width: 100%;
    height: auto;
    border-radius: 12px 12px 0 0;
    display: none;
  }


  .main-slide img.active {
    display: block;
  }


  /* Preview नीचे नहीं जाएगा, blurred bg जैसा रहेगा */
  .preview-slide {
    display: none;
    /* mobile में hide कर दिया */
  }

  /* Arrows (Next/Prev) दोनों side में */
  .next-btn {
    width: 40px;
    height: 40px;
    background-size: contain;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }

  .prev-btn {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    background-image: url("../img/left-arrow.png");
    /* अपना left arrow png लगाना */
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 10;
  }

  .prev-btn {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(50%);
    background-image: url("../img/left-arrow.png");
    /* अपना left arrow png लगाना */
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 10;
  }

}

/* jerny section */

/* Desktop Styles */
.cta-section {
  width: 100%;
  max-width: 1240px;
  background: #0B0A11;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  margin: 60px auto 100px auto;
  position: relative;
  padding: 0;
  border: 1px solid rgba(92, 110, 172, 0.15);
}

.dots-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 50%;
  bottom: 0;
  z-index: 0;
  background: transparent;
  pointer-events: none;
}

.dots-bg canvas {
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0.2;
}

.cta-container {
  display: flex;
  align-items: stretch;
  width: 100%;
  border-radius: 0;
  gap: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  border: none;
}

.cta-text {
  flex: 1;
  padding: 80px 60px 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
}

.cta-text h1,
.cta-text h2 {
  font-size: 35px;
  line-height: 1.2;
  margin-bottom: 20px;
  font-weight: 600;
  text-align: left;
}

.cta-text p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #cccccc;
  margin-bottom: 30px;
  max-width: 450px;
  text-align: left;
}

.cta-text .highlight {
  /* font-style: italic; */
  font-weight: 600;
  color: var(--brand-primary);
}

.cta-image {
  flex: 1;
  display: flex;
  align-items: stretch;
}

.cta-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: left center;
}

.cta-section .cta-button {
  width: auto;
  min-width: 165px;
  height: 48px;
  padding: 0 24px 0 24px;
  font-size: 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6c47ff, #8a6cfc);
  box-shadow: 0 0 20px 4px rgba(108, 71, 255, 0.4);
  font-weight: 600;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.cta-section .cta-button .arrow {
  position: static;
  width: 32px;
  height: 32px;
  background-size: 24px;
  background-position: center;
  border-radius: 50%;
  display: flex;
  margin-left: 0;
  margin-right: -22px;
}

/* 📱 Mobile Styles */
@media (max-width: 768px) {
  .cta-section {
    width: 100%;
    height: auto;
    padding: 1.5rem 1rem;
  }

  .cta-container {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .cta-image {
    order: -1;
    text-align: center;
  }

  .cta-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
  }

  .cta-text {
    padding: 0;
  }

  .cta-text h1 {
    font-size: 1.6rem;
  }

  .cta-text p {
    font-size: 0.95rem;
  }

  /* Mobile par dots background hide */
  .desktop-only {
    display: none;
  }

  .cta-blur-overlay {
    display: none;
  }


}

/* .cta-blur-overlay {
  position: absolute;
  left: 600px;
  border: 2px solid beige;
  width: 121px;
  height: 636px;
  background-image: url("../img/shadow.png");
  background-position-x: -60px;
  filter: blur(15px);
} */

/* jurny end */

/* our Ecosystem */
.ecosystem {
  text-align: center;
  padding: 80px 20px;
  /* background: #0d0d0d; */
  color: white;

}

.ecosystem .subtitle {
  font-size: 0.9rem;
  color: #aaa;
  margin-bottom: 10px;
}

.ecosystem h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.ecosystem h2 span {
  background: linear-gradient(135deg, #6a5af9, #8c6aff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ecosystem .description {
  color: #bbb;
  max-width: 751px;
  margin: 0 auto 50px auto;
  font-size: 16px;
  line-height: 1.6;
}

.cards {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.cards .card {
  background: #1a1a1a;
  padding: 30px;
  border-radius: 12px;
  flex: 1;
  min-width: 280px;
  max-width: 608px;
  height: 188px;
  position: relative;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.card h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  font-weight: 500;
  width: 339.25px;
  color: #FFFFFF;
}

.card p {
  color: #aaa;
  font-size: 1rem;
  line-height: 1.6;
}

.card .arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  font-size: 1.5rem;
  width: 35px;
  height: 35px;
  background-image: url("img/guidance_up-arrow.png");
  /* transition: transform 0.3s; */
}

.card:hover {
  border-color: #6a5af9;
  background: var(--brand-primary);

}

.card:hover .arrow {
  transform: rotate(35deg);

}

/* Index ecosystem partners — responsive grid (any count from admin CMS) */
.ecosystem .cards.ecosystem-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  align-items: stretch;
}

.ecosystem .eco-home-wrap {
  min-width: 0;
  display: flex;
}

.ecosystem .eco-home-hit {
  display: flex;
  flex: 1;
  width: 100%;
  min-height: 100%;
  color: inherit;
}

.ecosystem .eco-home-hit--static {
  cursor: default;
}

.ecosystem .cards.ecosystem-cards .card {
  flex: 1;
  max-width: none;
  width: 100%;
  height: auto;
  min-height: 188px;
}

/* our Ecosystem */
.ecosystem {
  text-align: center;
  padding: 80px 20px;
  /* background: #0d0d0d; */
  color: white;
}

.ecosystem .subtitle {
  font-size: 0.9rem;
  color: #aaa;
  margin-bottom: 10px;
}

.ecosystem h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.ecosystem h2 span {
  background: var(--brand-primary); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ecosystem .description {
  color: #bbb;
  max-width: 1000px;
  margin: 0 auto 50px auto;
  font-size: 16px;
  line-height: 1.6;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.cards>a,
.cards > .eco-home-wrap {
  display: flex;
  text-decoration: none;
}

.cards > .eco-home-wrap {
  color: inherit;
}

.card {
  width: 100%;
  background: #111111;
  padding: 30px;
  border-radius: 12px;
  position: relative;
  text-align: left;
  border: 1px solid #2e2e3e;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  display: flex;
  flex-direction: column;
}

.card h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.card p {
  color: #b2bad6;
  font-size: 13px;
  line-height: 1.6;
  flex-grow: 1;
}

.card .arrow {
  position: absolute;
  right: 20px;
  bottom: 127px;
  font-size: 1.5rem;
  color: var(--brand-primary-light);
  transition: transform 0.3s;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
  border-color: var(--brand-primary-light);
}

.card:hover .arrow {
  transform: rotate(28deg);
}

/* our Ecosystem end */
/* our value reviews */
.reviews-section {
  text-align: center;
  padding: 60px 20px;
  /* background: #0d0d0d; */
  color: #fff;
}

.reviews-section h5 {
  color: #aaa;
  font-size: 1rem;
  margin-bottom: 10px;
}

.reviews-section h2 {
  font-size: 2rem;
  margin-bottom: 15px;
}

.reviews-section h2 span {
  background: var(--brand-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reviews-section p {
  color: #bbb;
  max-width: 700px;
  margin: 0 auto 40px auto;
  font-size: 16px;
  line-height: 1.6;
  overflow: hidden;
}

.reviews-grid {
  display: flex;
  justify-content: center;
}

.review-images {
  height: 450px;
  padding: 10px;
  background: #1a1a1a;
  border-radius: 12px;
  background-image: url("../img/Component 139.png");
  width: 90%;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  position: relative;
}


.review-images img:hover {
  transform: scale(1.05);
}

/* our value reviews end*/

/* image section */
.faq-section {
  padding: 50px 20px;
  max-width: 1240px;
  margin: auto;
}

.faq-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
  flex-wrap: wrap;
}

/* Left Side (Accordion) */
.faq-left {
  flex: 1 1 55%;
}

body {
  background: #111111;
  font-family: 'Inter', Arial, sans-serif;
}

.faq-left {
  min-width: 360px;
}

.faq-main-container {
  width: 100vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 64px;
  padding: 72px 56px 0 56px;
  box-sizing: border-box;
}

.faq-left {
  flex: 0 0 480px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.faq-item {
  background: #111;
  border: 1px solid #333;
  border-radius: 10px;
  margin-bottom: 15px;
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.3s;
  position: relative;
  flex-direction: column;
}

.faq-item:hover {
  background: #1a1a1a;
}

.faq-item h3 {
  margin: 0;
  font-size: 24px;
  font-weight: normal;
  color: #fff;
  align-self: flex-start;
}

.faq-toggle {
  font-size: 1.5rem;
  color: #fff;
  transition: transform 0.3s;
  position: absolute;
  right: 10px;
  top: 20px;
  z-index: 2;
}

.faq-item.active .faq-toggle {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(.74, 1.45, .63, 1.1);
  color: #bbb;
  font-size: 0.9rem;
  margin-top: 10px;
  width: 98%;
  padding-left: 2px;
}

.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-right {
  flex: 1 1 420px;
  color: #fff;
  margin-top: 6px;
  margin-left: 32px;
}

.faq-right h2 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.16;
}

.faq-right h2 span {
  color: var(--brand-primary);
  /* font-style: italic; */
}

.faq-right p {
  color: #ccc;
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 16px;
  text-align: justify;
}

.faq-link {
  display: inline-block;
  margin-top: -20px;
  color: white;
  text-decoration: none;
  border-bottom: 1px solid white;
  font-weight: 500;
  transition: 0.3s;
  width: 114px;
  height: 30px;
}

.faq-link:hover {
  color: var(--brand-primary);
  border-color: var(--brand-primary);
}

@media (max-width: 820px) {
  .faq-main-container {
    flex-direction: column;
    gap: 32px;
    padding: 24px 12px 0 12px;
  }

  .faq-left,
  .faq-right {
    flex: 1 1 100%;
    margin-left: 0;
    max-width: 100%;
  }

  .faq-right h2 {
    text-align: center;
  }
}

.view-link {
  display: inline-block;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding-bottom: 2px;
  transition: color 0.3s, border-color 0.3s;
}

.view-link:hover {
  color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
}

/* Tilted Images */
.images-row {
  display: flex;
  justify-content: center;
  gap: 0px;
  height: 364px;
  position: relative;
  top: 50px;
  /* border: 2px solid beige; */
  overflow: hidden;
}

.images-row img {
  width: 213.32px;
  height: 284.42px;
  transform: rotate(var(--angle));
  transition: all 0.4s ease;
  position: relative;
  top: 110px;
  /* default niche */
  cursor: pointer;
  border: 5px solid #fff;
  z-index: 0;

}

.images-row img.active {
  transform: scale(1.08);
  top: 20px;
  z-index: 10;
}

.img1 {
  left: 15px;
  /* filter: brightness(0.55) blur(1.5px); */

}

/* Responsive for Mobile */
@media (max-width: 768px) {

  .faq-link {
    margin-left: 140px;
  }

  .faq-container {
    display: grid;
    grid-template-columns: auto auto auto;

  }

  .faq-right h2 {
    text-align: center !important;
  }

  .img-ux

  /* Right side (heading) ko top par le aao */
  .faq-right {
    order: -1;
    /* sabse pehle aayega */
    text-align: center;
    margin-bottom: 30px;
  }

  .faq-left {
    order: 2;
    /* heading ke baad aayega */
  }

  .images-row {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    padding: 16px 16px 24px !important;
    top: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: flex-start !important;
  }

  .images-row::-webkit-scrollbar {
    display: none;
  }

  .images-row img,
  .images-row img.img1 {
    width: 130px !important;
    min-width: 130px !important;
    height: 170px !important;
    flex-shrink: 0 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    border: 3px solid rgba(255, 255, 255, 0.75) !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    z-index: auto !important;
    cursor: pointer;
  }

  .images-row img.active {
    transform: scale(1.03) !important;
    top: 0 !important;
    box-shadow: 0 6px 20px rgba(97, 71, 189, 0.4) !important;
  }

  .img1 {
    left: 0 !important;
  }


  .images-row img {
    width: 80px;
    height: 118px;
    top: 61px;
    margin: 0px 5px;
  }
}

/* image section end */
/* footer section */
.footer {
  background: #0e0e0e;
  color: #fff;
  padding-top: 0;
  font-family: Arial, sans-serif;
  z-index: 1;
  position: relative;
}

/* Top Image Section */
.footer-images {
  display: flex;
  justify-content: center;
  gap: 0px;
}

.footer-images img {
  width: 210px;
  margin: 10px;
  /* transform: rotate(20deg); */
  transition: transform 0.5s ease;
  cursor: pointer;
  border: 4px solid #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.footer-images img.active {
  transform: translateY(-20px) scale(1.1);
  z-index: 10;
}


/* Footer Content */
.footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 40px 20px;
  border-top: 0px solid #333;
}

.footer-logo img {
  width: 180px;
  margin-bottom: 20px;
}

.social-icons a {
  display: inline-block;
  font-size: 18px;
  color: #fff;
  background: transparent;
  padding: 5px;
  border-radius: 50%;
  transition: 0.3s;
}

.social-icons a:hover {
  background: transparent;
}

.footer-links h4,
.footer-contact h4 {
  font-size: 16px;
  margin-bottom: 15px;
  font-weight: bold;
}

.footer-links ul {
  list-style: none;
  padding: 0;
}

.footer-links ul li {
  margin-bottom: 10px;
}

.footer-links ul li a {
  color: #ccc;
  text-decoration: none;
  transition: 0.3s;
  /* Home */


  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  font-size: 16px;
  line-height: 24px;
  /* or 150% */

  color: #E0E0E0;


}

.footer-links ul li a:hover {
  color: #fff;
}

.footer-contact p {
  margin: 8px 0;
  color: #ccc;
}

.footer-contact i {
  margin-right: 10px;
  color: #fff;
}

/* Bottom Bar */

.footer-policies a {
  margin: 0 2px;
  color: #ccc;
  text-decoration: none;
}

.footer-policies a:hover {
  color: #fff;
}

.footer-copyright-link {
  color: #e0e0e0;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-copyright-link:hover,
.footer-copyright-link:focus-visible {
  color: #fff;
  text-decoration: underline;
  outline: none;
}

.site-index-page {
  background: #111111;
}

.site-index-main {
  min-height: 60vh;
}

.site-index-intro {
  padding: 48px 0 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-index-intro h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 600;
}

.site-index-lead {
  margin: 0 0 24px;
  color: #b5b5b5;
  font-size: 1rem;
  max-width: 720px;
}

.site-index-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.site-index-search {
  flex: 1 1 280px;
  max-width: 520px;
  background: #0e0e0e;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: #fff;
  padding: 12px 14px;
  font-size: 0.95rem;
}

.site-index-search:focus {
  outline: 2px solid var(--brand-primary);
  outline-offset: 1px;
}

.site-index-count {
  color: #9a9a9a;
  font-size: 0.9rem;
  white-space: nowrap;
}

.site-index-directory {
  padding: 32px 0 80px;
}

.site-index-grid {
  column-width: 220px;
  column-gap: 40px;
}

.site-index-group {
  break-inside: avoid;
  margin-bottom: 28px;
}

.site-index-letter {
  margin: 0 0 12px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.site-index-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-index-item {
  margin: 0 0 8px;
}

.site-index-item a {
  color: #c8c8c8;
  text-decoration: none;
  font-size: 0.92rem;
  line-height: 1.4;
  transition: color 0.2s ease;
}

.site-index-item a:hover,
.site-index-item a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.site-index-empty {
  color: #b0b0b0;
  padding: 24px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .site-index-intro {
    padding-top: 32px;
  }

  .site-index-grid {
    column-width: 160px;
    column-gap: 24px;
  }
}

.footer-content {
  padding-top: 50px !important;
}

/*---- about.css ----*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

body {
  background: #111111;
  color: #d1d5db;
  font-family: 'Inter', Arial, sans-serif;
  min-height: 100vh;
}

.navbar {
  background: #111111;
  transition: background-color 0.3s ease;
  padding: 1.25rem 0;
  height: 92px;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.navbar-collapse {
  /* background-color: #111111 !important; */
  margin-left: -5px;
}

.navbar .scrolled {
  background: rgba(0, 0, 0, 0.85);
  /* Scroll background color */
}

.navbar .logo {
  background-image: url("../img/LOGO.png");
  background-size: 190px 30px;
  background-repeat: no-repeat;
  width: 200px;
  height: 30px;
  margin-left: 0px;

}

/* Fullscreen Top Offcanvas */


.navbar-brand {
  color: #fff;
  font-weight: 800;
  letter-spacing: 1px;
  font-size: 1.15rem;
}

.navbar-nav .nav-link {
  color: #a3a3ac;
  margin-right: 1.5rem;
  font-weight: 500;
  transition: color 0.15s;
  font-size: 1.05rem;
}

.navbar-nav .nav-link.active {
  color: #ebeaee;
}

/* ── Navbar Icons & CTA Container ── */
.navbar-icons-cta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: 16px;
}

.nav-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #a3a3ac;
  transition: all 0.3s ease;
  text-decoration: none;
}

.nav-icon-link:hover {
  color: var(--brand-primary-light);
  transform: translateY(-2px);
}

.nav-icon-link svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: currentColor;
}

.btn-gradient {
  background: linear-gradient(90deg, var(--brand-primary-light), #6366f1 60%);
  color: #fff !important;
  border: none;
  padding: 0.55rem 1.4rem;
  border-radius: 999px;
  font-weight: 500;
  font-size: 1.03rem;
  box-shadow: 0 2px 16px rgba(167, 139, 250, 0.13);
}

/* about header */
.about-header {
  position: relative;

  text-align: center;
  max-width: 100%;
  height: 277px;
  /* background-image: url("../img/about.jpg"); */
  background-size: cover;
  background-position-y: -373px;
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.about-header h1 {
  font-size: 64px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 18px;
  /* 👈 heading और badge के बीच space */
}

/* Mobile Screen */
@media (max-width: 768px) {
  .about-header {
    min-width: 0;
    width: 100%;
    height: auto;
    padding: 3rem 1rem;
    left: 0;
    background-image: url("../img/about.jpg");
    background-size: cover;
    background-position-y: -399px;
  }

  .navbar-collapse {
    background-color: #111111 !important;
    margin-left: -10px;
  }

  .navbar .logo {
    background-image: url("../img/LOGO 2.png");
    background-size: 29px 30px;
    background-repeat: no-repeat;
    /* width: 200px;
    height: 30px; */
    margin-left: 0px;

  }

  .btn-gradient,
  #b1 {
    width: 90%;
    /* Mobile full width minus padding */
    max-width: 155px;
    display: block;
    text-align: center;
    margin-top: -50px;
  }

  .navbar {
    background: #111111;
    transition: background-color 0.3s ease;
    /* Smooth transition */
    padding: 1.25rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .navbar-icons-cta {
    gap: 12px;
    margin-left: 8px;
  }

  .nav-icon-link {
    width: 24px;
    height: 24px;
  }

  .about-header h1 {
    font-size: 1.8rem;
  }

}

@media (max-width: 450px) {
  .about-header {
    background-image: url("../img/about.jpg");
    background-size: cover;
    background-position-y: -537px;
  }
}

.about-desc {
  background: linear-gradient(180deg, #111111 85%, transparent 100%);

  border-radius: 8px;
  padding: 1.4rem 1.7rem 1.3rem 1.7rem;
  max-width: 869px;
  /* desktop size */
  height: 281px;
  height: auto;
  margin: auto;


  margin-bottom: 2.9rem;
  line-height: 1.65;
  box-shadow: 0 3px 30px #17173a2c;
  border-left: 2px solid rgba(255, 255, 255, 0.8);
  /* left white */
  border-right: 2px solid rgba(255, 255, 255, 0.8);
  /* right white */
  border-top: 1px solid #2E2E3E;
  /* top black */
  border-bottom: 1px solid #2E2E3E;
  /* bottom black */


  /* Explore how we craft meaningful digital experiences through strategy, creativity, and user-first thinking. */


  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
  /* or 140% */
  text-align: center;

  color: #E0E0E0;


}




/* Mission/Vision Cards */
.card-glass {
  background: linear-gradient(160deg, #111111 90%, #1e1e27 100%);
  border: 1px solid #33334d;
  border-radius: 16px;
  /* desktop ke liye */
  overflow: hidden;
  box-shadow: 0 4px 35px #14122c38;
  transition: transform 0.11s;
  height: 450px;
  /* desktop height */
  max-width: 608px;
  /* desktop width ek card ka */
  margin: auto;
}

.card-glass:hover {
  transform: translateY(-7px) scale(1.02);
}

.card-glass img {
  width: 100%;
  height: 296px;
  /* desktop image height */
  object-fit: cover;
  object-position: center;
  filter: brightness(0.89) saturate(1.08);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border-bottom: 1px solid #33334d;
}

.card-glass .card-body {
  padding: 1.2rem 1.3rem 1.1rem;
  text-align: center;
}

.card-glass .card-title {
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--brand-primary-light);
  margin-bottom: 0.6rem;
}

.card-glass .card-text {

  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  font-size: 16px;
  line-height: 24px;
  text-align: center;

  color: #E0E0E0;


}

/* 📱 Mobile Screen (max 768px) */
/* Mobile specific */
@media (max-width: 768px) {
  .card-glass {
    height: 196px;
    max-width: 183px;
    /* ek card ka width */
    border-radius: 8px;
    margin: auto;
  }

  /* .about-desc {
    display: none;
  } */

  .card-glass img {
    height: 68px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom: 1px solid #33334d;
  }

  .row.g-4 {
    gap: 24px;
    justify-content: center;
    /* center align karne ke liye */
  }
}

/* end */
/* Process section */
.process-card {
  /* background: linear-gradient(155deg,#111111 90%,#1e1e27 100%); */
  border-radius: 1.05rem;
  /* box-shadow: 0 4px 28px #18162e2c; */
  /* border: 1.1px solid #32334b; */
  /* padding: 1.25rem 1.3rem 1.3rem; */
  margin-bottom: 1.5rem;
  flex: 1;
  overflow: hidden;
}

.process-img {
  width: 100%;
  max-width: 630px;
  max-height: 460px;
  object-fit: cover;
  filter: brightness(0.94) grayscale(30%);
  border-radius: 1rem;
  margin: auto;
  display: block;
}

.process-title {
  color: var(--brand-primary-light);
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: 10px;
}

.process-list {
  color: #b2bad6;
  list-style: none;
  padding: 0;
  margin: 0;
}

.process-list li {
  margin-bottom: 0.7em;
  font-size: 1.05rem;
  position: relative;
  padding-left: 1.25em;
}

.process-list li:before {
  content: '';
  position: absolute;
  left: 0.13em;
  top: 0.55em;
  width: 0.56em;
  height: 0.56em;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
  display: inline-block;
  margin-right: 0.7em;
}

/* Testimonial */
.testimonial-card {
  background: #111111;
  box-shadow: 0 2px 23px #29275118;
  border: 1.1px solid #242349;
  border-radius: 16px;
  max-width: 1250px;
  height: 495px;
  margin: auto;
  margin-bottom: 2.7rem;
  padding: 1.6rem;
  position: relative;
  color: #c3c6db;
}

/* ✅ Testimonial main text */
.testimonial-text {
  display: block;
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 32px;
  color: #c3c6db;
  max-width: 670px;
  padding: 35px;
  height: 88px;
}

/* ✅ Our Philosophy Section */
.philosophy-card {
  max-width: 670px;
  margin: 2rem auto 0;
  padding: 1rem 0;
  color: #c3c6db;
  font-family: "DM Sans", sans-serif;
}

.philosophy-card .philosophy-title {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #fff;
}

.philosophy-card p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 1rem;
  color: #b2bad6;
}

.testimonial-text,
.author {
  display: block;
}

.philosophy-card {
  display: none;
  /* Philosophy section hidden on desktop */
}

/* ✅ Mobile screen */
@media (max-width: 768px) {

  .testimonial-text,
  .author {
    display: none;
    /* hide testimonial text + author on mobile */
  }

  .philosophy-card {
    display: block;
    /* show Our Philosophy section only on mobile */
  }
}

/* ✅ Mobile Responsive */
@media (max-width: 768px) {
  .testimonial-text {
    max-width: 347px;
    font-size: 20px;
    line-height: 28px;
  }

  .philosophy-card {
    max-width: 347px;
    padding: 0.5rem 0;
  }

  .philosophy-card .philosophy-title {
    font-size: 20px;
    line-height: 28px;
  }

  .philosophy-card p {
    font-size: 16px;
    line-height: 24px;
  }
}

/* ✅ Legend quote icon exactly border line pe */
.testimonial-card legend {
  padding: 0 0.6rem;
  /* border ke beech mein thoda spacing */
}

.testimonial-card legend i {
  color: var(--brand-primary-light);
  font-size: 2.2rem;
  opacity: 0.6;
}

/* ✅ Author section */
.quote-image {
  position: relative;
  bottom: 60px;
}

.quote-image img {
  width: 105px;
  height: 85px;
  transform: rotate(0deg);
}

.testimonial-card .author {
  margin-top: 16px;
  width: 356px;
  height: 119px;
  font-size: 32px;
}

.testimonial-card .author-info strong {
  display: block;
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;

}

.testimonial-card .author-info p {
  margin: 0;
  font-size: 0.9rem;
  color: #b2bad6;
}

.testimonial-card .author i {
  color: var(--brand-primary-light);
  font-size: 1.3rem;
  vertical-align: middle;
  transition: color 0.3s;
}

.testimonial-card .author i:hover {
  color: #fff;
}

/* ✅ Mobile Responsive */
@media (max-width: 768px) {
  .testimonial-card {
    max-width: 390px;
    border-radius: 4px;
    padding: 1rem;
  }

  .testimonial-card legend i {
    font-size: 1.6rem;
  }
}

/* CTA Card */
.cta-card {
  background: linear-gradient(142deg, #211e32 77%, #222133 100%);
  border-radius: 1.1rem;
  box-shadow: 0 4px 28px #3830621c;
  border: 1.1px solid #2f2943;
  padding: 2.2rem 2.2rem 2rem 2.2rem;
}

.cta-card h3 {
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}

.cta-card span {
  color: var(--brand-primary-light);
}

.cta-card .btn-gradient {
  margin-top: 1.35rem;
  font-size: 1rem;
}

/* Footer */
.footer-bg {
  background: #111111;

  color: #a1a1aa;
  font-size: 1.02rem;
  padding: 2.2rem 0 1.1rem 0;
  margin-top: 3rem;
  border-top: 2.5px solid #282748;
}

.footer-bg h5,
.footer-bg h6 {
  color: var(--brand-primary-light);
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: .4px;
}

.footer-bg ul li a {
  color: #cdd0eb;
  transition: color .13s;
}

.footer-bg ul li a:hover {
  color: var(--brand-primary-light);
  text-decoration: underline;
}

.footer-bg .fa-envelope,
.footer-bg .fa-phone,
.footer-bg .fa-map-marker-alt {
  color: #6366f1;
  margin-right: 0.55em;
}

.footer-bg .copyright {
  margin-top: 1.6rem;
  color: #757575;
}

/* Responsive */
@media (max-width: 991px) {
  .about-header h1 {
    font-size: 2rem;
  }

  .cta-card {
    padding: 1.5rem 1rem;
  }

  .about-desc {
    padding: 1.1rem 1rem;
    margin: 10px;
    font-size: 13px !important;
  }
}

@media (max-width: 767px) {
  .card-glass img {
    height: 120px;
  }

  .process-img {
    max-width: 100%;
  }

  .footer-bg {
    font-size: 0.98rem;
  }
}

.innovation-badge-exact {
  position: relative;
  display: inline-block;
  background: rgba(35, 34, 60, 0.48);
  color: #e4e0ff;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.15px;
  padding: 0.75rem 2.3rem;
  border-radius: 8px;
  text-align: center;
  line-height: normal;
  /* allow multi-line content */
  z-index: 1;
  border: 1px solid #706e6e;
  backdrop-filter: blur(8px);
  max-width: none;
  /* remove width restriction */
  height: auto;
  /* let height grow naturally */
  overflow: visible;
  font-family: "Inter", sans-serif;
  white-space: normal;
  word-break: break-word;
}

.innovation-badge-exact span {
  color: #fff;
  font-weight: 200;
  /* font-style: italic; */
}

/* Inner shadow for glass effect */
.innovation-badge-exact::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  z-index: -1;
  box-shadow: 0 2px 6px 0 #0003 inset;
  opacity: 0.25;
}

/* 📱 Mobile styles */
@media (max-width: 576px) {
  .innovation-badge-exact {
    width: 100%;
    max-width: 100%;
    height: auto;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    text-align: center;
  }

  .innovation-badge-exact span {
    font-style: italic;
    font-weight: 400;
    font-size: 13px;
    line-height: 21px;
  }
}

/*---- header.css ----*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* --- AUTO-ADDED: Accessibility, variables and responsive helpers --- */

/* universal box-sizing */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
  /* filter: brightness(0.55) blur(1.5px); */
}

.container {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  /* margin-left: 100px;
    margin-right: 100px; */
}

.col {
  flex: 1 1 0;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden; /* fallback */
  overflow-x: clip;   /* doesn't create scroll container — safe for position:sticky */
}

.navbar {
  background: #111111;
  transition: background-color 0.3s ease;
  padding: 1.25rem 0;
  height: 92px;
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.navbar .container {
  display: flex;
  align-items: center;
  width: 1240px;
  justify-content: space-between;
  /* width: 100%; Keep logo left, nav right */
  padding: 0 15px;
}

.navbar .logo {
  background-image: url("../img/LOGO.png");
  background-size: 190px 30px;
  background-repeat: no-repeat;
  width: 200px;
  height: 30px;
  margin-left: 0;
  flex: 0 0 auto;
}

@media (max-width: 992px) {
  .navbar .logo {
    background-image: url("img/LOGO 3.png");
    background-size: 40px 30px;
    background-repeat: no-repeat;
    width: 40px;
    height: 30px;
    margin-left: 0;
    flex: 0 0 auto;
  }

  .reviews-section {
    display: none;
  }
}

/* Only show toggler on mobile */
.navbar-toggler {
  border: none;
  background: transparent;
  outline: none;
  padding: 0.25rem;
  display: none;
  /* Hide by default */
}

@media (max-width: 991.98px) {
  .navbar-toggler {
    display: block;
    margin-left: auto;
    z-index: 1001;
  }

  /* Offcanvas/menu fullscreen on mobile — overridden by NAVBAR COLLAPSE fix block below */
  .navbar-collapse {
    position: fixed;
    top: 92px;
    left: 0;
    width: 100%;
    height: calc(100vh - 92px );
    background: #111111;
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem;
    justify-content: flex-start;
    align-items: center;
    overflow-y: auto;
    transition: all 0.3s ease-in-out;
    z-index: 1000;
    margin-left: 0;
  }

  .navbar-collapse::-webkit-scrollbar {
    display: none;
  }

  /* Contact Us button: center, stack after mobile menus */
  #b1.cta-button {
    position: relative;
    left: auto;
    right: auto;
    text-align: start;
  }

  /* Mobile menus: align left, stack vertically */
  /* .navbar-nav.d-lg-none {
        display: flex;
        flex-direction: column;
        margin-left: 175px;
        position: relative;
        bottom: 180px;
    } */

  /* Hero for mobile: centering, no overlap */
  .hero11 {
    padding: 20px;
    margin: 40px 0;
    width: 100%;
    text-align: start;
  }

  .hero11 h1,
  .hero11 p {
    text-align: left;
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .navbar-nav {
    width: 100%;
  }

  .navbar-nav .nav-item {
    width: 100%;
  }

  .navbar-nav .nav-link {
    padding: 12px 0;
    text-align: left;
  }
}


/* Desktop nav menu spacing */
@media (min-width: 992px) {
  .collapse.navbar-collapse {
    flex-grow: 1;
    justify-content: flex-end;
  }

  .navbar-nav.me-auto {
    margin-left: 50px;
  }
}

@media (min-width: 992px) {
  .navbar-collapse {
    padding: 0;
  }
}

/* Toggler icon (unchanged, should work fine if Bootstrap JS is present) */
.toggler-icon {
  display: block;
  width: 30px;
  height: 3px;
  background-color: white;
  margin: 6px auto;
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
}

.navbar-toggler.collapsed .top-bar,
.navbar-toggler.collapsed .bottom-bar {
  transform: none;
}

.navbar-toggler.collapsed .middle-bar {
  opacity: 1;
}

.navbar-toggler:not(.collapsed) .top-bar {
  transform: rotate(45deg) translate(7px, 7px);
}

.navbar-toggler:not(.collapsed) .middle-bar {
  opacity: 0;
}

.navbar-toggler:not(.collapsed) .bottom-bar {
  transform: rotate(-45deg) translate(6px, -6px);
}



/* Contact Us button base styling (unchanged, only positioning fixed) */
.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  background: var(--brand-primary);
  padding: 0.8rem 1.2rem;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  position: relative;
  width: 150px;
  box-shadow: 0 4px 10px rgba(97, 71, 189, 0.5);
  font-family: sans-serif;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 100;

  /* Get Your Quote Now */

  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 28px;
  /* identical to box height, or 175% */
  text-align: center;

  color: #FFFFFF;



}

.mt120 {
  margin-top: 120px;
}

/* Nav links: no change, just color and hover */
.navbar-nav .nav-link {
  color: #a3a3ac;
  margin-right: 1.5rem;

  transition: color 0.15s;
  font-size: 1.05rem;
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-size: 16px;

}

.navbar-nav .nav-link.active {
  color: #ebeaee;
}

.navbar-nav .nav-link:hover {
  color: #ebeaee;
  text-decoration: underline;
}

/*---- Test.css ----*/
.tag-image {
  position: absolute;
  /* floating-tag के बाहर भी position control करने के लिए */
  width: 98px;
  height: 50px;
  background-size: cover;
  background-repeat: no-repeat;
  /* top और left inline style से control करेंगे */
}

.tag-image {
  width: 80px;
  height: 40px;
  background-size: 76px 40px;
  background-repeat: no-repeat;
  margin-top: 5px;
  /* div के नीचे थोड़ा space */
}

.cards-container {
  width: 1240px;
  height: 495px;
  position: relative;
  border-radius: 16px;
}


/* Cards' specific positions and rotations */
.card1 {
  left: 100px;
  transform: rotate(-8deg);
}

.card11 {
  left: 50px;
  transform: rotate(-8deg);
}

.card2 {
  left: 325px;
  transform: rotate(-5deg);
}

.card3 {
  left: 600px;
  transform: rotate(4deg);
}

.card4 {
  left: 875px;
  transform: rotate(-7deg);
}

/* If you need more cards, copy format and adjust positions */

/* Star rating */
.stars {
  position: absolute;
  left: 12px;
  top: 10px;
  display: flex;
  gap: 4px;
}

.stars svg {
  width: 14px;
  height: 14px;
}

/* Pill/Badge */
.pill {
  position: absolute;
  top: 12px;
  right: 18px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  padding: 6px 10px;
  font-size: 8px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  font-weight: 400;
  width: 120px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.quote {
  position: absolute;
  left: 18px;
  top: 44px;
  width: 220px;
  height: 115px;
  font-size: 15px;
  line-height: 22px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.93);
  overflow-wrap: break-word;
}

.author {
  position: absolute;
  left: 16px;
  bottom: -5px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 220px;
}

.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
  border: 2px solid rgba(255, 255, 255, 0.15);
  flex: 0 0 42px;
  background: #eee;


}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.author-info {
  display: flex;
  flex-direction: column;
}

.author-info .name {
  font-weight: 700;
  font-size: 13px;
}

.author-info .title {
  font-size: 11px;
  opacity: 0.85;
  margin-top: 2px;
}

/* Active Card */

/* emoji animation*/

.main-container {
  position: relative;
  bottom: 310px;
  left: 630px;
  width: 102px;
  height: 45px;

  margin-left: 0px;
}

/* Brush Strokes */
.brush-strokes {
  position: absolute;
  left: 8px;
  top: 15px;
  width: 80px;
  height: 79px;
  z-index: 1;
  transition: top 0.5s ease;
  /* smooth move */
}

.brush-strokes.up {
  top: 0px;
}

.brush-strokes img {
  width: 100%;
  height: auto;
  display: block;
}

/* Puppet */
.puppet {
  position: absolute;
  left: 22px;
  top: -7px;
  width: 113px;
  height: 75px;
}

.puppet img {
  width: 135%;
  height: 100px;
  display: block;
  position: relative;
  top: 0px;
  z-index: 10;
  transition: top 0.5s ease;
}


.puppet img.up {
  top: -10px;
}


/* Button */
.fixit-btn {
  position: absolute;
  left: 0;
  top: 38px;
  width: 101px;
  height: 45px;
  background: #6945d5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-weight: 500;
  letter-spacing: 1px;
  border: none;
  outline: none;
  z-index: 3;
  cursor: pointer;
  transition: box-shadow 0.2s;
  filter: drop-shadow(0 13px 9px #6945d520);
}

.fixit-btn:before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  z-index: -1;
  box-shadow: 0 0 1px 1px #9176faa0;
  opacity: 0.9;
  animation: btnGlow 2s infinite alternate;
  pointer-events: none;
}

/* navbar*/
/* Common fixes for nav bar (desktop & mobile) */
@media (max-width: 768px) {
  .main-container {
    bottom: 70px;
    left: 240px;
  }

  .services {
    flex-wrap: wrap !important;
  }

  .service-card {
    flex: auto !important;
  }



}


.services-section1 {
  padding: 40px 0px;

}

.services-section1 h5 {
  color: #ccc;
  margin-bottom: 10px;
  font-weight: normal;
}

.services-section1 h1 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.4;
}

.services-section1 h1 span {
  color: #7d5fff;
}

.services-section1 p {
  max-width: 600px;
  margin: 0 auto 30px;
  color: #ccc;
  font-size: 14px;
  line-height: 1.6;
}

/* Slider Container */
.services-section1 .services-container1 {
  position: relative;
  width: 100%;
  max-width: 434px;
  margin: auto;
  height: 240px;
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
}

.services-section1 .service-card1 {
  position: absolute;
  top: 0;
  transition: all 0.5s ease;
  opacity: 0.8;
}

.services-section1 .service-card1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  margin-bottom: 0px;
  border: 1px solid;
  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, #2E2E3E 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(46, 46, 62, 0.2) 100%);
}

/* Center Image */
.services-section1 .service-card1.active {
  width: 228px;
  height: 180px;
  left: 103px;
  z-index: 3;
  opacity: 1;
}

/* Left Image */
.services-section1 .service-card1.left {
  width: 228px;
  height: 180px;
  left: -141px;
  z-index: 2;
  border: 1px solid;
  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, #2E2E3E 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(46, 46, 62, 0.2) 100%);
}

/* Right Image */
.services-section1 .service-card1.right {
  width: 228px;
  height: 180px;
  left: 347px;
  z-index: 2;
  border: 1px solid;
  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, #2E2E3E 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(46, 46, 62, 0.2) 100%);
}

.services-section1 .service-card1 h3 {
  background: linear-gradient(128.9deg, #6349C0 3.22%, #0E0238 100%);
  margin-top: -5px;
  width: 228px;
  padding: 8px;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  font-weight: 500;
  border: 1px solid;

  border-image-source: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, #2E2E3E 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(46, 46, 62, 0.2) 100%);
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.services-section1 {
  display: none;
}

@media screen and (max-width:600px) {
  .services-section1 {
    display: block;
  }
}


.services {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;
  overflow: hidden;
  /* keeps them in one line */
  margin-bottom: 100px;
}

.service-card {
  flex: 0 0 30%;
  /* adjust width */
  padding: 20px;
  border-radius: 10px;
  overflow: hidden;
}

/*---- faq.css ----*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


/* Custom styles to match the design */
body {
  background-color: #000;

}

.bg-dark {
  background-color: #000 !important;
}

.text-light {
  color: #fff !important;
}

/* What services does UXPacific offer? */

.faq_desc {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  line-height: 32px;

}



.btn-outline-light {
  color: #fff;
  border-color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-outline-light:hover {
  background-color: #fff;
  color: #fefcfc;
}

.accordion-item {
  background-color: #111;
  border: 1px solid #5c6eac !important;
  color: #fff;

}

.accordion-button {
  background-color: transparent;
  color: #fff;
  font-size: 1rem;
}

.accordion-button:focus {
  box-shadow: none;
}

.f18 {
  font-size: 18px !important;
}

.f20 {
  font-size: 16px !important;
}

.f24 {
  font-size: 24px !important;
  color: #DBDBDB !important;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  line-height: 3px;
    padding: 10px;
}

.p-20 {
  padding: 0px 20px 20px 20px;
}

.accordion-button:not(.collapsed) {
  color: #fff;
  background-color: #dcd1d1;
  box-shadow: none;
}

.accordion-button::after {
  filter: invert(1);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%20fff'%3e%3cpath fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3e%3cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3e%3c/svg%3e") !important;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%20fff'%3e%3cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e ") !important;
}



.accordion-body {
  color: #fff;
}

/* Footer styles */

.style1 {

  filter: blur(60px);
  color: #fff;
  box-shadow: 0px 0px 80px 40px var(--brand-primary);
}

.style2 {

  filter: blur(70px);
  color: #fff;
  height: 100px;
  box-shadow: 0px 0px 60px 40px #5b43b3;
}

.style3 {

  filter: blur(70px);
  color: #fff;
  box-shadow: 0px 0px 10px 20px var(--brand-primary);
}



.style4 {

  filter: blur(70px);
  color: #fff;
  box-shadow: 0px 0px 20px 20px#4f32b7;
}


.wrapper {
  transform: translate(-50%, -50%);
  border-radius: 20px;
}

.Effect {
  display: flex;
  align-items: center;
  width: 200px;
  height: 53px;
  line-height: 40px;
  font-size: 18px;
  font-family: sans-serif;
  text-decoration: none;
  color: #ddd;
  background-color: #2e25f9;
  border-radius: 20px;
  border: 2px solid #0c09a4;
  letter-spacing: 2px;
  text-align: center;
  position: relative;
  transition: all .35s;
}

.Effect span {
  position: relative;
  z-index: 2;
}

.Effect div {
  position: relative;
  z-index: 2;
}

.Effect:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  border-radius: 20px;
  background: #fff;
  transition: all 1.20s;
  justify-content: center;
}

.Effect:hover {
  color: #090909;
}

.Effect:hover:after {
  width: 100%;
}

/*---- style.css ----*/
.navbar-nav .nav-link.active {
  color: #ffffff;
  /* Brighter white text */
  text-decoration: underline;
  /* Ensures no underline appears */
  margin-bottom: auto;
}

.navbar-nav .nav-link:hover {
  color: #ffffff;
  /* Brighter white text */

  text-decoration: none;
  /* Ensures no underline appears */
}

.scroller {
  overflow: hidden;
  --_animation-duration: 25s;
  --_animation-direction: forwards;
  -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
  mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
  flex-grow: 1;
}

.scroller__inner {
  display: flex;
  gap: 1rem;
  list-style: none;
  padding-block: 1rem;
  flex-wrap: nowrap;
  width: max-content;
  animation: scroll var(--_animation-duration) linear var(--_animation-direction) infinite;
  margin: 0;
}

.scroller__item {
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #d1d5db;
}

/* Pause animation on hover */
.scroller:hover .scroller__inner {
  animation-play-state: paused;
}

/* The keyframes for the scrolling animation */
@keyframes scroll {
  to {
    transform: translate(calc(-50% - 0.5rem));
  }
}

/* --- Section Wrapper --- */
.reviews-section {
  width: 100%;
  max-width: 1600px;
  text-align: center;
}

.reviews-section h2 {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.reviews-section h2 span {
  color: var(--brand-primary);
  /* A nice purple accent */
}

.reviews-section p {
  max-width: 900px;
  margin: 0 auto 2.5rem auto;
  color: #cccccc;
  /* line-height: 2; */
}

/* --- Main Container for the Animation --- */
.reviews-grid-container {
  width: 100%;
  overflow: hidden;
  position: relative;
  /* Creates a faded-out effect on the left and right edges */
  -webkit-mask-image: linear-gradient(to right,
      transparent,
      black 10%,
      black 90%,
      transparent);
  mask-image: linear-gradient(to right,
      transparent,
      black 10%,
      black 90%,
      transparent);
}

/* --- Flex Container for All Cards (Originals + Clones) --- */
.reviews-grid {
  display: flex;
  width: fit-content;
  /* Adjusts width to contain all cards */
  /* Applies the scrolling animation - Speed increased from 60s to 40s */
  animation: scroll 40s linear infinite;
}

.reviews-grid.reviews-grid--empty {
  animation: none;
  min-height: 0;
}

/* This is the container for each set of cards (original and cloned) */
.review-card-set {
  display: flex;
  flex-shrink: 0;
}

/* --- Individual Testimonial Card Styling --- */
.testimonial-card {
  position: relative;
  border-radius: 20px;
  padding: 1.75rem 1.5rem;
  margin: 0.75rem;
  width: 340px;
  height: auto;
  min-height: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  color: #e5e7eb;
  background: linear-gradient(145deg, #2d2856 0%, #1e1b4b 50%, #312e81 100%);
  overflow: hidden;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.testimonial-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  border-radius: 20px;
}

.testimonial-card:hover::before {
  opacity: 1;
}

.testimonial-card:nth-child(even) {
  background: linear-gradient(145deg, #3730a3 0%, #312e81 50%, #1e1b4b 100%);
}

.testimonial-card:nth-child(3n) {
  background: linear-gradient(145deg, #4338ca 0%, #3730a3 50%, #2d2856 100%);
}

.testimonial-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(139, 92, 246, 0.25);
  border-color: rgba(139, 92, 246, 0.3);
  z-index: 10;
}

.card-glow {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.testimonial-card:hover .card-glow {
  opacity: 1;
  animation: glowPulse 2s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.1); opacity: 0.8; }
}

.quote-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  opacity: 0.4;
  transition: all 0.3s ease;
}

.testimonial-card:hover .quote-icon {
  opacity: 0.7;
  transform: scale(1.1) rotate(5deg);
}

/* --- Card Header for Stars and Pill --- */
.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1;
}

/* --- Star Rating Styles --- */
.stars {
  display: flex;
  gap: 0.3rem;
}

.stars svg {
  width: 1.1rem;
  height: 1.1rem;
  filter: drop-shadow(0 0 4px rgba(255, 209, 102, 0.5));
  transition: transform 0.2s ease;
}

.testimonial-card:hover .stars svg {
  animation: starTwinkle 0.6s ease forwards;
}

.testimonial-card:hover .stars svg:nth-child(1) { animation-delay: 0s; }
.testimonial-card:hover .stars svg:nth-child(2) { animation-delay: 0.1s; }
.testimonial-card:hover .stars svg:nth-child(3) { animation-delay: 0.2s; }
.testimonial-card:hover .stars svg:nth-child(4) { animation-delay: 0.3s; }
.testimonial-card:hover .stars svg:nth-child(5) { animation-delay: 0.4s; }

@keyframes starTwinkle {
  0% { transform: scale(1); }
  50% { transform: scale(1.3) rotate(15deg); }
  100% { transform: scale(1); }
}

/* --- Pill/Tag Styles --- */
.pill {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  color: rgba(255, 255, 255, 0.8);
  padding: 0.35rem 0.75rem;
  border-radius: 16px;
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  height: auto;
  transition: all 0.3s ease;
}

.testimonial-card:hover .pill {
  background: rgba(139, 92, 246, 0.25);
  border-color: rgba(139, 92, 246, 0.4);
}

/* --- Quote Text Styles --- */
.quote {
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
  flex-grow: 1;
  font-weight: 400;
  text-align: left;
  z-index: 1;
  position: relative;
  transition: color 0.3s ease;
  margin: 0.5rem 0;
}

.testimonial-card:hover .quote {
  color: #fff;
}

/* --- Author Section Styles --- */
.author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: auto;
  padding-top: 0.85rem;
  z-index: 1;
  position: relative;
}

.avatar {
  position: relative;
}

.avatar img {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid rgba(139, 92, 246, 0.4);
  object-fit: cover;
  transition: all 0.4s ease;
}

.avatar-ring {
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: 50%;
  border: 2px solid transparent;
  background: linear-gradient(135deg, #8b5cf6, #6366f1, #8b5cf6) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.4s ease;
  animation: ringRotate 3s linear infinite;
}

.testimonial-card:hover .avatar-ring {
  opacity: 1;
}

@keyframes ringRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.author-info {
  text-align: left;
}

.author-info .name {
  font-weight: 600;
  color: #fff;
  font-size: 0.9rem;
  line-height: 1.3;
}

.author-info .title {
  font-size: 0.75rem;
  color: rgba(156, 163, 175, 0.85);
  font-weight: 400;
  margin-top: 2px;
}

.testimonial-card:hover .avatar img {
  transform: scale(1.05);
  border-color: rgba(139, 92, 246, 0.7);
  box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
}

.accordion-item {
  background-color: #111;
  /* Even darker background for the item */
  margin-bottom: 15px;
  border-radius: 12px;
  border: 1px solid #374151;
  overflow: hidden;
  /* Important for the max-height transition */
  transition: border-color 0.3s ease;
}

.accordion-item.active {
  border-color: #4F46E5;
  /* Highlight border when active */
}

.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  user-select: none;
}

.accordion-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}

.accordion-icon {
  width: 28px;
  height: 28px;
  border: 1.5px solid #9CA3AF;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.accordion-icon span {
  position: relative;
  width: 12px;
  height: 12px;
}

/* The plus/minus icon created with CSS pseudo-elements */
.accordion-icon span::before,
.accordion-icon span::after {
  content: '';
  position: absolute;
  background-color: #9CA3AF;
  transition: transform 0.3s ease;
}

/* Horizontal bar of the plus */
.accordion-icon span::before {
  width: 100%;
  height: 2px;
  left: 0;
  top: 5px;
}

/* Vertical bar of the plus */
.accordion-icon span::after {
  width: 2px;
  height: 100%;
  left: 5px;
  top: 0;
}

.accordion-item.active .accordion-icon {
  border-color: #E5E7EB;
}

.accordion-item.active .accordion-icon span::before,
.accordion-item.active .accordion-icon span::after {
  background-color: #E5E7EB;
}

/* Transform plus into a cross (x) when active */
.accordion-item.active .accordion-icon span::before {
  transform: rotate(45deg);
}

.accordion-item.active .accordion-icon span::after {
  transform: rotate(45deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
}

.accordion-content p {
  padding: 0 20px 20px 20px;
  margin: 0;
  line-height: 1.6;
  color: #D1D5DB;
  /* Slightly lighter gray for answer text */
  font-size: 16px;
}

/* This is the main container for your images */
/* .images-row img:nth-child(1) {
  --translateX: -80%;
  --rotation: -9.89deg;
  z-index: 2;
} */

.images-row img:nth-child(2) {
  --translateX: -50%;
  --rotation: 1.82deg;
  z-index: 1;
  /* Behind the first image */
}

.images-row img:nth-child(3) {
  --translateX: -15%;
  --rotation: 14.67deg;
  z-index: 2;
}

.images-row img:nth-child(4) {
  --translateX: 20%;
  --rotation: -5.34deg;
  z-index: 1;
  /* Behind */
}

.images-row img:nth-child(5) {
  --translateX: 55%;
  --rotation: 15.98deg;
  z-index: 2;
}

/* Footer Base */
@media (max-width: 768px) {
  .footer-top {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .social-icons {
    padding-top: 0px !important;
    margin-left: 200px;
    margin-top: -55px;

    width: 200px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px;
  }

  .footer-copy {
    margin-top: 5px;
    font-size: 11px;
  }

  .footer-policies {
    font-size: 10px;
  }
}

.social-icons {
  padding-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 140px;
}

.social-icons .social-row {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
}

.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.social-icons a img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.social-icons a:hover img {
  transform: scale(1.1);
}

.social-icons a:hover {
  background: #444;
}

/* Links + Contact Row */
.footer-links-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 20px;
  padding: 0 0px 20px;
  font-size: 14px;
}

/* Bottom Bar */
.footer-bottom {
  border-top: 1px solid #333;
  text-align: center;
  color: #aaa;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-around;
  align-items: center;
}

.footer-policies {
  margin-bottom: 18px;
  margin-top: 20px;
}

.footer-copy {
  margin-bottom: 18px;
  margin-top: 20px;
}

.ft_link {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 28px;
  color: #f5f5f5;
}

.q_link {
  list-style: none;
  padding: 0;
}

.q_link li {
  padding: 6px 0px;
}

.q_link li a {
  font-family: "Inter";
  font-style: normal;
      font-weight: 400;
    font-size: 16px;
  line-height: 24px;
  color: #e0e0e0;
  text-decoration: none;
}

.f_cnt {
  font-family: "Inter";
  font-style: normal;
    font-weight: 400;
    font-size: 16px;
  line-height: 24px;
  color: #e0e0e0;
  text-decoration: none;
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: inherit;
}





/* --- FIX PATCH --- */
.hero-wrapper {
  position: relative !important;
  overflow: hidden !important;
}

.hero-wrapper #interactive-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: block;
  pointer-events: none;
}

.hero-wrapper .hero {
  position: relative;
  z-index: 1;
}

.hero {
  background: transparent !important;
}

.cta-button .arrow {
  background-image: url("img/arrow.png") !important;
  background-size: 43px 40px !important;
  width: 43px !important;
  height: 42px !important;
  right: -10px !important;
  top: 0 !important;
  border-radius: 50% !important;
}

.cta-button:hover .arrow {
  transform: rotate(35deg) !important;
  background-color: #fff !important;
}

.ux-header .ux-badg {
  background-image: url("img/ui.png") !important;
  width: 116px !important;
  height: 52px !important;
  background-size: contain !important;
  display: block !important;
}

.service-card:nth-child(1):hover .service-icon img {
  content: url("img/shop2.png") !important;
  width: 90px !important;
  height: 90px !important;
}

.service-card:nth-child(2):hover .service-icon img {
  content: url("img/acedmy-2.png") !important;
  width: 90px !important;
  height: 90px !important;
}

.service-card:nth-child(3):hover .service-icon img {
  content: url("img/community-w.png") !important;
  width: 90px !important;
  height: 90px !important;
}

.floating-tag {
  background: #111 !important;
  box-shadow: 0 0 30px 10px rgba(200, 177, 228, 0.2) !important;
  z-index: 5 !important;
}

.scroller__inner {
  animation: scroll 25s linear infinite !important;
}



/* Hover effect */
.project-slider .next-btn:hover {
  transform: translateY(-50%) scale(1.1) !important;
}





/* Hover animation */
.cards .card:hover .arrow {
  transform: rotate(28deg) translateX(5px) !important;
}


/*
  ==========================
  ==========================   
   ==========================
   ✅  ABOUT PAGE SCOPE
   ========================== */
/*=== ===*/
/* ================================================
 ✅ About Page 
================================================ */

/* Global Sticky Navbar */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: #111111;
  /* Ensure background is set */
}

/* === ABOUT PAGE SCOPED CSS === */
.about-page {
  @import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

  body {
    background: #111111;
    color: #d1d5db;
    font-family: 'Inter', Arial, sans-serif;
    min-height: 100vh;
  }

  .navbar-nav .nav-link.active {
    color: #ebeaee;
  }

  .btn-gradient {
    background: linear-gradient(90deg, var(--brand-primary-light), #6366f1 60%);
    color: #fff !important;
    border: none;
    padding: 0.55rem 1.4rem;
    border-radius: 999px;
    font-weight: 500;
    font-size: 1.03rem;
    box-shadow: 0 2px 16px rgba(167, 139, 250, 0.13);
  }

  /* about header */
  .about-header {
    position: relative;

    text-align: center;
    max-width: 100%;
    height: 277px;
    background-color: #111;
    opacity: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 18px;
    /* 👈 heading और badge के बीच space */
  }

  /* Mobile Screen */
  @media (max-width: 768px) {

    .img1 {
      display: none;

    }

    .about-header {
      width: 100%;
      height: 126px;
      left: 0;
      /* mobile me left align better rahega */
      background-color: #111;
      overflow: hidden;
    }

    .navbar-collapse {
      background-color: #111111 !important;
      margin-left: 0px;
    }

    /* Logo adjustment for mobile */
    #myImage {
      width: 50px !important;
      height: auto !important;
    }

    .btn-gradient,
    #b1 {
      width: 90%;
      /* Mobile full width minus padding */
      max-width: 155px;
      display: block;
      text-align: center;
      margin-top: -50px;
    }

    .navbar {
      background: #111111;
      transition: background-color 0.3s ease;
      /* Smooth transition */
      padding: 1.25rem 0;
      position: sticky;
      top: 0;
      z-index: 1000;
    }

    .about-header h1 {
      font-size: 1.8rem;
    }

  }

  /* Removed specific mobile background overrides as we want consistent style */
  @media (max-width: 450px) {
    .about-header {
      background-color: #111;
    }
  }

  .about-header {
    overflow: hidden;
  }

  .about-desc {
    background: linear-gradient(180deg, #111111 85%, transparent 100%);

    border-radius: 8px;
    padding: 1.4rem 1.7rem 1.3rem 1.7rem;
    max-width: 869px;
    /* desktop size */
    height: 281px;
    height: auto;
    margin: auto;


    margin-bottom: 2.9rem;
    line-height: 1.65;
    box-shadow: 0 3px 30px #17173a2c;
    border-left: 2px solid rgba(255, 255, 255, 0.8);
    /* left white */
    border-right: 2px solid rgba(255, 255, 255, 0.8);
    /* right white */
    border-top: 1px solid #2E2E3E;
    /* top black */
    border-bottom: 1px solid #2E2E3E;
    /* bottom black */


    /* Explore how we craft meaningful digital experiences through strategy, creativity, and user-first thinking. */


    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    /* or 140% */
    text-align: center;

    color: #E0E0E0;


  }




  /* Mission/Vision Cards */
  .card-glass {
    background: linear-gradient(160deg, #111111 90%, #1e1e27 100%);
    border: 1px solid #33334d;
    border-radius: 16px;
    /* desktop ke liye */
    overflow: hidden;
    box-shadow: 0 4px 35px #14122c38;
    transition: transform 0.11s;
    height: 450px;
    /* desktop height */
    max-width: 608px;
    /* desktop width ek card ka */
    margin: auto;
  }

  .card-glass:hover {
    transform: translateY(-7px) scale(1.02);
  }

  .card-glass img {
    width: 100%;
    height: 296px;
    /* desktop image height */
    object-fit: cover;
    object-position: center;
    filter: brightness(0.89) saturate(1.08);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-bottom: 1px solid #33334d;
  }

  .card-glass .card-body {
    padding: 1.2rem 1.3rem 1.1rem;
    text-align: center;
  }

  .card-glass .card-title {
    font-weight: 700;
    font-size: 1.3rem;
    color: var(--brand-primary-light);
    margin-bottom: 0.6rem;
  }

  .card-glass .card-text {

    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    text-align: center;

    color: #E0E0E0;


  }

  /* 📱 Mobile Screen (max 768px) */
  /* Mobile specific */
  @media (max-width: 768px) {
    .card-glass {
      height: 196px;
      max-width: 249px;
      /* ek card ka width */
      border-radius: 8px;
      margin: auto;
    }

    /* .about-desc {
    display: none;
  } */

    .card-glass img {
      height: 68px;
      border-top-left-radius: 8px;
      border-top-right-radius: 8px;
      border-bottom: 1px solid #33334d;
    }

    .row.g-4 {
      gap: 24px;
      justify-content: center;
      /* center align karne ke liye */
    }
  }

  /* end */
  /* Process section */
  .process-card {
    /* background: linear-gradient(155deg,#111111 90%,#1e1e27 100%); */
    border-radius: 1.05rem;
    /* box-shadow: 0 4px 28px #18162e2c; */
    /* border: 1.1px solid #32334b; */
    /* padding: 1.25rem 1.3rem 1.3rem; */
    margin-bottom: 1.5rem;
    flex: 1;
    overflow: hidden;
  }

  .process-img {
    width: 100%;
    max-width: 630px;
    max-height: 460px;
    object-fit: cover;
    filter: brightness(0.94) grayscale(30%);
    border-radius: 1rem;
    margin: auto;
    display: block;
  }

  .process-title {
    color: var(--brand-primary-light);
    font-weight: 600;
    margin-bottom: 24px;
    font-size: 10px;
  }

  .process-list {
    color: #b2bad6;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .process-list li {
    margin-bottom: 0.7em;
    font-size: 1.05rem;
    position: relative;
    padding-left: 1.25em;
  }

  .process-list li:before {
    content: '';
    position: absolute;
    left: 0.13em;
    top: 0.55em;
    width: 0.56em;
    height: 0.56em;
    border-radius: 50%;
    background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
    display: inline-block;
    margin-right: 0.7em;
  }

  /* Testimonial */
  .testimonial-card {
    background: #111111;
    box-shadow: 0 2px 23px #29275118;
    border: 1.1px solid #242349;
    border-radius: 16px;
    max-width: 1250px;
    height: 495px;
    margin: auto;
    margin-bottom: 2.7rem;
    padding: 1.6rem;
    position: relative;
    color: #c3c6db;
  }

  /* ✅ Testimonial main text */
  .testimonial-text {
    display: block;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    color: #c3c6db;
    max-width: 670px;
    padding: 35px;
    height: 88px;
  }

  /* ✅ Our Philosophy Section */
  .philosophy-card {
    max-width: 670px;
    margin: 2rem auto 0;
    padding: 1rem 0;
    color: #c3c6db;
    font-family: "DM Sans", sans-serif;
  }

  .philosophy-card .philosophy-title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 1rem;
    color: #fff;
  }

  .philosophy-card p {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 1rem;
    color: #b2bad6;
  }

  .testimonial-text,
  .author {
    display: block;
  }

  .philosophy-card {
    display: none;
    /* Philosophy section hidden on desktop */
  }

  /* ✅ Mobile screen */
  @media (max-width: 768px) {

    .testimonial-text,
    .author {
      display: none;
      /* hide testimonial text + author on mobile */
    }

    .philosophy-card {
      display: block;
      /* show Our Philosophy section only on mobile */
    }
  }

  /* ✅ Mobile Responsive */
  @media (max-width: 768px) {
    .testimonial-text {
      max-width: 347px;
      font-size: 20px;
      line-height: 28px;
    }

    .philosophy-card {
      max-width: 347px;
      padding: 0.5rem 0;
    }

    .philosophy-card .philosophy-title {
      font-size: 20px;
      line-height: 28px;
    }

    .philosophy-card p {
      font-size: 16px;
      line-height: 24px;
    }
  }

  /* ✅ Legend quote icon exactly border line pe */
  .testimonial-card legend {
    padding: 0 0.6rem;
    /* border ke beech mein thoda spacing */
  }

  .testimonial-card legend i {
    color: var(--brand-primary-light);
    font-size: 2.2rem;
    opacity: 0.6;
  }

  /* ✅ Author section */
  .quote-image {
    position: relative;
    bottom: 60px;
  }

  .quote-image img {
    width: 105px;
    height: 85px;
    transform: rotate(0deg);
  }

  .testimonial-card .author {
    width: 356px;
    height: 119px;
    font-size: 32px;
  }

  .testimonial-card .author-info strong {
    display: block;
    color: #fff;
    font-weight: 600;
    font-size: 1.1rem;

  }

  .testimonial-card .author-info p {
    margin: 0;
    font-size: 0.9rem;
    color: #b2bad6;
  }

  .testimonial-card .author i {
    color: var(--brand-primary-light);
    font-size: 1.3rem;
    vertical-align: middle;
    transition: color 0.3s;
  }

  .testimonial-card .author i:hover {
    color: #fff;
  }

  /* ✅ Mobile Responsive */
  @media (max-width: 768px) {
    .testimonial-card {
      max-width: 390px;
      border-radius: 4px;
      padding: 1rem;
    }

    .testimonial-card legend i {
      font-size: 1.6rem;
    }
  }

  /* CTA Card */
  .cta-card {
    background: linear-gradient(142deg, #211e32 77%, #222133 100%);
    border-radius: 1.1rem;
    box-shadow: 0 4px 28px #3830621c;
    border: 1.1px solid #2f2943;
    padding: 2.2rem 2.2rem 2rem 2.2rem;
  }

  .cta-card h3 {
    color: #fff;
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 0.65rem;
    letter-spacing: 0.5px;
  }

  .cta-card span {
    color: var(--brand-primary-light);
  }

  .cta-card .btn-gradient {
    margin-top: 1.35rem;
    font-size: 1rem;
  }

  /* Footer */
  .footer-bg {
    background: #111111;

    color: #a1a1aa;
    font-size: 1.02rem;
    padding: 2.2rem 0 1.1rem 0;
    margin-top: 3rem;
    border-top: 2.5px solid #282748;
  }

  .footer-bg h5,
  .footer-bg h6 {
    color: var(--brand-primary-light);
    font-weight: 700;
    margin-bottom: 1rem;
    letter-spacing: .4px;
  }

  .footer-bg ul li a {
    color: #cdd0eb;
    transition: color .13s;
  }

  .footer-bg ul li a:hover {
    color: var(--brand-primary-light);
    text-decoration: underline;
  }

  .footer-bg .fa-envelope,
  .footer-bg .fa-phone,
  .footer-bg .fa-map-marker-alt {
    color: #6366f1;
    margin-right: 0.55em;
  }

  .footer-bg .copyright {
    margin-top: 1.6rem;
    color: #757575;
  }

  /* Responsive */
  @media (max-width: 991px) {
    .about-header h1 {
      font-size: 2rem;
    }

    .cta-card {
      padding: 1.5rem 1rem;
    }

    .about-desc {
      padding: 1.1rem 1rem;
    }
  }

  @media (max-width: 767px) {
    .card-glass img {
      height: 120px;
    }

    .process-img {
      max-width: 100%;
    }

    .footer-bg {
      font-size: 0.98rem;
    }
  }

  .innovation-badge-exact {
    position: relative;
    display: inline-block;
    background: rgba(35, 34, 60, 0.48);
    color: #e4e0ff;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.15px;
    padding: 0.75rem 2.3rem;
    border-radius: 8px;
    text-align: center;
    line-height: normal;
    /* allow multi-line content */
    z-index: 1;
    border: 1px solid #706e6e;
    backdrop-filter: blur(8px);
    max-width: none;
    /* remove width restriction */
    height: auto;
    /* let height grow naturally */
    overflow: visible;
    font-family: "Inter", sans-serif;
    white-space: nowrap;
    /* optional: keeps it on one line */
  }

  .innovation-badge-exact span {
    color: #fff;
    font-weight: 200;
    /* font-style: italic; */
  }

  /* Inner shadow for glass effect */
  .innovation-badge-exact::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
    z-index: -1;
    box-shadow: 0 2px 6px 0 #0003 inset;
    opacity: 0.25;
  }

  /* 📱 Mobile styles */
  @media (max-width: 576px) {
    .innovation-badge-exact {
      width: 315px;
      height: 36px;
      font-size: 13px;
      font-weight: 400;
      line-height: 21px;
      letter-spacing: 0;
      border-radius: 4px;
      padding: 0.4rem 1rem;
      text-align: center;
    }

    .innovation-badge-exact span {
      font-style: italic;
      font-weight: 400;
      font-size: 13px;
      line-height: 21px;
    }
  }

  /* ============================================================
   📱 MOBILE RESPONSIVE FIX — ABOUT PAGE (UX Pacific)
   Perfectly aligned to your Figma preview
   ============================================================ */
  @media (max-width: 768px) {

    /* --- GENERAL PAGE FIXES --- */
    body.about-page {
      background: #111111;
      overflow-x: hidden;
      overflow-x: clip;
    }

    /* --- NAVBAR FIX --- */
    .navbar-brand img,
    .nav-logo {
      width: 100px !important;
    }

    .navbar-collapse {
      background: #111111 !important;
      padding: 20px 10px;
    }

    /* --- HEADER SECTION --- */
    .about-header {
      height: 150px !important;
      background-position-y: -450px !important;
      /* padding-top: 20px; */
      margin-bottom: 30px;
      padding: 80px 20px;
    }

    .about-header h1 {
      font-size: 35px !important;
      margin-top: 10px;
    }

    .innovation-badge-exact {
      font-size: 11px !important;
      padding: 3px 12px;
      margin-top: 5px;
    }

    /* --- ABOUT DESCRIPTION --- */
    .about-desc {

      width: 100% !important;
      /* full width inside container */
      max-width: 360px;
      /* perfect for mobile */
      margin: 15px auto !important;
      /* center nicely */
      padding: 18px 20px !important;
      /* clean spacing */

      background: rgba(255, 255, 255, 0.05);
      /* glass look */
      backdrop-filter: blur(10px);
      border-radius: 13.5px;
      /* smooth corners */

      font-size: 14px !important;
      line-height: 19px !important;
      color: #e0e0e0 !important;

      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
      /* soft shadow */
      border: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* ----- MISSION / VISION CARDS ----- */
    .cards-container {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin: 10px auto !important;
      width: 100%;
      align-items: center;
    }

    .card-glass {
      width: 90% !important;
      height: 235px !important;
      border-radius: 12px;
    }

    .card-glass img {
      height: 190px !important;
      border-radius: 12px 12px 0 0;
      object-fit: cover;
    }

    .card-glass .title-01 {
      font-size: 20px !important;
      margin-top: 1px !important;
    }

    .card-glass .card-text {
      font-size: 13px !important;
      padding: 0.4px !important;
    }

    /* --- PROCESS SECTION --- */
    .process-section {
      flex-direction: column !important;
      text-align: left;
      padding: 0 15px;
      gap: 20px;
    }

    .process-img {
      width: 100% !important;
      border-radius: 12px;
    }

    .process-title {
      font-size: 15px !important;
      margin-top: 10px;
    }

    .process-list li {
      font-size: 14px !important;
      margin-bottom: 8px;
    }

    /* --- CTA SECTION --- */
    .cta-section {
      width: 90% !important;
      height: auto !important;
      padding: 1.5rem 1rem !important;
      border-radius: 15px;
    }

    .cta-container {
      flex-direction: column !important;
      padding: 0 !important;
      gap: 15px;
    }

    .cta-text h1 {
      font-size: 22px !important;
      line-height: 26px !important;
    }

    .cta-text p {
      font-size: 13px !important;
      margin-top: 10px !important;
    }

    .cta-image img {
      width: 100% !important;
      border-radius: 12px;
    }

    /* --- FOOTER FIXES --- */


    .footer .row>div {
      text-align: center !important;
      margin-bottom: 25px;
    }

    .footer-logo img {
      width: 150px !important;
      margin-bottom: 15px;
    }

    .q_link li a,
    .f_cnt {
      font-size: 14px !important;
      line-height: 20px !important;
    }

    .footer-policies {
      font-size: 12px !important;
      text-align: center !important;
    }

    /* --- GRID FIX (col-3 → col-12 on mobile) --- */
    .col-md-2.col-3 {
      width: 100% !important;
      flex: 0 0 100% !important;
    }

    .col-md-3,
    .col-md-5 {
      width: 100% !important;
    }

    /* Ensures all footer columns stack nicely */
    .footer .row {
      display: flex;
      flex-direction: column;
      gap: 15px;
    }
  }




}

.about-page {
  .navbar-nav .nav-link.active {
    color: #ffffff;
    /* Brighter white text */
    text-decoration: underline;
    /* Ensures no underline appears */
  }

  .navbar-nav .nav-link:hover {
    color: #ffffff;
    /* Brighter white text */

    text-decoration: none;
    /* Ensures no underline appears */
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: 277px;
    background: #111;
    /* fallback color */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* ensure animation stays inside header */
  }

  /* Gallery inside header */
  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
    border-radius: 0px;
    /* optional, can remove */
  }

  .gallery-container img,
  .img1 {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }

  .animated-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: brightness(0.5) blur(1.8px);
    transition: opacity 0.48s cubic-bezier(.94, -0.07, .35, 1.04), filter 0.33s;
    z-index: 2;
  }

  .active {
    opacity: 1;
    /* filter: brightness(1.17) blur(0px) drop-shadow(0 0 30px var(--brand-primary-light)99); */
    animation: lightningFlash 0.53s cubic-bezier(.38, 1.41, .77, .93);
    z-index: 2;
  }

  @keyframes lightningFlash {
    0% {
      filter: brightness(2) blur(0.2px);
    }

    30% {
      filter: brightness(1.7) blur(0px);
    }

    55% {
      filter: brightness(1.1) blur(0px);
    }

    70% {
      filter: brightness(1.27) blur(0.05px);
    }

    100% {
      filter: brightness(1.17) blur(0px);
    }
  }

  /* Heading and badge on top */
  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    text-transform: capitalize;

    color: #F5F5F5;
    /* above animation */
  }

  .innovation-badge-exact {
    position: relative;
    z-index: 3;

    /* Crafting Digital Experiences That Matter */


    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 32px;
    /* identical to box height, or 133% */
    text-align: center;

    color: #E0E0E0;


  }



  /* Mission & Vision Section Styles */
  .cards-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 3rem auto;
    padding: 0 1rem;
  }

  .card-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .card-glass img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .card-body {
    padding: 1rem;
    /* THIS IS THE FIX: Transition is on the base element */
    transition: all 0.5s ease-in-out;
  }

  .title-01 {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #fff;
    text-align: center;
  }

  .card-text {
    color: #ddd;
    font-size: 1rem;
  }

  .m1 {
    display: none;
    list-style: none;
    text-align: left;
  }

  .m1 li {
    padding-top: 10px;
  }

  .m1 li::before {
    content: "✔";
    padding-right: 15px;
    color: var(--brand-primary-light);
  }

  /* Hover effect for DESKTOP ONLY */
  @media (min-width: 768px) {
    .card-glass:hover .m1 {
      display: block;
    }

    .card-glass:hover .card-body {
      transform: translateY(-42%);
      background: linear-gradient(90deg, #100f12, #222223 60%);
      border-radius: 12px;
    }
  }

  /* Responsive adjustments for cards */
  @media (max-width: 768px) {
    .cards-container {
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    .title-01 {
      font-size: 1.5rem;
    }

    .card-text {
      font-size: 0.9rem;
    }
  }


  /* Headings style */



  /* Optional: responsive gap for small screens */
  @media (max-width: 768px) {
    .cards-container {
      /* grid-template-columns: repeat(2, 1fr); */
      /* still 2 columns */
      gap: 2rem;
    }

    .card-body h1 {
      font-family: 'DM Sans', sans-serif;
      font-weight: 500;
      font-size: 14px;
      line-height: 22px;
      text-align: center;
      color: #fff;
    }

    .card-glass .card-text {
      color: #b2bad6;
      font-size: 10px;
    }

    .card-glass .card-body {
      transform: translateY(-25%);
      text-align: start;
      background: linear-gradient(90deg, #100f12, #222223 60%);

    }

  }

  .process-list li {
    margin-bottom: 2.2rem;

    position: relative;
    padding-left: 1.25em;


    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    /* or 150% */

    color: #E0E0E0;


  }

  /* Separator line between items */
  .process-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 4px;
    /* start of line */
    bottom: -0.6em;
    /* space below text */
    width: 1px;
    /* full width of li */
    height: 80px;
    /* thickness of line */
    background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
  }

  .card-list {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
  }

  .card-glass:hover .card-list {
    opacity: 1;
    pointer-events: auto;
    display: block;
    transition: all 0.5s linear;
  }

  .title-01 {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 36px;
    line-height: 44px;
    text-align: center;
    color: #FFFFFF;
  }

  .process-img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    height: auto;
    animation: slideshow 8s infinite;
  }

  .process-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
  }

  .process-title {

    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;

    color: #FFFFFF;


  }

  .process-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    background-color: #6a5acd;
    /* purple dot (change if needed) */
    border-radius: 50%;
  }

  /* Responsive (mobile: stack items) */
  @media (max-width: 768px) {
    .process-section {
      /* flex-direction: column;
      text-align: center; */
      display: none !important;
    }

    .process-list li {
      padding-left: 0;
    }

    .process-list li::before {
      display: none;
    }
  }

  /* Footer Base */
  @media (max-width: 768px) {
    .footer-top {
      display: grid;
      grid-template-columns: 1fr auto;
    }

    .social-icons {
      padding-top: 0px !important;
    }

    .footer-bottom {
      flex-direction: column;
      gap: 10px;
    }

    .footer-copy {
      margin-top: 5px;
      font-size: 11px;
    }

    .footer-policies {
      font-size: 10px;
    }
  }

  .social-icons {
    padding-top: 50px;
  }

  .social-icons a:hover {
    background: #444;
  }

  /* Links + Contact Row */
  .footer-links-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0px 20px;
    font-size: 14px;
  }

  /* Bottom Bar */
  .footer-bottom {
    border-top: 1px solid #333;
    text-align: center;
    color: #aaa;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    align-items: center;
  }

  .footer-policies {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .footer-copy {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .ft_link {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #F5F5F5;
  }

  .q_link {
    list-style: none;
    padding: 0;
  }

  .q_link li {
    padding: 6px 0px;
  }

  .q_link li a {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .f_cnt {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    gap: inherit;

  }

}



/* Service Page  */


.services-page {
  @import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


  body {
    background: #0d0d10;
    color: #ddd;
  }

  /* Container for the boxes */
  /* Container for the boxes */
  .top-boxes {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
    /* Allows boxes to wrap on smaller screens */
    padding: 2rem;
  }

  /* Individual box styling (default state) */
  .top-box {
    /* NEW: Added a subtle dark gradient background */
    background: linear-gradient(145deg, #2a283d, #1c1a29);
    border-radius: 12px;
    /* The default, subtle white glow */
    box-shadow:
      0 0 5px #ebeaf333,
      /* Lighter, softer outer glow */
      inset 0 0 5px #e1e0e922;
    /* Lighter, softer inner glow */
    width: 292px;
    height: 269px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 5.25rem;
    font-weight: 700;
    color: #d4d4d4;
    user-select: none;
    cursor: pointer;
    /* This makes the animation smooth */
    transition: all 0.6s ease-in-out;
    position: relative;
  }

  /* The hidden text below the main abbreviation */
  .top-box span {
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 0.75rem;
    color: #9e9e9e;
    letter-spacing: 0.5px;
    /* --- Start invisible and moved down --- */
    opacity: 0;
    transform: translateY(10px);
    /* --- Animation settings for the span --- */
    transition: all 0.6s ease-in-out;
  }

  /* HOVER EFFECT: The glowing box */
  .top-box:hover {
    /* NEW: Darker gradient on hover */
    background: linear-gradient(145deg, #19123b, #000);
    /* NEW: Vibrant, light purple outer glow. No inner glow on hover. */
    box-shadow: 0 0 15px #cbbcff;
    /* NEW: This makes the main text ("UI", "UX") purple */
    color: #8c78ff;
  }

  /* HOVER EFFECT: The text that appears */
  .top-box:hover span {
    opacity: 1;
    transform: translateY(0);
    /* NEW: Solid light purple text color on hover */
    color: #cbbcff;
  }

  h2.title {
    margin-bottom: 2.5rem;


    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;
    /* or 120% */
    text-align: center;

    color: #F5F5F5;


  }

  h2.title em {
    font-style: italic;
    color: var(--brand-primary);
  }

  /* ===== FEATURES SECTION ===== */
  .features-container {
    max-width: 1240px;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
    background: #0d0d10;
  }

  .feature-row {
    display: flex;
    flex-wrap: wrap;
  }

  .feature-row:last-child {
    border-bottom: none;
  }

  .feature {
    flex: 1 1 50%;
    padding: 2rem 2.25rem;
    border-left: 2px solid #B69aE4;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .feature:first-child {
    border-left: none;
  }

  .feature-icon {
    border-radius: 50%;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
    position: relative;
  }



  .feature-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    filter: blur(8px);
    background: #7461f8cc;
    z-index: -1;
    opacity: 0.7;
  }

  .feature-title {
    margin-bottom: 1rem;
    min-height: 3rem;


    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    /* or 133% */
    text-align: center;

    color: #C9C9C9;


  }

  .feature ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    max-width: 591px;
  }

  .feature ul li {
    margin-bottom: 0.7rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;

    font-family: 'Inter';
    font-style: italic;
    font-weight: 300;
    font-size: 15px;
    line-height: 24px;
    /* or 150% */

    color: #E0E0E0;

  }

  .feature ul li::before {
    content: '✔';
    color: #7461f8;
    font-weight: 400;
    font-style: italic;
    margin-top: 2px;
    flex-shrink: 0;
  }

  .boder {
    border: 1px solid #B69aE4;
    width: 977px;
    height: 0px;
    position: relative;
    left: 10%
  }




  @media (max-width: 768px) {
    .features-container {
      display: block;
    }

    .about-desc {
      display: block;
    }

    .top-boxes {
      flex-wrap: wrap;
    }

    .feature-row {
      flex-direction: column;
    }

    .feature {
      width: 100%;
      border: 2px solid #B69aE4;
    }

    .feature:last-child {
      margin-top: 30px;
      border: 2px solid #B69aE4;
      border-radius: 5%;
    }

    .feature:first-child {
      border: 2px solid #B69aE4;
      margin-top: 30px;
      border-radius: 5%;
    }

    .boder {
      border: none;
      height: 0px;
      left: 150px;
    }
  }

  .bg-dark {
    background-color: #0d0d10 !important;
  }

  .text-purple {
    color: #5C6EAC99;
  }

  .text-light-purple {
    color: #A56EFF;
  }

  .btn-gradient {
    background: linear-gradient(90deg, var(--brand-primary-light), #6366f1 60%);
    color: #fff !important;
    border: none;
    border-radius: 50px;
    padding: 15px 30px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }

  .container-fluid {
    border: 1px solid #372b4c;

  }

  .container-fluid:hover {
    box-shadow:
      0 0 5px #8c78ff,
      inset 0 0 5px #8c78ff;
    transition: opacity 1.0s ease;
  }

  .btn-gradient:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  }

  .btn-gradient .btn-overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1240px;
    height: 283px;
    background: rgba(255, 255, 255, 0.2);
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 50px;
  }

  .btn-gradient:hover .btn-overlay {
    opacity: 1;
  }

  .btn-text {
    position: relative;
    z-index: 1;
  }

  .wrapper {
    transform: translate(-50%, -50%);
    border-radius: 20px;
  }

  .Effect {
    display: flex;
    align-items: center;
    width: 300px;
    height: 53px;
    line-height: 40px;
    font-size: 18px;
    font-family: sans-serif;
    text-decoration: none;
    color: #ddd;
    background-color: #2e25f9;
    border-radius: 20px;
    border: 2px solid #0c09a4;
    letter-spacing: 2px;
    text-align: center;
    position: relative;
    transition: all .35s;
  }

  .Effect span {
    position: relative;
    z-index: 2;
  }

  .Effect div {
    position: relative;
    z-index: 2;
  }

  .Effect:after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    border-radius: 20px;
    background: #fff;
    transition: all 1.20s;
    justify-content: center;
  }

  .Effect:hover {
    color: #090909;
  }

  .Effect:hover:after {
    width: 100%;
  }

  .Errow {
    width: 40px;
    height: 49px;
    background: #fff;
    position: relative;
    left: 10%;
    border-radius: 20px;
    background-image: url('errow.png');
  }

  .about-header {
    position: relative;
    text-align: center;
    width: 100%;
    height: 277px;
    background: #111;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .about-header h1 {
    font-size: 65px !important;
  }

  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    z-index: 1;
  }

  .gallery-container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }


}

.services-page {



  .navbar-nav .nav-link.active {
    color: #ffffff;
    /* Brighter white text */
    text-decoration: underline;
    /* Ensures no underline appears */
  }

  .navbar-nav .nav-link:hover {
    color: #ffffff;
    /* Brighter white text */

    text-decoration: none;
    /* Ensures no underline appears */
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: 277px;
    background: #111;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  /* Gallery inside header */
  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    z-index: 1;
    border-radius: 12px;

  }

  .gallery-container img,
  .img1 {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }

  .animated-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: brightness(0.5) blur(1.8px);
    transition: opacity 0.4s cubic-bezier(.94, -0.07, .35, 1.04), filter 0.33s;
    z-index: 2;
  }

  .active {
    opacity: 1;

    animation: lightningFlash 0.43s cubic-bezier(.38, 1.41, .77, .93);
    z-index: 2;
  }

  @keyframes lightningFlash {
    0% {
      filter: brightness(2) blur(0.2px);
    }

    30% {
      filter: brightness(1.7) blur(0px);
    }

    55% {
      filter: brightness(1.1) blur(0px);
    }

    70% {
      filter: brightness(1.27) blur(0.05px);
    }

    100% {
      filter: brightness(1.17) blur(0px);
    }
  }

  /* Heading and badge on top */
  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    text-transform: capitalize;

    color: #F5F5F5;
    /* above animation */
  }

  .innovation-badge-exact {
    position: relative;
    z-index: 3;

    /* Crafting Digital Experiences That Matter */


    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 32px;
    /* identical to box height, or 133% */
    text-align: center;

    color: #E0E0E0;


  }

  .innovation-badge-exact span {
    color: #624AB2;

  }

  .cards-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* always 2 columns */
    gap: 1.5rem;
    /* spacing between cards */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }

  .card-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .card-glass img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .card-body {
    padding: 1rem;
  }

  .card-title {
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    color: #fff;
  }

  .card-text {
    color: #ddd;
    font-size: 1rem;
  }

  /* Optional: responsive gap for small screens */
  @media (max-width: 768px) {
    .cards-container {
      grid-template-columns: repeat(2, 1fr);
      /* still 2 columns */
      gap: 1rem;
    }
  }

  .process-list li {
    margin-bottom: 1.2em;
    font-size: 1.05rem;
    position: relative;
    padding-left: 1.25em;
  }

  /* Separator line between items */
  .process-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 6px;
    /* start of line */
    bottom: -0.6em;
    /* space below text */
    width: 1px;
    /* full width of li */
    height: 80px;
    /* thickness of line */
    background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
  }

  .s1 {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;
    /* or 120% */
    text-align: center;

    color: #F5F5F5;
  }

  .s2 {
    font-family: 'Inter';
    font-style: italic;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #EFEEEE;
  }

  /* Footer Base */
  @media (max-width: 768px) {

    .container-fluid {
      max-width: 400px !important;
    }


    .footer-top {
      display: grid;
      grid-template-columns: 1fr auto;
    }

    .social-icons {
      padding-top: 0px !important;
    }

    .footer-bottom {
      flex-direction: column;
      gap: 10px;
    }

    .footer-copy {
      margin-top: 5px;
      font-size: 11px;
    }

    .footer-policies {
      font-size: 10px;
    }
  }

  .social-icons {
    padding-top: 50px;
  }

  .social-icons a:hover {
    background: #444;
  }

  /* Links + Contact Row */
  .footer-links-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0px 20px;
    font-size: 14px;
  }

  /* Bottom Bar */
  .footer-bottom {
    border-top: 1px solid #333;
    text-align: center;
    color: #aaa;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    align-items: center;
  }

  .footer-policies {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .footer-copy {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .ft_link {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #F5F5F5;
  }

  .q_link {
    list-style: none;
    padding: 0;
  }

  .q_link li {
    padding: 6px 0px;
  }

  .q_link li a {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .f_cnt {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    gap: inherit;
  }

}





/* Project Page  */

.project-page {
  @import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');



  @media (max-width: 768px) {


    .about-header {
      height: 140px !important;
    }

    .about-header h1 {
      font-size: 35px !important;
    }

    .img1 {
      display: none;
    }

    /* HIDE description box */
    .project-text {
      display: none !important;
    }

    /* Make project card a REAL single card */
    .project-card {
      display: flex !important;
      flex-direction: column !important;
      gap: 10px !important;
      padding: 0 !important;
      margin-bottom: 25px;
    }

    /* IMAGE FIX — NO CURVE */
    .project-image-wrapper,
    .project-image-wrapper img {
      width: 100% !important;
      height: auto !important;
      border-radius: 0 !important;
      /* remove curve */
      margin: 0 !important;
      padding: 0 !important;
    }

    /* CONTENT BLOCK: title + tags in one block */
    .project-content {
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;

      display: flex !important;
      flex-direction: column !important;
      gap: 4px !important;
      text-align: left !important;
    }

    /* Prevent bootstrap columns from splitting */
    .project-content .col-md-6,
    .project-content .col-12 {
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      text-align: left !important;
    }

    .project-content .text-md-end {
      text-align: left !important;
    }

    /* TITLE FIX */
    .project-title {
      font-size: 20px !important;
      font-weight: 600 !important;
      margin: 8px 0 0 0 !important;
      padding: 0 !important;
    }

    /* TAG FIX */
    .pro1 {
      font-size: 14px !important;
      color: #cfcfcf !important;
      display: inline-block !important;
      margin: 2px 0 10px 0 !important;
      padding: 0 !important;
    }

    /* REMOVE bootstrap spacing issues */
    .project-content.row {
      gap: 0 !important;
    }
  }


  body {
    background: #18181b;
    color: #fff;

  }

  .project-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* fix 2 column */
    gap: 0.5rem;
  }

  .project-grid .col {
    padding: 0;
  }
}

.project-page {
  .navbar-nav .nav-link.active {
    color: #ffffff;
    /* Brighter white text */
    text-decoration: underline;
    /* Ensures no underline appears */
  }

  .navbar-nav .nav-link:hover {
    color: #ffffff;
    /* Brighter white text */

    text-decoration: none;
    /* Ensures no underline appears */
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: 277px;
    background: #111;
    /* fallback color */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* ensure animation stays inside header */
  }

  /* Gallery inside header */
  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    z-index: 1;
    border-radius: 0px;
    /* optional, can remove */
  }

  .gallery-container img,
  .img1 {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }

  .animated-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: brightness(0.5) blur(1.8px);
    transition: opacity 0.4s cubic-bezier(.94, -0.07, .35, 1.04), filter 0.33s;
    z-index: 2;
  }

  .active {
    opacity: 1;
    filter: brightness(1.17) blur(0px) drop-shadow(0 0 30px var(--brand-primary-light)99);
    animation: lightningFlash 0.43s cubic-bezier(.38, 1.41, .77, .93);
    z-index: 2;
  }

  @keyframes lightningFlash {
    0% {
      filter: brightness(2) blur(0.2px);
    }

    30% {
      filter: brightness(1.7) blur(0px);
    }

    55% {
      filter: brightness(1.1) blur(0px);
    }

    70% {
      filter: brightness(1.27) blur(0.05px);
    }

    100% {
      filter: brightness(1.17) blur(0px);
    }
  }

  /* Heading and badge on top */
  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    text-transform: capitalize;
    color: #F5F5F5;

    /* above animation */
  }

  .innovation-badge-exact {
    position: relative;
    z-index: 3;

    /* Crafting Digital Experiences That Matter */


    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 32px;
    /* identical to box height, or 133% */
    text-align: center;

    color: #E0E0E0;


  }

  .pro1 {
    /* Ux Audit */

    margin: 0 auto;

    font-family: 'Inter';
    font-style: italic;
    font-weight: 300;
    font-size: 16px;
    line-height: 24px;

    color: #A3A3A3;


  }

  .cards-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* always 2 columns */
    gap: 1.5rem;
    /* spacing between cards */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }

  .card-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .card-glass img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .card-body {
    padding: 1rem;
  }

  .card-title {
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    color: #fff;
  }

  .card-text {
    color: #ddd;
    font-size: 1rem;
  }

  /* Optional: responsive gap for small screens */
  @media (max-width: 768px) {
    .cards-container {
      grid-template-columns: repeat(2, 1fr);
      /* still 2 columns */
      gap: 1rem;
    }
  }

  .process-list li {
    margin-bottom: 1.2em;
    font-size: 1.05rem;
    position: relative;
    padding-left: 1.25em;
  }

  /* Separator line between items */
  .process-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 6px;
    /* start of line */
    bottom: -0.6em;
    /* space below text */
    width: 1px;
    /* full width of li */
    height: 80px;
    /* thickness of line */
    background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
  }

  .projects-section {
    margin: 2rem 0;
  }

  .projects-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }

  .section-title {
    margin-bottom: 2rem;


    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;
    /* or 120% */
    text-align: center;

    color: #F5F5F5;



  }

  .section-title span {
    color: var(--brand-primary);
  }

  .project-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* हमेशा 2 columns */
    gap: 1.5rem;
  }

  .project-card {
    /*background: rgba(35, 34, 60, 0.48);*/
    border-radius: 10px;
    overflow: hidden;
    border: 0px solid #32334b;
  }

  .project-img {
    width: 100%;
    display: block;
    border-bottom: 1px solid #32334b;
  }

  .project-content {
    padding: 1rem;
  }

  .project-title {
    margin-bottom: 0.5rem;


    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 40px;

    color: #C9C9C9;





  }

  .meta-text {
    font-size: 0.85rem;
    color: var(--brand-primary-light);
    margin-bottom: 0.5rem;
  }

  .project-text {



    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-size: 14px;
    line-height: 22px;

    color: #A3A3A3;
    margin-top: 10px;


  }

  .project-card {
    transition: all 0.3s ease-in-out;
  }

  .logo-slider {
    overflow: hidden;
    width: 100%;
    margin-bottom: 200px;
    position: relative;
    /* Needed for pseudo-elements */
  }

  .logo-slider::before,
  .logo-slider::after {
    content: "";
    position: absolute;
    top: 0;
    width: 200px;
    height: 100%;
    z-index: 2;
  }

  .logo-slider::before {
    left: 0;
    /* background: linear-gradient(to left, rgba(17, 24, 39, 0), #111827); */
  }

  .logo-slider::after {
    right: 0;
    /* background: linear-gradient(to right, rgba(17, 24, 39, 0), #111827); */
  }

  .logo-track {
    display: flex;
    gap: 50px;
    animation: scroll 10s linear infinite;
  }

  .logo-track:hover {
    animation-play-state: paused;
    /* Pause animation on hover */
  }

  .logo-track img {
    height: 50px;
    width: auto;
    filter: grayscale(1) opacity(0.7);
    /* Make logos blend in */
    transition: filter 0.3s ease;
  }

  .logo-track img:hover {
    filter: grayscale(0) opacity(1);
    /* Colorize logo on hover */
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    gap: inherit;
  }

  @media(max-width:650px) {
    .logo-track img {
      height: 25px;
    }

    .logo-slider {
      margin-bottom: 100px;
    }

  }

  /* The keyframes for the scrolling animation */
  @keyframes scroll {
    0% {
      transform: translateX(0);
    }

    100% {
      /* Moves the track to the left by the width of the first set of logos */
      transform: translateX(calc(-200px * 6));
    }
  }

  /* Custom styles for the project card overlay and animations */
  .project-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    /* rounded-xl */
  }

  .project-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }

  .project-image-wrapper:hover .project-overlay {
    opacity: 1;
  }

  .view-details-link {
    color: white;
    padding: 0.75rem 1.5rem;
    border: 2px solid white;
    border-radius: 9999px;
    /* rounded-full */
    text-decoration: none;
    font-weight: 600;
    transform: translateY(20px);
    transition: transform 0.3s ease-in-out;
  }

  .project-image-wrapper:hover .view-details-link {
    transform: translateY(0);
  }

  .project-img {
    transition: transform 0.3s ease-in-out;
  }

  .project-image-wrapper:hover .project-img {
    transform: scale(1.05);
  }

  .tag {
    background-color: #374151;
    /* gray-700 */
    color: #D1D5DB;
    /* gray-300 */
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
  }

  /* --- START: VIEW MORE/LESS CSS --- */
  /* Animation styles for extra cards */
  .extra-card {
    max-height: 0;
    opacity: 0;
    transform: translateY(30px) scale(0.98);
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
    transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1),
      opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),
      transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  }

  .extra-card.is-visible {
    max-height: 800px;
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  /* Staggered delay for animations to make them appear one by one */
  /* Delay when showing the cards */
  #project-grid>.extra-card.is-visible:nth-of-type(5) {
    transition-delay: 50ms;
  }

  #project-grid>.extra-card.is-visible:nth-of-type(6) {
    transition-delay: 100ms;
  }

  /* Delay when hiding the cards (in reverse order for a nice effect) */
  #project-grid>.extra-card:nth-of-type(6) {
    transition-delay: 0ms;
  }

  #project-grid>.extra-card:nth-of-type(5) {
    transition-delay: 50ms;
  }

  /* --- END: VIEW MORE/LESS CSS --- */

  /* Responsive Grid */
  @media (min-width: 768px) {
    #project-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  /* Helper for spacing between elements */
  .space-x-2>*+* {
    margin-left: 0.5rem;
  }

  /* Button styles */
  .btn {
    font-weight: 700;
    padding: 0.75rem 2rem;
    border-radius: 9999px;
    transition: all 0.3s ease-in-out;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
  }

  .btn-purple {
    background-color: var(--brand-primary);
    color: white;
  }

  .btn-purple:hover {
    background-color: var(--brand-primary-hover);
  }

  .btn-gray {
    background-color: #4B5563;
    color: white;
  }

  .btn-gray:hover {
    background-color: #374151;
  }

  .arrow-rotated {
    transform: rotate(180deg);
  }

  .view-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(145deg, var(--brand-primary), var(--brand-primary));
    padding: 0.8rem 1.2rem;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    position: relative;
    width: 150px;
    /* MODIFIED: Adjusted for a more subtle, professional glow */
    box-shadow: 0 0 15px rgba(132, 94, 247, 0.4);
    font-family: sans-serif;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s ease;
    z-index: 100;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 28px;
    text-align: center;
    color: #FFFFFF;
  }

  .view-more-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(132, 94, 247, 0.5);
  }

  /* Footer Base */
  @media (max-width: 768px) {
    .footer-top {
      display: grid;
      grid-template-columns: 1fr auto;
    }

    .social-icons {
      padding-top: 0px !important;
    }

    .footer-bottom {
      flex-direction: column;
      gap: 10px;
    }

    .footer-copy {
      margin-top: 5px;
      font-size: 11px;
    }

    .footer-policies {
      font-size: 10px;
    }
  }

  .social-icons {
    padding-top: 50px;
  }

  .social-icons a:hover {
    background: #444;
  }

  /* Links + Contact Row */
  .footer-links-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0px 20px;
    font-size: 14px;
  }

  /* Bottom Bar */
  .footer-bottom {
    border-top: 1px solid #333;
    text-align: center;
    color: #aaa;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    align-items: center;
  }

  .footer-policies {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .footer-copy {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .ft_link {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #F5F5F5;
  }

  .q_link {
    list-style: none;
    padding: 0;
  }

  .q_link li {
    padding: 6px 0px;
  }

  .q_link li a {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .f_cnt {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

}




/*
  ==========================
  ==========================   
   ==========================
   ✅  CONTACT PAGE SCOPE
   ========================== */
/*=== ===*/



.contact-page {


  .contact-form {
    width: 80vw;
    max-width: 1200px;
    min-width: 320px;
    margin: 30px auto 28px auto;
    background: transparent;
    padding: 0;
    box-sizing: border-box;
    margin-bottom: 100px;
  }

  .submit-btn {
    border: 2px solid var(--brand-primary);
    border-radius: 50px;
    padding: 10px 100px;
    margin-top: 13px;
    cursor: pointer;
    box-shadow: 0 2px 16px rgba(125, 95, 255, 0.08);
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #FFFFFF;
    background: var(--brand-primary);
    transition: background-color 0.3s ease, color 0.3s ease, background 0.3s ease;
  }

  .submit-btn:hover {
    /* Hover styles are now the light purple button */
    color: var(--brand-primary);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), #DED7EF;
  }

  .navbar-nav .nav-link.active {
    color: #ffffff;
    /* Brighter white text */
    text-decoration: underline;
    /* Ensures no underline appears */
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active {
    color: #ffffff;
    /* Brighter white text */
    text-decoration: none;
    /* Ensures no underline appears */
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: 277px;
    background: #111;
    /* fallback color */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* ensure animation stays inside header */
  }

  /* Gallery inside header */
  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    z-index: 1;
    border-radius: 0px;
  }

  .gallery-container img,
  .img1 {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }

  .animated-img {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    opacity: 0;
    filter: brightness(0.5) blur(1.8px);
    transition: opacity 0.4s cubic-bezier(.94, -0.07, .35, 1.04), filter 0.33s;
    z-index: 2;
  }

  .active {
    opacity: 1;
    filter: brightness(1.17) blur(0px) drop-shadow(0 0 30px var(--brand-primary-light)99);
    animation: lightningFlash 0.43s cubic-bezier(.38, 1.41, .77, .93);
    z-index: 2;
  }

  @keyframes lightningFlash {
    0% {
      filter: brightness(2) blur(0.2px);
    }

    30% {
      filter: brightness(1.7) blur(0px);
    }

    55% {
      filter: brightness(1.1) blur(0px);
    }

    70% {
      filter: brightness(1.27) blur(0.05px);
    }

    100% {
      filter: brightness(1.17) blur(0px);
    }
  }

  /* Heading and badge on top */
  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
    /* above animation */
  }

  .innovation-badge-exact {
    position: relative;
    z-index: 3;
    color: #fff;
    font-weight: 500;
  }

  .innovation-badge-exact span {
    color: #fff;
    font-weight: 200;
  }

  .cards-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* always 2 columns */
    gap: 1.5rem;
    /* spacing between cards */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }

  .card-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .card-glass img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .card-body {
    padding: 1rem;
  }

  .card-title {
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    color: #fff;
  }

  .card-text {
    color: #ddd;
    font-size: 1rem;
  }

  /* Optional: responsive gap for small screens */
  @media (max-width: 768px) {
    .cards-container {
      grid-template-columns: repeat(2, 1fr);
      /* still 2 columns */
      gap: 1rem;
    }

    .about-header {
      height: 140px !important;
    }

    .about-header h1 {
      font-size: 45px !important;
    }

    .img1 {
      display: none;
    }

  }

  .process-list li {
    margin-bottom: 1.2em;
    font-size: 1.05rem;
    position: relative;
    padding-left: 1.25em;
  }

  /* Separator line between items */
  .process-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 6px;
    /* start of line */
    bottom: -0.6em;
    /* space below text */
    width: 1px;
    /* full width of li */
    height: 80px;
    /* thickness of line */
    background: linear-gradient(90deg, var(--brand-primary-light) 30%, #6366f1 70%);
  }

  /* --- Professional Modal Styles --- */
  .modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(10, 10, 20, 0.7);
    backdrop-filter: blur(5px);
    /* Frosted glass effect */
    align-items: center;
    justify-content: center;
    z-index: 1050;
    /* Higher z-index for modals */
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .modal-overlay.show {
    display: flex;
    opacity: 1;
  }

  .modal-box {
    background: linear-gradient(145deg, #2a2a3e, #1e1e2f);
    color: #f0f0f0;
    padding: 2rem 2.5rem;
    border-radius: 16px;
    text-align: center;
    width: 90%;
    max-width: 450px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    position: relative;
    /* Start position for animation */
    transform: translateY(-50px) scale(0.95);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease;
  }

  .modal-overlay.show .modal-box {
    /* End position for animation */
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  /* Staggered content animation */
  .modal-icon-wrapper,
  .modal-box h2,
  .modal-box .modal-desc {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  }

  .modal-overlay.show .modal-icon-wrapper {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
  }

  .modal-overlay.show .modal-box h2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
  }

  .modal-overlay.show .modal-box .modal-desc {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.4s;
  }


  .close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    color: #aaa;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s, transform 0.2s;
  }

  .close-modal:hover {
    color: #fff;
    transform: rotate(90deg);
  }

  .modal-icon-wrapper {
    margin: 0 auto 1.5rem;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--brand-primary-light), #6366f1);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pulseIcon 2s infinite ease-in-out;
  }

  .modal-icon-wrapper .fa-check-circle {
    font-size: 50px;
    color: #fff;
  }

  .modal-box h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 0.75rem;
    color: #fff;
  }

  .modal-box .modal-desc {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    color: #c0c0d0;
    line-height: 1.6;
  }

  @keyframes pulseIcon {
    0% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(167, 139, 250, 0.7);
    }

    70% {
      transform: scale(1);
      box-shadow: 0 0 0 20px rgba(167, 139, 250, 0);
    }

    100% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(167, 139, 250, 0);
    }
  }

  .about-header h1 {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    text-transform: capitalize;
    color: #F5F5F5;
  }

  .custom-select:invalid {
    color: #9ca3af;
    /* gray-400 for placeholder-like color */
  }

  .custom-select option {
    background-color: #121212;
    color: #eee;
  }

  .custom-select {
    /* keep default arrow */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  .custom-checkbox {
    accent-color: #6366f1;
    /* tick ka color & background dono change hoga */
  }

  .hidden-checkbox {
    display: none;
    /* default checkbox hide */
  }

  .custom-box {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #fff;
    border-radius: 4px;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
  }

  /* ✔ banane ke liye */
  .hidden-checkbox:checked+.custom-box::after {
    content: "✔";
    position: absolute;
    top: -3px;
    left: 2px;
    font-size: 16px;
    color: #6366f1;
    /* ✅ Yahan tick ka color set hoga */
  }

  /* Footer Base */
  @media (max-width: 768px) {
    .footer-top {
      display: grid;
      grid-template-columns: 1fr auto;
    }

    .social-icons {
      padding-top: 0px !important;
    }

    .footer-bottom {
      flex-direction: column;
      gap: 10px;
    }

    .footer-copy {
      margin-top: 5px;
      font-size: 11px;
    }

    .footer-policies {
      font-size: 10px;
    }
  }

  .social-icons {
    padding-top: 50px;
  }

  .social-icons a:hover {
    background: #444;
  }

  /* Links + Contact Row */
  .footer-links-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0px 20px;
    font-size: 14px;
  }

  /* Bottom Bar */
  .footer-bottom {
    border-top: 1px solid #333;
    text-align: center;
    color: #aaa;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    align-items: center;
  }

  .footer-policies {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .footer-copy {
    margin-bottom: 18px;
    margin-top: 20px;
  }

  .ft_link {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #F5F5F5;
  }

  .q_link {
    list-style: none;
    padding: 0;
  }

  .q_link li {
    padding: 6px 0px;
  }

  .q_link li a {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .f_cnt {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    font-size: 16px;
    line-height: 24px;
    color: #E0E0E0;
    text-decoration: none;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    gap: inherit;
  }

  .form-row {
    display: flex;
    gap: 22px;
    margin-bottom: 14px;
  }

  .form-group.half {
    width: 49%;
  }

  .form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .form-group label {
    margin-bottom: 10px;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: #E0E0E0;
  }




}





/* =======================
   ✅ PRIVACY POLICY PAGE STYLES
   ======================= */


.privacy-page {

  main {
    /* max-width: 820px; */
    margin: 0 auto;
    /* padding: 64px 16px 24px 16px; */
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: auto;
    background: #1111;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* margin-top: 167px; */
  }

  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    font-family: 'DM Sans', sans-serif;
    text-transform: capitalize;
    color: #F5F5F5;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
  }

  .lastup {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 24px;
    color: #E0E0E0;
    text-align: center;
    margin-bottom: 32px;
  }

  .privacy-container {
        max-width: 1240px;
    width: 100%;
    margin: 10px auto;
    padding: 20px 40px;
    background: #1111;
    border-radius: 8px;
  }

  .privacy-desc {
            color: #fff;
        line-height: 26px;
        margin-bottom: 20px;
  }

  .section {
    margin-bottom: 56px;
  }

  .f24 {
    font-family: 'Inter';
    font-weight: 500;
    font-size: 26px !important;
    color: #F5F5F5;
    margin-bottom: 24px;
  }

  .f20,
  .section p,
  .section li {
    font-family: 'Inter';
    font-weight: 300;
        font-size: 16px;
        line-height: 15px;
    color: #E0E0E0 !important;
  }

  .section ul {
    padding-left: 21px;
    margin: 0;
  }

  .section-divider {
    border: none;
    border-bottom: 1px solid #878585;
    margin: 36px 0;
  }

  ul li {
    margin-bottom: 6px;
  }

  .contact-email {
    font-size: 1rem;
    margin-top: 10px;
    color: #7268f7;
    word-break: break-all;
  }

  @media (max-width: 900px) {
    .privacy-container {
      padding: 24px 13px;
      margin: 32px auto;
    }

    .about-header h1 {
      font-size: 32px;
      font-weight: 600;
    }
  }

  @media (max-width: 600px) {
    main {
      width: 100%;
    }

    .privacy-container {
      padding: 18px 8px;
      margin: 20px auto;
    }

    .about-header h1 {
      font-size: 26px;
    }
  }
}


/*
  ==========================
  ==========================   
   ==========================
   ✅ TERMS & CONDITIONS PAGE
   ========================== */

.terms-page {

  /* Main container */
  main {
    max-width: 820px;
    margin: 0 auto;
    padding: 64px 16px 24px 16px;
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: auto;
    background: #1111;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* margin-top: 167px; */
  }

  .about-header h1 {
    font-size: 64px;
    font-weight: 800;
    font-family: 'DM Sans', sans-serif;
    color: #F5F5F5;
    text-transform: capitalize;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
  }

  .lastup {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 24px;
    color: #E0E0E0;
    text-align: center;
    margin-bottom: 32px;
  }

  /* Terms container */
  .terms-container {
    max-width: 1240px;
    width: 100%;
    margin: 56px auto;
    padding: 32px 40px;
    background: #1111;
    border-radius: 8px;
  }

  .terms-desc {
   font-size: 16px;
        font-weight: 300;
        line-height: 20px;
        color: #fff;
        margin-bottom: 27px;
  }

  .section {
    margin-bottom: 56px;
  }

  .f24 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 24px;
    color: #F5F5F5;
    margin-bottom: 24px;
  }

  .f20,
  .section p,
  .section li {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 15px;
    color: #E0E0E0 !important;
  }

  .section ul {
    padding-left: 21px;
    margin: 0;
  }

  .section ul li {
    margin-bottom: 6px;
  }

  .contact-email {
    font-size: 1rem;
    color: #7268f7;
    word-break: break-all;
    margin-top: 10px;
  }

  .section-divider {
    border: none;
    border-bottom: 1px solid #878585;
    margin: 36px 0;
  }

  /* Responsive */
  @media (max-width: 900px) {
    .terms-container {
      padding: 24px 13px;
      margin: 32px auto;
    }

    .about-header h1 {
      font-size: 32px;
      font-weight: 600;
    }
  }

  @media (max-width: 600px) {
    main {
      width: 100%;
      margin: 0 auto;
    }

    .terms-container {
      padding: 18px 8px;
      margin: 20px auto;
      max-width: 96vw;
    }

    .about-header h1 {
      font-size: 26px;
    }
  }
}


/* ==========================
   ✅ FAQ PAGE STYLES
   ========================== */

.faq-page {

  body {
    background-color: #000;
  }

  .about-header {
    position: relative;
    text-align: center;
    max-width: 100%;
    height: 277px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .gallery-container {
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 1;
  }

  .gallery-container img,
  .img1 {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* filter: brightness(0.55) blur(1.5px) !important; */
  }

  .animated-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    filter: brightness(0.5) blur(1.8px);
    transition: opacity 0.4s, filter 0.33s;
    z-index: 2;
  }

  .animated-img.active {
    opacity: 1;
    filter: brightness(1.17) blur(0) drop-shadow(0 0 30px var(--brand-primary-light)99);
    animation: lightningFlash .43s;
  }

  .about-header h1 {
    font-size: 64px;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    color: #fff;
    margin-bottom: 18px;
    position: relative;
    z-index: 3;
  }

  .about-desc {
    background: linear-gradient(180deg, #111111 85%, transparent 100%);
    border-radius: 8px;
    padding: 1.3rem;
    max-width: 850px;
    margin: auto auto 2.5rem;
    color: #e0e0e0;
    text-align: center;
    box-shadow: 0 3px 30px #17173a2c;
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 20px;
    line-height: 30px;
  }

  /* Accordion */
  .accordion-item {
    background-color: #111 !important;
    border: 1px solid #5c6eac !important;
    color: #fff;
  }

  .accordion-button {
    background-color: transparent;
    color: #fff;
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
  }

  .accordion-button:focus {
    box-shadow: none;
  }

  .accordion-button:not(.collapsed) {
    background-color: #dcd1d1;
    color: #fff;
    box-shadow: none;
  }

  .accordion-body {
    color: #fff;
  }

  .f18 {
    font-size: 18px !important;
  }

  .f20 {
    font-size: 20px !important;
  }

  .f24 {
    font-size: 24px !important;
    font-family: 'Inter';
    line-height: 32px;
  }

  .p-20 {
    padding: 0px 20px 20px 20px;
  }

  /* FAQ text clarity */
  .faq_desc,
  .que {
    font-family: 'Inter';
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    color: #E0E0E0;
  }

  /* Footer blur glow */
  .style1 {
    filter: blur(60px);
    box-shadow: 0 0 80px 40px var(--brand-primary);
  }

  .style2 {
    filter: blur(70px);
    box-shadow: 0 0 60px 40px #5b43b3;
  }

  .style3 {
    filter: blur(70px);
    box-shadow: 0 0 10px 20px var(--brand-primary);
  }

  .style4 {
    filter: blur(70px);
    box-shadow: 0 0 20px 20px #4f32b7;
  }

  /* Header animation */
  @keyframes lightningFlash {
    0% {
      filter: brightness(2) blur(.2px);
    }

    30% {
      filter: brightness(1.7) blur(0);
    }

    55% {
      filter: brightness(1.1) blur(0);
    }

    70% {
      filter: brightness(1.27) blur(.05px);
    }

    100% {
      filter: brightness(1.17) blur(0);
    }
  }

  /* Responsive */
  @media (max-width: 768px) {
    .about-header h1 {
      font-size: 32px;
    }

    .about-desc {
      font-size: 16px;
      padding: 1rem 0.7rem;
    }
  }
}


@media (max-width: 768px) {

  /* Hide the services section title only */
  .services-section1+.section-title {
    display: none !important;
  }

  /* Hide the services grid */
  .services {
    display: none !important;
  }

  /* Show mobile services slider */
  .services-section1 {
    display: inline !important;
  }

  .img1 {
    display: none;
  }

  .about-header {
    height: 140px !important;
  }

  .accordion-header {
    padding: 10px !important;
    /* margin: 10px !important; */
  }

  .f24 {
    font-size: 18px !important;
  }

  .f18 {
    background-color: #000;
  }

  .p-20 {
    padding: 0;
  }

  .gallery-container .img1 {
    width: 100%;
    height: auto;
    display: none !important;
    object-fit: cover;
    filter: brightness(0.55) blur(1.5px);
  }
}





/* ================= MOBILE RESPONSIVE UPDATES ================= */
@media (max-width: 768px) {


  #heading {
    font-size: clamp(1.5rem, 6vw, 2rem);
    line-height: 1.18;
    letter-spacing: -0.02em;
  }

  /* Header */


  .ux-header .ux-badg {
    width: 75px !important;
    height: 40px !important;
  }

  .scroller__item {
    font-size: 15px;
  }

  .navbar {
    background: #111111;
  }

  /* Navbar Scroller */
  .navbar-nav .nav-link {
    font-size: 18px;
  }

  /* Hero Section */
  .hero p.subtext {
    font-size: 13px;
    line-height: 1.7;
    max-width: 100%;
    padding: 0 0.25rem;
  }

  /* UX Section */
  .ux-title {
    font-size: 27px;
    line-height: 1.2;
  }

  .ux-content {
    gap: 12px;
    /* margin-bottom: 40px; */
  }

  .ux-description {
    font-size: 14px;

  }

  .services-section1 h5 {
    text-align: center;
  }







  /* About Us */
  .about-header .btn-gradient {
    margin-bottom: -70px;
  }

  /* Our Services */
  .services {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 12px;
  }

  .service-card {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }

  /* Section Titles */
  .section-title p {
    font-size: 14px;
  }

  .section-title h2 {
    font-size: 30px;
  }

  /* Projects Section */
  .project-card,
  .project-container {
    flex-direction: column;
  }

  /* Ecosystem */
  .ecosystem h2 {
    font-size: 30px;
  }

  .ecosystem .description {
    font-size: 12px;
  }

  /* UX Academy */
  .ux-subtitle::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    /* background: var(--brand-primary); */
    margin: 8px auto 0;
  }

  /* CTA Section */
  .cta-section {
    padding: 0;
    margin-bottom: 50px;
  }

  .cta-text p {
    font-size: 10px;
  }

  /* FAQ */
  .faq-right p {
    text-align: center;
    font-size: 12px;
  }

  .accordion-header {
    background: #000000;
  }

  /* Footer */
  .social-icons a img {
    width: 30px;
    display: inline-block;
  }

  .footer-logo img {
    width: 140px;
  }

  .footer-content .row {
    margin-top: 30px;
  }

  .footer-links ul li a {
    font-size: 14px;
  }

  .footer-links ul li {
    padding: 0;
  }

  /* Support & Copyright */
  .footer-policies,
  .support-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 12px;
    gap: 10px;
    margin-top: 15px;
  }
}

/* ============================================================
   MOBILE RESPONSIVE — SERVICE SECTION (SLIDER VERSION)
   ============================================================ */
@media (max-width: 768px) {

  .services-section1 {
    text-align: center;
    padding: 20px 15px;
    margin-top: 40px;
  }

  .services-section1 h5 {
    font-size: 16px;
    margin-bottom: 5px;
  }

  .services-section1 .ux-line {
    display: block;
    width: 63px;
    height: 1px;
    background: url(img/Ellipse\ 581.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 10px auto;
  }

  .services-section1 h1 {
    font-size: 26px;
    line-height: 34px;
    margin-bottom: 15px;
  }

  .services-section1 h1 span {
    color: #6936f5;
    /* adjust if needed */
  }

  .services-section1 .ux-description {
    font-size: 14px;
    line-height: 20px;
    padding: 0 10px;
    margin: 0 auto;
    max-width: 330px;
  }




  /* ------------- Slider Container ------------- */
  .services-container1 {
    display: none !important;
  }

  /* ------------- Card ------------- */
  /* .service-card1 {
        background: #fff;
        width: 180px;
        min-width: 180px;
        padding: 20px 10px;
        text-align: center;
        border-radius: 16px;
        box-shadow: 0 0 12px rgba(0,0,0,0.08);
        transition: 0.3s;
    } */

  .service-card1 img {
    width: 80px;
    height: auto;
    margin-bottom: 10px;
  }

  .service-card1 h3 {
    font-size: 16px;
    margin-top: 5px;
  }

  /* On touch hover */
  .service-card1:active {
    transform: scale(0.96);
  }
}











@media (max-width: 768px) {
  .next-btn {
    position: absolute;
    bottom: 15px;
    /* place inside image bottom */
    right: 15px;
    width: 40px !important;
    height: 40px !important;
    background-image: url('img/right-arrow.png');
    /* <-- YOUR ARROW ICON */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    z-index: 20;
    opacity: 0.9;
    border-radius: 50%;
    background-color: #ffffff20;
    /* translucent circle */
    backdrop-filter: blur(10px);
  }


  /* ensure no element overlaps the button */
  .project-slider,
  .main-slide {
    position: relative !important;
    z-index: 1;
  }

  .main-slide img {
    width: 100%;
    height: auto !important;
    /* fix unclickable image */
  }

  .accordion-content p {
    background-color: #000;
  }

  .row {
    margin-top: 20px;
  }





}



.mobile-only-footer {
  display: none;
}

/* Hide desktop version on mobile */
@media (max-width: 768px) {
  .desktop-only-footer {
    display: none !important;
  }

  .mobile-only-footer {
    display: block !important;
  }

  .innovation-badge-exact {
    font-size: 14px !important;
    padding: 3px
  }

  .project-page {
    .project-title {
      font-size: 20px !important;
      line-height: 30px !important;
    }
  }
}




/* 📱 MOBILE — Contact Form Responsive */
@media (max-width: 768px) {

  /* Make each row stack vertically */
  .form-row {
    flex-direction: column !important;
    gap: 20px;
  }

  /* Make all form groups full width */
  .form-group,
  .form-group.half {
    width: 100% !important;
  }

  /* Inputs & selects should be 100% width */
  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    width: 100% !important;
  }

  /* Adjust label spacing */
  .contact-form label {
    margin-bottom: 6px;
    display: block;
  }

  /* Checkbox row fix */
  .checkbox-label {
    display: flex;
    gap: 10px;
    font-size: 0.9rem;
    align-items: center;
  }
}



/* =========================================
   📱 FIX: SERVICES PAGE TOP BOXES (Mobile)
   Force 2 per row + responsive sizing
   ========================================= */
@media (max-width: 768px) {

  /* Container behaves like a grid */
  .services-page .top-boxes {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .img-ux {
    height: 50px !important;
    width: 40px !important;
  }


  /* EACH BOX – 2 in one row */
  .services-page .top-box {
    width: 48% !important;
    /* 🔥 MAIN FIX */
    height: auto !important;
    /* no fixed height */
    padding: 15px !important;
    border-radius: 10px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 20px !important;
  }

  /* ICON inside box */
  .services-page .top-box img {
    width: 120px !important;
    height: 55px !important;
    object-fit: contain !important;
    margin-bottom: 8px !important;
    margin: 15px !important;
  }

  /* Text */
  .services-page .top-box span {
    font-size: 12px !important;
    line-height: 14px !important;
    text-align: center !important;
  }
}


/* 🌟 Mobile Only Hero Background */
/* @media (max-width: 768px) {
  .hero {
    background-image: url('/img/bg.webp');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
  }

  /* Hide canvas on mobile so it doesn't interfere visually */
/* #interactive-canvas {
    display: none !important;
  } */

/* Optional: Slight black overlay for text readability */
/* .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45); /* adjust if needed */
/* z-index: -1; */
/* }
}  */

/* ---------------------------
   About Page - Our Philosophy (mobile only)
----------------------------*/

/* hide by default (desktop) */
.about-philosophy-section {
  display: none;
}

/* Mobile only */
@media (max-width: 768px) {
  .about-philosophy-section {
    display: block;
    padding: 0 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
  }

  .about-philosophy-card {
    margin-top: 70px;

    position: relative;
    border-radius: 16px;
    border: 1px solid #33334d;
    background: #111111;
    box-shadow: 0 4px 35px rgba(20, 18, 44, 0.35);
    padding: 1.4rem 1.3rem 1.6rem;
    animation: aboutFadeUp 0.8s ease-out both;
  }

  .about-philosophy-icon {
    position: absolute;
    top: -18px;
    left: 16px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--brand-primary);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .about-philosophy-icon i {
    color: #f5f5f5;
    font-size: 1.2rem;
  }

  .about-philosophy-title {
    margin-top: 0.6rem;
    margin-bottom: 0.8rem;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    text-align: left;
    color: #f5f5f5;
  }

  .about-philosophy-title span {
    /* border-bottom: 2px solid var(--brand-primary); */
    padding-bottom: 2px;
  }

  .about-philosophy-card p {
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 22px;
    color: #e0e0e0;
    margin-bottom: 0.75rem;
    text-align: left;
  }
}

/* simple fade-up animation */
@keyframes aboutFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Services Grid Redesign CSS */
.services-grid-section {
  padding: 0rem -1rem;
}

.service-card-link {
  text-decoration: none;
  display: block;
  height: 100%;
}

.service-grid-card {
  border: 1px solid rgba(167, 139, 250, 0.2);
  background: linear-gradient(160deg, #111111 90%, #1e1e27 100%);
  border-radius: 8px;
  padding: 1.5rem;
  color: #e0e0e0;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
}

.service-grid-card:hover {
  border-color: var(--brand-primary-light);
  box-shadow: 0 0 20px rgba(167, 139, 250, 0.1);
  transform: translateY(-2px);
  color: #fff;
}

/* Global Responsiveness Fixes */
@media (max-width: 768px) {
  .about-header {
    height: auto;
    padding: 80px 20px;
  }

  .about-header h1 {
    font-size: 36px !important;
    line-height: 1.2;
    margin-bottom: 15px;
  }

  .innovation-badge-exact {
    font-size: 14px !important;
    line-height: 24px !important;
    padding: 0 10px;
  }

  .service-card {
    width: 100%;
    min-height: auto;
  }

  .services {
    padding: 30px 15px;
    gap: 30px;
    flex-direction: column;
    align-items: center;
  }

  /* Universal Mobile Text and Section fixes */
  section {
    padding-left: 7px !important;
    padding-right: 10px !important;
  }

  h1,
  .hero h1,
  .hero11 h1 {
    font-size: 36px !important;
    line-height: 1.2 !important;
  }

  h2,
  .section-title,
  .ux-title {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

  h3,
  .ux-subtitle {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }

  p,
  .ux-description,
  .project-text,
  .service-card p,
  .cta-desc {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* Specific Section Spacing Adjustments for Mobile */
  .section-title {
    margin-top: 50px !important;
    margin-bottom: 30px !important;
  }

  .ux-content,
  .cta-section,
  .projects-section,
  .about-section,
  .eco-accordion-container {
    margin-top: 50px !important;
    /* margin-bottom: 50px !important; */
  }

  .projects-container,
  .cards-container,
  .contact-section,
  .about-desc {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .logo-slider {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
}

/* ================================================================
   RESPONSIVE FOUNDATION — appended 2026-02-25
   Fixes: fixed-px containers, horizontal overflow, fluid images,
   about-header min-width, cta-section fixed dims, ux-content width,
   innovation-badge nowrap, work filter bar, nav CTA button overflow.
   DOES NOT alter design — only makes existing layout fluid.
   ================================================================ */

/* 1 ── Global overflow guard & fluid images */
html {
  overflow-x: hidden; /* fallback */
  overflow-x: clip;
}

body {
  overflow-x: hidden; /* fallback */
  overflow-x: clip;
}

img {
  max-width: 100%;
  height: auto;
}

/* 2 ── CTA section: remove fixed pixel width/height */
.cta-section {
  width: 90% !important;
  max-width: 1240px !important;
  height: auto !important;
  box-sizing: border-box;
}

/* 3 ── .about-header: remove min-width that causes overflow on 320–430 px */
.about-header {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* 4 ── .ux-content: replace fixed 755 px with fluid */
.ux-content {
  width: 100% !important;
  max-width: 755px !important;
  box-sizing: border-box;
}

/* 5 ── .innovation-badge-exact: allow wrapping, prevent overflow */
.innovation-badge-exact {
  white-space: normal !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* 6 ── Work page: category filter bar */
.work-categories {
  text-align: center;
  margin: 1.5rem 0 2.5rem;
  padding: 0 1rem;
}

.work-category-list {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.work-filter-btn {
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.25s ease, font-weight 0.25s ease;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  user-select: none;
}

.work-filter-btn:hover {
  color: rgba(255, 255, 255, 0.85);
}

.work-filter-btn.active {
  color: #fff;
  font-weight: 700;
}

.work-filter-sep {
  color: rgba(255, 255, 255, 0.3);
  pointer-events: none;
  user-select: none;
  padding: 0 0.1rem;
}

/* 7 ── Nav CTA button: prevent overflow on narrow nav */
.nav-cta-btn,
.cta-button--wide {
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── 320 px – 576 px  (small mobile) ── */
@media (max-width: 576px) {
  .cta-section {
    padding: 1.5rem 1rem !important;
    margin: 1.5rem auto !important;
    border-radius: 12px !important;
  }

  .cta-container {
    flex-direction: column !important;
    gap: 1.25rem !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .cta-text h1,
  .cta-text h2 {
    font-size: clamp(1.25rem, 5vw, 1.75rem) !important;
    line-height: 1.3 !important;
  }

  .cta-image {
    order: -1;
    width: 100%;
  }

  .cta-image img {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    display: block;
    border-radius: 10px;
  }

  .innovation-badge-exact {
    font-size: 12px !important;
    line-height: 1.5 !important;
    padding: 0.5rem 0.85rem !important;
    height: auto !important;
  }

  .about-header h1 {
    font-size: clamp(1.5rem, 7vw, 2.25rem) !important;
  }

  .ux-content {
    height: auto !important;
    padding: 1rem !important;
    gap: 1rem !important;
  }

  .ux-image-container {
    max-width: 100% !important;
    height: auto !important;
  }

  /* project-container on index.html hero */
  .project-container {
    width: 75% !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Hero headings */
  .hero h1 {
    font-size: clamp(1.75rem, 8vw, 2.5rem) !important;
    line-height: 1.2 !important;
  }

  /* Section headings */
  .section-title {
    max-width: 100% !important;
    font-size: clamp(1.25rem, 6vw, 1.75rem) !important;
  }

  /* Stat card */
  .cards-container {
    grid-template-columns: 1fr !important;
  }
}

/* ── 576 px – 768 px  (large mobile / small tablet) ── */
@media (min-width: 576px) and (max-width: 768px) {
  .cta-section {
    padding: 2rem 1.5rem !important;
    border-radius: 14px !important;
  }

  .innovation-badge-exact {
    font-size: 14px !important;
    padding: 0.6rem 1.2rem !important;
    height: auto !important;
  }

  .about-header h1 {
    font-size: clamp(1.75rem, 5vw, 2.5rem) !important;
  }

  .ux-content {
    height: auto !important;
  }

  .project-container {
    width: 100% !important;
    height: auto !important;
  }
}

/* ── 768 px – 992 px  (tablet) ── */
@media (min-width: 768px) and (max-width: 992px) {
  .cta-section {
    padding: 2rem !important;
  }

  .ux-content {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ── Tables: horizontal scroll on all screen widths < 768 px ── */
@media (max-width: 768px) {
  .table-responsive-x {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive-x table {
    min-width: 480px;
  }
}

/* ── Work page filter buttons: touch-friendly on mobile ── */
@media (max-width: 576px) {
  .work-category-list {
    justify-content: center !important;
  }

  .work-category-list .filter-btn {
    font-size: 0.9rem !important;
  }
}

/* ── Footer: ensure no horizontal overflow ── */
.desktop-only-footer,
.mobile-only-footer {
  overflow-x: hidden;
  box-sizing: border-box;
}

.footer-inner {
  box-sizing: border-box;
  width: 100%;
}

/* ── Contact form: full-width inputs on all screens ── */
@media (max-width: 576px) {
  .contact-form .contact-row {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .contact-form .contact-field {
    width: 100% !important;
    flex: none !important;
  }

  .contact-submit {
    width: 100% !important;
  }
}

/* ── Ecosystem service cards: stack on mobile ── */
@media (max-width: 768px) {
  .services {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .service-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ── Logo slider: prevent overflow ── */
.logo-slider {
  overflow: hidden;
  width: 100%;
}

/* ── Review / testimonial grid: prevent x-overflow ── */
.reviews-grid,
.testimonial-card {
  box-sizing: border-box;
}

/* ── Scroller: prevent x-overflow ── */
.scroller {
  overflow: hidden;
  max-width: 100%;
}

/* ── Nav logo: never exceeds container ── */
.nav-logo {
  max-width: 200px;
  height: auto;
}

/* ── Fluid max-width containers: ensure no wider than viewport ── */
.projects-container,
.contact-section,
.cta-container {
  box-sizing: border-box;
  max-width: 100%;
}

/* ── #project-grid single column on mobile ── */
@media (max-width: 768px) {
  #project-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ================================================================
   FLUID TYPOGRAPHY — clamp() scales between breakpoints.
   Falls back gracefully in older browsers via the hard mobile
   overrides already in this file.
   ================================================================ */
.hero h1,
.hero11 h1 {
  font-size: clamp(1.75rem, 5vw + 0.5rem, 4rem);
  line-height: 1.2;
}

.about-header h1 {
  font-size: clamp(2rem, 6vw, 4rem);
}

.ux-title,
.section-title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  line-height: 1.3;
}

.ux-subtitle {
  font-size: clamp(0.875rem, 2vw, 1rem);
}

.ux-description,
.project-text p,
.cta-text p {
  font-size: clamp(0.875rem, 1.5vw, 1rem);
}

/* ── CTA button: min tap target 44 × 44 on all screen sizes ── */
.cta-button,
.btn-primary,
.btn-login {
  min-height: 44px;
  min-width: 44px;
}

/* ── Prevent text overflow on all heading levels ── */
h1,
h2,
h3,
h4,
h5 {
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ── Fluid max-width for all section containers ── */
.container,
.projects-container,
.contact-section,
.faq-main-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 4vw, 2rem);
  padding-right: clamp(1rem, 4vw, 2rem);
  box-sizing: border-box;
}

/* ── ux-image-container: clip #d2–#d55 hard-margin elements on narrow screens ── */
@media (max-width: 380px) {
  .ux-image-container {
    overflow: hidden !important;
  }
}

/* ── UNIVERSAL ABOUT-HEADER MOBILE RESPONSIVE FIX FOR ALL PAGES ── */
@media (max-width: 768px) {

  body[class] .about-header,
  body .about-header,
  .about-header {
    height: 150px !important;
    background-position-y: -450px !important;
    margin-bottom: 30px !important;
    padding: 80px 20px !important;
  }

  body[class] .about-header h1,
  body .about-header h1,
  .about-header h1 {
    font-size: 35px !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  body[class] .innovation-badge-exact,
  body .innovation-badge-exact,
  .innovation-badge-exact {
    font-size: 9px !important;
    padding: 15px 12px !important;
    margin-top: 5px !important;
    width: auto !important;
    height: auto !important;
    line-height: normal !important;
  }


}

/* =====================================================================
   ABOUT PAGE — Premium Stacked 3-Card Layout (Our Story / Mission / Vision)
   Corporate + interactive hover: border glow, lift, inner light sweep.
   ===================================================================== */

.abt-cards-section {
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1rem, 4vw, 3rem);
  max-width: 1200px;
  margin: 0 auto 2.5rem;
}

/* ── Flex row that holds the 3 cards ── */
.abt-cards-inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
}

/* ── Base card shell ── */
.abt-card {
  flex: 1;
  min-width: 0;
  background: linear-gradient(158deg, #0f0f1e 0%, #0c0c1a 100%);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 20px;
  padding: clamp(28px, 3.5vw, 48px) clamp(22px, 2.5vw, 36px);
  position: relative;
  cursor: default;
  transition:
    transform 0.38s cubic-bezier(0.34, 1.4, 0.64, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.38);
  overflow: hidden;
}

/* Top accent bar — slides in on hover */
.abt-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-primary), #845ef7, transparent);
  border-radius: 0 0 3px 3px;
  transition: width 0.45s ease;
}

/* Inner radial glow — fades in on hover */
.abt-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: radial-gradient(circle at 50% 0%, rgba(97, 71, 189, 0.07) 0%, transparent 65%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

/* ── Desktop stacking: side cards drop down, center card elevated ── */
.abt-card--story {
  transform: translateY(22px);
  z-index: 1;
  margin-right: -16px;
}

.abt-card--mission {
  transform: translateY(0);
  z-index: 3;
  border-color: rgba(97, 71, 189, 0.26);
  box-shadow:
    0 14px 44px rgba(97, 71, 189, 0.14),
    0 6px 20px rgba(0, 0, 0, 0.4);
}

.abt-card--vision {
  transform: translateY(22px);
  z-index: 1;
  margin-left: -16px;
}

/* ── Icon container ── */
.abt-card__icon-wrap {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: rgba(97, 71, 189, 0.10);
  border: 1px solid rgba(97, 71, 189, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.4rem;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.abt-card__icon-wrap i {
  font-size: 1.05rem;
  color: #845ef7;
  transition: color 0.35s ease;
}

/* ── Title ── */
.abt-card__title {
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.85rem;
  letter-spacing: -0.15px;
  transition: color 0.3s ease;
}

/* ── Body copy ── */
.abt-card__text {
  font-size: clamp(0.8rem, 1.1vw, 0.88rem);
  line-height: 1.82;
  color: rgba(255, 255, 255, 0.46);
  margin-bottom: 1.6rem;
  transition: color 0.3s ease;
}

/* ── Arrow badge ── */
.abt-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(97, 71, 189, 0.08);
  border: 1px solid rgba(97, 71, 189, 0.18);
  color: #845ef7;
  font-size: 0.78rem;
  transition: background 0.35s ease, transform 0.35s ease, border-color 0.35s ease;
}

/* =========================================================
   HOVER — smooth corporate lift + border glow + inner light
   ========================================================= */
.abt-card:hover {
  border-color: rgba(97, 71, 189, 0.58);
  background: linear-gradient(158deg, #111128 0%, #0e0e22 100%);
  box-shadow:
    0 22px 60px rgba(97, 71, 189, 0.20),
    0 8px 20px rgba(0, 0, 0, 0.45);
  z-index: 10;
}

/* Each card variant lifts relative to its resting offset */
.abt-card--story:hover {
  transform: translateY(10px);
}

.abt-card--mission:hover {
  transform: translateY(-14px);
}

.abt-card--vision:hover {
  transform: translateY(10px);
}

.abt-card:hover::before {
  width: 52%;
}

.abt-card:hover::after {
  opacity: 1;
}

.abt-card:hover .abt-card__icon-wrap {
  background: rgba(97, 71, 189, 0.22);
  border-color: rgba(97, 71, 189, 0.50);
  transform: scale(1.06);
}

.abt-card:hover .abt-card__icon-wrap i {
  color: #b09ef5;
}

.abt-card:hover .abt-card__title {
  color: #d8cbff;
}

.abt-card:hover .abt-card__text {
  color: rgba(255, 255, 255, 0.70);
}

.abt-card:hover .abt-card__arrow {
  background: rgba(97, 71, 189, 0.22);
  border-color: rgba(97, 71, 189, 0.50);
  transform: translateX(5px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Tablet — 2 per row, no overlap */
@media (max-width: 992px) {
  .abt-cards-inner {
    flex-wrap: wrap;
    gap: 1.25rem;
  }

  .abt-card {
    flex: 1 1 calc(50% - 0.625rem);
    max-width: calc(50% - 0.625rem);
    transform: none !important;
    margin: 0 !important;
    z-index: 1 !important;
  }

  .abt-card--mission {
    border-color: rgba(97, 71, 189, 0.26);
  }

  .abt-card:hover {
    transform: translateY(-7px) !important;
  }
}

/* Mobile — single column */
@media (max-width: 576px) {
  .abt-cards-section {
    padding: 1.5rem 1rem;
  }

  .abt-cards-inner {
    flex-direction: column;
    gap: 1rem;
  }

  .abt-card {
    flex: 1 1 100%;
    max-width: 100%;
    transform: none !important;
    margin: 0 !important;
  }

  .abt-card:hover {
    transform: translateY(-4px) !important;
  }
}

/* ================================================================
   GLOBAL RESPONSIVE FIXES — appended 2026-03-11
   Covers: hero subtext, #heading, footer images/grid,
   services padding, faq fonts, terms/privacy fonts,
   section-title, footer-content mobile stacking.
   ================================================================ */

/* ── Hero subtext: responsive font-size, line-height & max-width ── */
.hero p.subtext {
  font-size: clamp(0.8rem, 2.2vw, 1.1rem);
  line-height: 1.75;
  max-width: min(760px, 92vw);
  padding: 0 0.5rem;
}

/* ── #heading: superseded by HOMEPAGE HERO block below ── */

/* Gradient highlight on "Design." word */
.hero-hl {
  background: linear-gradient(135deg, #c4b5fd 0%, var(--brand-primary-light) 50%, #7c3aed 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Subtitle line inside hero headline */
.hero-sub {
  display: block;
  margin-top: 0.55em;
  font-size: 0.42em;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: rgba(210, 215, 235, 0.75);
  -webkit-text-fill-color: rgba(210, 215, 235, 0.75);
  background: none;
  text-transform: none;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Footer images: scale down on tablet/mobile ── */
@media (max-width: 768px) {
  .footer-images img {
    width: clamp(80px, 18vw, 140px);
    margin: 4px;
  }
}

/* ── Footer content: single column on small phones ── */
@media (max-width: 480px) {
  .footer-content {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 16px;
  }
}

/* ── Services section: reduce excessive padding on mobile ── */
@media (max-width: 768px) {
  .services {
    padding: 20px 12px !important;
    gap: 12px !important;
  }
}

/* ── Hero section: reduce top/bottom padding on mobile ── */
@media (max-width: 768px) {
  .hero {
    padding: 5rem 1.25rem;
  }
}
@media (max-width: 480px) {
  .hero {
    padding: 4rem 1rem;
  }
}

/* ── FAQ page: responsive accordion font sizes ── */
@media (max-width: 480px) {
  .faq-page .f24 {
    font-size: 16px !important;
    line-height: 24px !important;
    padding: 16px !important;
  }
  .faq-page .f18 {
    font-size: 14px !important;
  }
  .faq-page .faq_desc {
    font-size: 16px !important;
  }
  .faq-page .accordion-button {
    padding: 12px 14px;
  }
}

/* ── Terms & Privacy pages: responsive font sizes ── */
@media (max-width: 768px) {
  .terms-page .f24,
  .privacy-page .f24 {
    font-size: 20px !important;
    margin-bottom: 16px;
  }
  .terms-page .f20,
  .terms-page .section p,
  .terms-page .section li,
  .privacy-page .f20,
  .privacy-page .section p,
  .privacy-page .section li {
    font-size: 16px !important;
    line-height: 26px !important;
  }
  .terms-page .terms-desc,
  .privacy-page .privacy-desc {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 32px;
  }
  .terms-page .section-divider,
  .privacy-page .section-divider {
    margin: 24px 0;
  }
  .terms-page .section,
  .privacy-page .section {
    margin-bottom: 32px;
  }
}
@media (max-width: 480px) {
  .terms-page .f24,
  .privacy-page .f24 {
    font-size: 17px !important;
  }
  .terms-page .f20,
  .terms-page .section p,
  .terms-page .section li,
  .privacy-page .f20,
  .privacy-page .section p,
  .privacy-page .section li {
    font-size: 14px !important;
    line-height: 22px !important;
  }
  .terms-page .terms-container,
  .privacy-page .privacy-container {
    padding: 16px 12px;
    margin: 16px auto;
  }
  .terms-page .terms-desc,
  .privacy-page .privacy-desc {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 24px;
  }
}

/* ── Lastup date (legal pages header): responsive ── */
@media (max-width: 768px) {
  .lastup {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

/* ── Services offcanvas: ensure full width on mobile ── */
@media (max-width: 768px) {
  #serviceOffcanvas {
    width: 92vw !important;
    max-width: 92vw !important;
  }
  #serviceOffcanvas .offcanvas-body {
    padding: 16px 18px 24px 18px !important;
  }
  #serviceOffcanvas .offcanvas-header {
    padding: 16px 18px !important;
  }
}

/* ── Nav CTA button: adapt on very small screens ── */
@media (max-width: 360px) {
  .nav-cta-btn {
    width: 130px;
    font-size: 13px;
    padding: 0 8px;
  }
}

/* ================================================================
   MOBILE FOOTER — CLEAN LAYOUT
   ================================================================ */
.mf-inner {
  background: #0e0e0e;
  padding: 32px 20px 24px;
  box-sizing: border-box;
}

/* Brand block */
.mf-brand {
  text-align: center;
  margin-bottom: 4px;
}

.mf-logo {
  width: 130px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}

.mf-tagline {
  font-size: 12px;
  color: #888;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}

.mf-social {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.mf-social .social-row {
  display: flex;
  justify-content: center;
  gap: 14px;
}

.mf-social a img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.2s;
}

.mf-social a:hover img { 
  opacity: 1; 
  transform: scale(1.1);
}

/* Divider */
.mf-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 20px 0;
}

/* Links row */
.mf-links-row {
  display: flex;
  gap: 0;
  justify-content: space-between;
}

.mf-col {
  flex: 1;
}

.mf-heading {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #f5f5f5;
  margin: 0 0 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.mf-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mf-list li {
  padding: 5px 0;
}

.mf-list li a {
  font-size: 13px;
  color: #b0b0b0;
  text-decoration: none;
  transition: color 0.2s;
}

.mf-list li a:hover { color: #fff; }

/* Contact */
.mf-contact { margin-top: 4px; }

.mf-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #b0b0b0;
  margin: 0 0 10px;
  line-height: 1.5;
}

.mf-contact-item i {
  color: var(--brand-primary);
  margin-top: 2px;
  flex-shrink: 0;
  width: 14px;
}

.mf-contact-item a {
  color: #b0b0b0;
  text-decoration: none;
  transition: color 0.2s;
}

.mf-contact-item a:hover { color: #fff; }

/* Bottom bar on mobile */
@media (max-width: 768px) {
  .footer .container.d-block {
    padding: 16px 20px !important;
  }

  .footer .container.d-block p {
    font-size: 12px !important;
    color: #888 !important;
    margin: 0 0 8px !important;
    text-align: center !important;
  }

  .footer-policies {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px 12px !important;
    margin: 0 !important;
  }

  .footer-policies a {
    font-size: 12px !important;
    color: #888 !important;
    margin: 0 !important;
    text-decoration: none;
  }

  .footer-policies a:hover { color: #fff !important; }
}

/* ================================================================
   FAQ SECTION — MOBILE RESPONSIVE FIX
   ================================================================ */
@media (max-width: 768px) {

  .faq-section {
    padding: 30px 16px 0 !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  /* Reset the broken 3-col grid */
  .faq-container {
    display: block !important;
  }

  /* Stack column, centered, no overflow */
  .faq-main-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    gap: 24px !important;
    box-sizing: border-box !important;
  }

  /* Right side (title + desc + link) — comes first, fully centered */
  .faq-right {
    order: 1 !important;
    width: 100% !important;
    flex: unset !important;
    margin-left: 0 !important;
    text-align: center !important;
    margin-bottom: 0 !important;
  }

  .faq-right h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    margin-bottom: 10px !important;
  }

  .faq-right p {
    font-size: 13px !important;
    line-height: 1.65 !important;
    text-align: center !important;
    color: #bbb !important;
    margin-bottom: 16px !important;
  }

  /* View Details link — centered, no hardcoded margin */
  .faq-link {
    margin-left: 0 !important;
    display: inline-block !important;
    text-align: center !important;
  }

  /* Left side (accordion) — comes second, full width */
  .faq-left {
    order: 2 !important;
    width: 100% !important;
    flex: unset !important;
    min-width: unset !important;
    margin-left: 0 !important;
  }

  /* Accordion items — full width, readable */
  .accordion-item {
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 10px !important;
  }

  .accordion-header {
    padding: 14px 16px !important;
  }

  .accordion-header h3 {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding-right: 8px !important;
  }

  .accordion-content p {
    font-size: 13px !important;
    line-height: 1.65 !important;
    padding: 0 16px 16px !important;
    color: #bbb !important;
  }

  .accordion-icon {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
  }
}

/* ================================================================
   UNIFIED SECTION TITLE & SUBTITLE — MOBILE TYPOGRAPHY
   All section headings match the same size, weight & line-height
   ================================================================ */
@media (max-width: 768px) {

  /* ── Main section titles ── */
  .ux-title,
  .section-title h2,
  .ecosystem h2,
  .services-section1 h1,
  .faq-right h2,
  .faq-section h2,
  center h2,
  .reviews-section h2,
  .cta-section h1 {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
  }

  /* ── Section subtitles (the small label above the title) ── */
  .ux-subtitle,
  .services-section1 h5,
  .ecosystem .subtitle,
  h3.ux-subtitle {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #aaa !important;
    letter-spacing: 0.03em !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }

  /* ── Section description paragraphs ── */
  .ux-description,
  .ecosystem .description,
  .section-title p,
  .services-section1 .ux-description,
  .reviews-section p {
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: #bbb !important;
  }
}

/* ================================================================
   ECOSYSTEM CARDS — MOBILE RESPONSIVE FIX
   ================================================================ */
@media (max-width: 768px) {

  .ecosystem {
    padding: 40px 16px !important;
    margin-top: 50px !important;
  }

  .ecosystem h2 {
    font-size: 22px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
  }

  .ecosystem .description {
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
    padding: 0 4px;
  }

  /* Stack cards vertically, full width */
  .cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 4px !important;
  }

  .cards .eco-home-wrap {
    width: 100% !important;
    display: flex !important;
  }

  .cards a.eco-home-hit,
  .cards .eco-home-hit {
    width: 100% !important;
    display: flex !important;
  }

  /* Card base: remove fixed height, use flex layout */
  .cards .card {
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: unset !important;
    padding: 20px 18px 20px 18px !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* Title: fix hardcoded width, shrink font */
  .cards .card h1,
  .cards .card h3,
  .card h1,
  .card h3 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
    padding-right: 40px !important; /* space for arrow */
    color: #fff !important;
  }

  /* Description text */
  .cards .card p,
  .card p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #bbb !important;
    margin: 0 !important;
    padding-right: 36px !important; /* space for arrow */
  }

  /* Arrow: bottom-right, smaller, never overlaps text */
  .cards .card .arrow,
  .card .arrow {
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;
    top: auto !important;
    width: 28px !important;
    height: 28px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
  }

  /* ux-line divider inside card */
  .cards .card .ux-line {
    display: block !important;
    width: 40px !important;
    height: 1px !important;
    margin: 2px 0 4px !important;
  }
}

/* ============================================
   NAVBAR COLLAPSE — MOBILE RESPONSIVE FIX
   ============================================ */

@keyframes menuSlideDown {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes navLinkFadeIn {
  from { opacity: 0; transform: translateX(-16px); }
  to   { opacity: 1; transform: translateX(0); }
}

@media (max-width: 991.98px) {

  /* Full-screen overlay menu */
  .navbar-collapse.show {
    position: fixed !important;
    top: 111px !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100dvh - 111px) !important;
    background: #0e0e0e !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    padding: 0 0 2rem !important;
    overflow-y: auto !important;
    z-index: 1000 !important;
    animation: menuSlideDown 0.28s ease forwards !important;
  }

  .navbar-collapse:not(.show) {
    display: none !important;
  }

  /* ── Nav list ── */
  .navbar-nav {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 1.5rem !important;
    gap: 0 !important;
  }

  /* Each link row */
  .navbar-nav .nav-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    opacity: 0;
    animation: navLinkFadeIn 0.3s ease forwards !important;
  }

  /* Stagger each item */
  .navbar-nav .nav-item:nth-child(1) { animation-delay: 0.05s !important; }
  .navbar-nav .nav-item:nth-child(2) { animation-delay: 0.10s !important; }
  .navbar-nav .nav-item:nth-child(3) { animation-delay: 0.15s !important; }
  .navbar-nav .nav-item:nth-child(4) { animation-delay: 0.20s !important; }
  .navbar-nav .nav-item:nth-child(5) { animation-delay: 0.25s !important; }
  .navbar-nav .nav-item:nth-child(6) { animation-delay: 0.30s !important; }
  .navbar-nav .nav-item:nth-child(7) { animation-delay: 0.35s !important; }

  /* Nav links */
  .navbar-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 0 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    color: #8a8a96 !important;
    letter-spacing: 0.01em !important;
    margin-right: 0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
  }

  /* Small chevron on right for each link */
  .navbar-nav .nav-link::after {
    content: '›' !important;
    font-size: 20px !important;
    color: #444 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
  }

  .navbar-nav .nav-link.active {
    color: #ffffff !important;
    font-weight: 500 !important;
  }

  .navbar-nav .nav-link.active::after {
    color: var(--brand-primary) !important;
  }

  .navbar-nav .nav-link:hover {
    color: #e0e0e0 !important;
  }

  .navbar-nav .nav-link:hover::after {
    color: var(--brand-primary) !important;
    transform: translateX(3px) !important;
  }

  /* ── Hero tagline card ── */
  .hero11 {
    margin: 24px 1.5rem 0 !important;
    padding: 20px !important;
    background: linear-gradient(135deg, rgba(97,71,189,0.18), rgba(97,71,189,0.06)) !important;
    border: 1px solid rgba(97,71,189,0.25) !important;
    border-radius: 16px !important;
    text-align: center !important;
    width: auto !important;
    animation: navLinkFadeIn 0.3s ease 0.38s both !important;
  }

  .hero11 h1 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.5 !important;
    margin-bottom: 4px !important;
  }

  .hero11 p {
    font-size: 13px !important;
    color: #7a7a8a !important;
    margin: 0 !important;
  }

  /* ── CTA button ── */
  .navbar-collapse .d-flex {
    width: 100% !important;
    justify-content: center !important;
    padding: 0 1.5rem !important;
    margin-top: 20px !important;
    box-sizing: border-box !important;
    animation: navLinkFadeIn 0.3s ease 0.42s both !important;
  }

  .nav-cta-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    font-size: 16px !important;
    padding: 0.85rem 1.5rem !important;
    border-radius: 999px !important;
  }
}

/* ================================================================
   ALL PAGES — UNIFIED MOBILE TYPOGRAPHY (titles, subtitles, body)
   Applies to: about, service, work, ecosystem, faq, contact
   ================================================================ */
@media (max-width: 767.98px) {

  /* ── Page Banner (about-header) ── */
  .about-header h1 {
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
  }

  .innovation-badge-exact {
    font-size: 12px !important;
    line-height: 1.65 !important;
    padding: 10px 16px !important;
    margin: 0 16px !important;
  }

  /* ── Section Titles (.ab-title) — About / Service pages ── */
  .ab-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
  }

  /* ── Section label (small purple text above title) ── */
  .ab-label {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
  }

  /* ── Section body / description text ── */
  .ab-story-text {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* ── About/Service section spacing ── */
  .ab-story-section {
    padding: 32px 16px !important;
  }

  .ab-mv-section {
    padding: 32px 16px !important;
  }

  .ab-process-section {
    padding: 32px 16px !important;
  }

  .ab-section-header-center {
    margin-bottom: 2rem !important;
  }

  .ab-section-header-center p,
  .ab-story-section p {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* ── Process steps ── */
  .ab-process-step__title {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .ab-process-step__desc {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

  /* ── Process section (Our Proven Process) ── */
  .process-title {
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  .process-list li {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* Work / project cards: styled in work.php (inline) — do not override here or
     !important mobile rules break the original card scale on project-page. */

  /* ── Ecosystem page ── */
  .eco-acc-header {
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 16px !important;
  }

  .eco-acc-body {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  .eco-acc-body p,
  .eco-acc-body li {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  /* Service cards on ecosystem page */
  .service-card h3 {
    font-size: 17px !important;
  }

  /* ── Service page — ux-title + cards ── */
  .ux-card-title {
    font-size: 16px !important;
    font-weight: 600 !important;
  }

  .ux-card-desc {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .ux-card-link {
    font-size: 13px !important;
  }

  /* ── FAQ page ── */
  .f24 {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  .f18 {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  /* ── Contact page ── */
  .contact-info-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
  }

  .contact-info-desc {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  .contact-header-label {
    font-size: 11px !important;
  }

  .contact-info-features li {
    font-size: 13px !important;
  }

  /* ── Mission/Vision card text on about page ── */
  .ab-mv-card__title {
    font-size: 20px !important;
  }

  .ab-mv-card__text {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

  .ab-mv-chip {
    font-size: 11px !important;
  }
}

/* ================================================================
   ABOUT-HEADER — GIF BACKGROUND (ALL SCREENS)
   ================================================================ */

/* Hide the video elements on all screens — gif is used instead */
.header-bg-video,
.header-bg-overlay {
  display: none !important;
}

/* Desktop about-header: gif background + dark overlay */
.about-header {
  position: relative !important;
  overflow: hidden !important;
  height: 320px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  background-image: url('img/bg_ani.gif') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #0a0a14 !important;

  border-top: 1px solid rgba(140, 100, 255, 0.5) !important;
  border-bottom: 1px solid rgba(80, 50, 160, 0.2) !important;
  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.6) !important;
}

/* Dark overlay via ::before */
.about-header::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(8, 6, 20, 0.68) 0%,
    rgba(10, 8, 24, 0.78) 100%
  ) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* All children sit above the overlay */
.about-header > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Desktop title */
.about-header h1 {
  font-size: 56px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin: 0 0 16px !important;
  /* text-shadow: 0 2px 32px rgba(100, 60, 200, 0.5) !important; */
}

/* Desktop badge */
.about-header .innovation-badge-exact {
  display: inline-block !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: rgba(220, 210, 255, 0.88) !important;
  padding: 12px 28px !important;
  border-radius: 10px !important;
  background: rgba(20, 10, 50, 0.5) !important;
  border: 1px solid rgba(130, 90, 230, 0.4) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  max-width: 720px !important;
  white-space: normal !important;
  text-align: center !important;
}

/* ================================================================
   ABOUT-HEADER — MOBILE REDESIGN (all inner pages)
   Uses bg_ani.gif as background with dark overlay.
   Overrides ALL previous conflicting about-header mobile rules.
   ================================================================ */
@media (max-width: 767.98px) {

  /* Hide video on mobile — gif handles background */
  .header-bg-video,
  .header-bg-overlay {
    display: none !important;
  }

  /* Full reset + gif background */
  body[class] .about-header,
  body .about-header,
  .about-header {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 180px !important;
    padding: 52px 20px 44px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;

    /* gif background — covers full header */
    background-image: url('img/bg_ani.gif') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #0a0a14 !important;

    border-top: 1px solid rgba(140, 100, 255, 0.5) !important;
    border-bottom: 1px solid rgba(80, 50, 160, 0.2) !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.6) !important;
    background-position-y: center !important;
  }

  /* Dark overlay using ::before so text stays readable */
  .about-header::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
      180deg,
      rgba(8, 6, 20, 0.72) 0%,
      rgba(10, 8, 24, 0.80) 100%
    ) !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  /* All children above the overlay */
  .about-header > * {
    position: relative !important;
    z-index: 1 !important;
  }

  /* Page title */
  body[class] .about-header h1,
  body .about-header h1,
  .about-header h1 {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    margin: 0 0 14px !important;
    text-shadow: 0 2px 24px rgba(100, 60, 200, 0.6) !important;
  }

  /* Badge / description pill */
  body[class] .innovation-badge-exact,
  body .innovation-badge-exact,
  .innovation-badge-exact {
    display: inline-block !important;
    width: auto !important;
    max-width: 92% !important;
    height: auto !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: rgba(220, 210, 255, 0.9) !important;
    padding: 10px 18px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: rgba(20, 10, 50, 0.55) !important;
    border: 1px solid rgba(130, 90, 230, 0.4) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  .innovation-badge-exact::after {
    display: none !important;
  }

  .innovation-badge-exact span {
    color: var(--brand-primary-lighter) !important;
    font-weight: 600 !important;
    font-style: normal !important;
  }
}

/* ── Badge text: desktop = long (white), mobile = short (purple spans) ── */
.badge-mobile { display: none; }
.badge-desktop span { color: #ffffff !important; font-weight: 400 !important; }
@media (max-width: 767px) {
  .badge-desktop { display: none !important; }
  .badge-mobile  { display: inline; }
}

/* ── Desktop navbar active link indicator ── */
@media (min-width: 992px) {
  .navbar-nav .nav-link {
    border-bottom: 2px solid transparent;
    padding-bottom: 4px !important;
    text-decoration: none !important;
  }
  .navbar-nav .nav-link.active {
    color: #ffffff !important;
    border-bottom-color: var(--brand-primary-light) !important;
    text-decoration: none !important;
  }
}

/* ── Back to Top Button ── */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-light) 100%);
  border: 2px solid var(--brand-primary-light);
  border-radius: 8px;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 99999;
  padding: 0;
  font-size: 0;
  box-shadow: 0 4px 12px rgba(97, 71, 189, 0.3);
}

.back-to-top:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, var(--brand-primary-lighter) 100%);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(97, 71, 189, 0.6);
}

.back-to-top:active {
  transform: translateY(-1px);
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

.back-to-top svg {
  width: 24px;
  height: 24px;
  stroke: white;
  stroke-width: 2;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .back-to-top {
    bottom: 20px;
    right: 20px;
    width: 45px;
    height: 45px;
  }

  .back-to-top svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  .back-to-top {
    bottom: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
  }

  .back-to-top svg {
    width: 18px;
    height: 18px;
  }
}



/* Primary CTA Button - Standalone Version */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 32px;
  border-radius: 999px;
  background: var(--brand-primary);
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  /* box-shadow: 0 4px 15px rgba(97, 71, 189, 0.4); */
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background: var(--brand-primary-hover);
  opacity: .92;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(124,91,247,.4);
  color: #fff;
}

/* Secondary CTA Button - pairs with .btn-primary (outline style) */
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 32px;
  border-radius: 999px;
  background:#000000;
  color: var(--brand-primary);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid var(--brand-primary);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background: var(--brand-primary);
  color: #ffffff;
}

/* Shine Effect on Hover */
.btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: skewX(-20deg);
  transition: 0.5s;
}

.btn-primary:hover::after {
  left: 100%;
}

/* Global sticky header behavior (all pages) */
:root {
  --secondary-navbar-height: 40px;
}

.navbar-top {
  position: sticky;
  top: 0;
  z-index: 1100;
}

@media (min-width: 992px) {
  .navbar {
    top: var(--secondary-navbar-height);
  }
}

@media (max-width: 991.98px) {
  .navbar {
    top: 0;
  }
}

/* Force sticky navbar include on all pages */
.site-top-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 1100 !important;
}

.site-main-sticky {
  position: sticky !important;
  z-index: 1099 !important;
}

@media (min-width: 992px) {
  .site-main-sticky {
    top: var(--secondary-navbar-height) !important;
  }
}

/* ================================================================
   SEO LOCATION PAGES — MOBILE RESPONSIVE POLISH
   ================================================================ */

/* ── Hero badge pill: constrain width on mobile so it wraps gracefully ── */
.hero > div:first-of-type:not(.ux-header) {
  max-width: min(90vw, 680px);
  box-sizing: border-box;
  word-break: break-word;
  white-space: normal;
}

/* ── Hero headline: wrap long location names without overflow ── */
.hero-headline,
#heading {
  word-break: break-word;
  overflow-wrap: break-word;
}

/* ── Comparison table: horizontal scroll on mobile instead of clipping ── */
@media (max-width: 640px) {
  .de-compare-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .de-compare {
    min-width: 460px;
  }
  .hero > div:nth-of-type(2) {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100%;
    padding: 0;
  }
}

/* ── Hero section: prevent any child from causing horizontal page scroll ── */
.hero {
  max-width: 100%;
  overflow-x: hidden;
}


@media (max-width: 991.98px) {
  .site-main-sticky {
    top: 0 !important;
  }
}
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-primary-hover), var(--brand-primary));
  color: white;
  border: none;
  box-shadow: 0 4px 12px rgba(123, 97, 255, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  transform: translateY(20px);
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: linear-gradient(135deg, #8a73ff, #735acc);
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(123, 97, 255, 0.6);
  color: white;
}

/* ================================================================
   HOMEPAGE HERO — UX PRINCIPLE REDESIGN
   ================================================================ */

/* Eyebrow label */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(196,181,253,.7);
  background: rgba(124,58,237,.1);
  border: 1px solid rgba(124,58,237,.25);
  border-radius: 999px;
  padding: 6px 16px;
  margin-bottom: 1.4rem;
}
.hero-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a78bfa;
  box-shadow: 0 0 6px #a78bfa;
  flex-shrink: 0;
}

/* Headline sizing — impactful but not overwhelming */
#heading {
  font-size: clamp(2.4rem, 5.5vw, 64px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-align: center;
  color: #fff;
  margin: 0 0 1.1rem;
}

/* Gradient highlight on middle line */
.hero-hl-gradient {
  background: linear-gradient(110deg, #c4b5fd 0%, #a78bfa 40%, #7c3aed 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 3. Value proposition — clear, benefit-led */
.hero-desc {
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  font-weight: 400;
  color: rgba(210,215,235,.72);
  line-height: 1.8;
  max-width: 580px;
  margin: 0 auto 2rem;
  text-align: center;
}
.hero-desc-em {
  font-weight: 600;
  color: rgba(220,220,245,.9);
}
.hero-desc-br { display: none; }
@media (min-width: 480px) { .hero-desc-br { display: inline; } }

/* 4. CTA group — primary + secondary (Hick's Law) */
.hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.hero-cta { margin-top: 0; }

/* Secondary CTA used alongside .hero-cta in the hero button group */
.hero-ghost-btn {
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0 32px;
  border-radius: 999px;
  background: transparent;
  color: var(--brand-primary-light);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid var(--brand-primary-light);
  cursor: pointer;
  transition: all 0.3s ease;
}

.hero-ghost-btn:hover {
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #ffffff;
}

/* 5. Trust bar — reduces CTA friction */
.hero-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 0;
  margin-bottom: .75rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(167,139,250,.18);
  border-radius: 999px;
  padding: 10px 20px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.htb-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  font-weight: 500;
  color: rgba(220,225,245,.82);
  white-space: nowrap;
  padding: 0 16px;
}
.htb-divider {
  width: 1px;
  height: 14px;
  background: rgba(167,139,250,.25);
  flex-shrink: 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .hero-eyebrow { font-size: .72rem; padding: 5px 13px; margin-bottom: 1.1rem; }
  #heading {
    font-size: clamp(2rem, 8.5vw, 3rem) !important;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin-bottom: 1rem;
  }
  .hero-desc {
    font-size: .97rem;
    max-width: 90vw;
    line-height: 1.75;
  }
  .hero-actions { gap: 10px; }
  .hero-trust-bar { flex-wrap: wrap; border-radius: 16px; padding: 10px 12px; gap: 8px; }
  .htb-divider { display: none; }
  .htb-item { padding: 4px 10px; background: rgba(167,139,250,.08); border-radius: 999px; border: 1px solid rgba(167,139,250,.15); }
  .hero .ux-header { margin-top: 32px; }

  /* Homepage: content-sized hero — no leftover empty viewport gap */
  .page-home .hero-wrapper,
  .page-home .hero {
    min-height: 0 !important;
  }
  .page-home .hero {
    padding: clamp(4.5rem, 12vw, 6rem) clamp(1rem, 4vw, 1.5rem) clamp(1.5rem, 4vw, 2.5rem) !important;
    justify-content: center;
  }
  .page-home .hp-about-section .section-title {
    margin-top: 0;
  }
  .page-home .section-title {
    padding-left: clamp(12px, 4vw, 24px);
    padding-right: clamp(12px, 4vw, 24px);
  }
}

@media (max-width: 480px) {
  .hero-pill { font-size: .68rem; padding: 5px 14px; margin-bottom: 1.1rem; }
  .hero-eyebrow { font-size: .68rem; padding: 5px 12px; }
  #heading {
    font-size: clamp(1.8rem, 9.5vw, 2.4rem) !important;
    letter-spacing: -0.02em;
    line-height: 1.12;
  }
  .hero-desc { font-size: .9rem; max-width: 94vw; }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: 300px; margin-left: auto; margin-right: auto; }
  .hero-ghost-btn { justify-content: center; }
  .hero-cta { width: 100% !important; max-width: 100% !important; justify-content: center; }
  .hero-cta-secondary { width: 100%; justify-content: center; box-sizing: border-box; }
  .hero-trust-bar { flex-wrap: wrap; border-radius: 16px; padding: 10px 12px; gap: 8px; }
  .htb-divider { display: none; }
  .htb-item { padding: 4px 10px; background: rgba(167,139,250,.08); border-radius: 999px; border: 1px solid rgba(167,139,250,.15); }
  .hero .ux-header { margin-top: 28px; padding: 0 12px; }

  .page-home .hero {
    padding-top: clamp(3.75rem, 10vw, 5rem) !important;
    padding-bottom: 1.25rem !important;
  }
}

/* ================================================================
   GLOBAL RESPONSIVE POLISH (all pages — desktop unchanged)
   ================================================================ */

html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
  max-width: 100%;
}

img,
video,
svg,
canvas {
  max-width: 100%;
  height: auto;
}

/* Tap targets & focus */
a:focus-visible,
button:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.hero-ghost-btn:focus-visible {
  outline: 2px solid var(--brand-primary-light);
  outline-offset: 3px;
}

/* Disable decorative hover transforms on touch devices */
@media (hover: none), (pointer: coarse) {
  .card:hover,
  .service-card:hover,
  .uxp-proj-card:hover,
  .why-uxp-card:hover,
  .ind-card:hover,
  .dlv-card:hover,
  .de-card:hover,
  .de-svc:hover,
  .t2-svc:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Shared section / CTA button mobile adjustments */
@media (max-width: 768px) {
  .section-title h2 {
    font-size: clamp(1.35rem, 5.5vw, 1.85rem);
    line-height: 1.25;
    word-break: break-word;
  }

  .cta-section,
  .faq-section,
  .reviews-section,
  .ecosystem {
    padding-left: clamp(12px, 4vw, 24px);
    padding-right: clamp(12px, 4vw, 24px);
  }

  .btn-primary,
  .btn-secondary,
  .hero-ghost-btn {
    min-height: 48px;
  }

  .back-to-top {
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    right: max(16px, env(safe-area-inset-right, 0px));
  }

  /* Prevent footer row from creating large empty desktop-only margin on phones */
  .desktop-only-footer .row[style*="margin-top"] {
    margin-top: clamp(40px, 8vw, 100px) !important;
  }
}

@media (max-width: 480px) {
  .btn-primary,
  .hero-cta {
    white-space: normal;
    height: auto;
    min-height: 48px;
    padding: 12px 22px;
    text-align: center;
    line-height: 1.3;
  }

  .hero-actions .hero-cta-secondary {
    height: auto;
    min-height: 48px;
    padding: 12px 22px;
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
  }
}

/* Tablet: reduce multi-column squeezes */
@media (max-width: 1024px) and (min-width: 769px) {
  .page-home .hp-about-wrap {
    gap: 40px;
  }
}

/* ================================================================
   HERO MOBILE — scroller visibility + layout polish
   ================================================================ */

@media (max-width: 768px) {
  .ux-header {
    display: none !important;
  }
}

@media (max-width: 480px) {
  /* Badge: scale down but keep visible */
  .ux-header .ux-badg {
    width: 72px !important;
    height: 36px !important;
    flex-shrink: 0;
  }
  /* End cap not needed on phones */
  .ux-header .ux-end {
    display: none !important;
  }
  /* Container: auto height, minimal padding, small top margin */
  .ux-header {
    height: auto !important;
    padding: 0 6px !important;
    margin-top: 20px !important;
  }
  /* Remove mask entirely — narrow viewport needs full-width visibility */
  .scroller {
    -webkit-mask: none !important;
    mask: none !important;
    overflow: hidden;
    min-width: 0;
  }
  /* Tighter spacing on scroller items for narrow phones */
  .scroller__inner {
    gap: 0.6rem;
    padding-block: 0.6rem;
  }
  .scroller__item {
    font-size: 13px !important;
    letter-spacing: 0.04em;
  }

  /* Hero layout */
  .page-home .hero {
    padding: clamp(3.5rem, 9vw, 5rem) clamp(16px, 5vw, 24px) clamp(1.5rem, 4vw, 2rem) !important;
    align-items: center;
    text-align: center;
  }
  #heading {
    font-size: clamp(1.75rem, 9vw, 2.2rem) !important;
    line-height: 1.12;
    text-align: center;
    margin-bottom: .9rem;
  }
  .hero-desc {
    font-size: .88rem;
    max-width: 92vw;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-eyebrow {
    font-size: .68rem;
    padding: 5px 12px;
    margin-bottom: 1rem;
  }
  .hero-actions {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 280px;
    margin: 0 auto 1.25rem;
    gap: 10px;
  }
  .hero-cta,
  .hero-actions .hero-cta-secondary {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
  }
}