
:root {
  --bg-color: #f4f4f4;
  --text-color: #111111;
  --accent-color: #007bff;
  --section-bg: #FFFFFF; 
  --section-bg-2: #E3E3E3; 
  --text-color-2: #595959; 
  --btn-color: #161616;
  --left-gradient: linear-gradient(to right, #f7f7f7 0%, rgba(227, 227, 227, 0) 100%);
  --right-gradient: linear-gradient(to left, #f7f7f7 0%, rgba(227, 227, 227, 0) 100%);

}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.3s ease, color 0.3s ease;
}

body.dark-mode {
  --bg-color: #121212;
  --text-color: #F1EDE5;
  --accent-color: #66ccff;
  --section-bg: #1e1e1e; 
  --section-bg-2: #1e1e1e; 
  --text-color-2: #B3B3B3; 
  --btn-color: #F1EDE5;
  --left-gradient: linear-gradient(to right, #121212 0%, rgba(30, 30, 30, 0) 100%);
  --right-gradient: linear-gradient(to left, #121212 0%, rgba(30, 30, 30, 0) 100%);

}

.smenu{
	display:none;
}
#menuicon {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.slide-in-left {
	-webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}


@-webkit-keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
            transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
            transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.scale-in-ver-top {
	-webkit-animation: scale-in-ver-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: scale-in-ver-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes scale-in-ver-top {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
}
@keyframes scale-in-ver-top {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
}

.scale-out-ver-top {
	-webkit-animation: scale-out-ver-top 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: scale-out-ver-top 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

@-webkit-keyframes scale-out-ver-top {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
}
@keyframes scale-out-ver-top {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    opacity: 1;
  }
}

.fade-in-fwd {
	-webkit-animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}


@-webkit-keyframes fade-in-fwd {
  0% {
    -webkit-transform: translateZ(-80px);
            transform: translateZ(-80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes fade-in-fwd {
  0% {
    -webkit-transform: translateZ(-80px);
            transform: translateZ(-80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}

.box-shadow{
	box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
}

.section {
  background-color: var(--section-bg);
  transition: background-color 0.3s ease;
}
.section-2 {
  background-color: var(--section-bg-2);
  transition: background-color 0.3s ease;
}
.section-3{
  background-color:#F0F0F0;
  transition: background-color 0.3s ease;
}
.btn-color {
  background-color: var(--btn-color);
  color: var(--bg-color);
  transition: color 0.3s ease;
}
.hor-line {
  border:1px solid var(--section-bg-2);
  transition: background-color 0.3s ease;
}
.bckcolor {
  background-color: var(--bg-color);
  transition: background-color 0.3s ease;
}

.txtcolor {
  color: var(--text-color-2);
}
.txtcolor2{
	color:#2E2E2E;
}

.bottom-shadow{
	box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.nav-button {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #595959;
  transition: all 0.3s ease;
}

.nav-button::after {
  content: "";
  position: absolute;
  bottom: 4px; /* circle just below the button */
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #080808;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.nav-button:hover {
  transform: translateY(-5px); /* lift button instead of margin-bottom */
  color: #080808; /* change text color */
}

.nav-button:hover::after {
  opacity: 1; /* reveal circle */
}




.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  opacity: 0;
}

.faq-box.active .faq-answer {
  max-height: 500px; /* enough space for content */
  opacity: 1;
}

.faq-box {
  background: none;   /* remove any background */
}

.faq-box button i {
  transition: transform 0.3s ease;
}

.faq-box.active button i {
  transform: rotate(180deg);
}

.faq-box::before,
.faq-box::after {
  content: none !important;
  display: none !important;
}

.ripple-glow {
  position: relative;
  z-index: 1;
  padding: 8px 8px;
  border-radius: 8px;
  overflow: hidden;
}

/* Ripple glow animation */
.ripple-glow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: rgba(0, 123, 255, 0.4); /* glow color */
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  animation: ripple 2s infinite;
}

@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0.8;
  }
  70% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0;
  }
}

.shadow{
	box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

.btnlift {
  position: relative;
  transition: transform 0.3s ease, color 0.3s ease; /* smooth lift + text color */
}

.btnlift::after {
  content: "»"; /* long right arrow */
  position: absolute;
  right: 2px; /* start a bit offscreen */
  top: 50%;
  transform: translateY(-50%) translateX(-10px);
  opacity: 0;
  transition: all 0.3s ease;
  font-size: 1.2em; /* adjust arrow size */
  color: #f4f4f4;
}

.btnlift:hover {
  transform: translateY(-5px);
  color: #f4f4f4;
}

.btnlift:hover::after {
  transform: translateY(-50%) translateX(-1);
  opacity: 1;
}

 em.rotating {
    font-style: normal;   /* remove italics */
    color: #ff5722;       /* brand color */
    border-right: 2px solid #ff5722; /* blinking cursor */
    padding-right: 4px;
    animation: blink 0.7s infinite;
  }

  @keyframes blink {
    0%, 50% { border-color: #ff5722; }
    51%, 100% { border-color: transparent; }
  }
  
.scroll-container {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  align-items: center;
  scroll-behavior: smooth;
}

.scroll-track {
  display: flex;
}

.scroll-track img {
  flex-shrink: 0;
  height: 50px;
  margin: 0 15px;
}

.logo-container {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  align-items: center;
}

.logo-track {
  display: flex;
}

.logo-container img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
  opacity:0.6;
}

/* Optional: return to color on hover */
.logo-container img:hover {
  filter: grayscale(0%);
  opacity:1;
}


.lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lift:hover {
  transform: translateY(-20px); /* moves element upward */
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
  z-index: 10; /* makes sure it stays above siblings */
}

.lift2 {
  transition: transform 0.3s ease;
}

.lift2:hover {
  transform: translateY(-10px); /* moves element upward */
  z-index: 10; /* makes sure it stays above siblings */
}

.left-gradient {
  width: 10%;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 999;                 /* ensure it's above content */
    background: linear-gradient(
    to right,
    #f4f4f4 55%,          /* solid on the far right */
    #f4f4f4 0%,         /* keep solid for 60% of the overlay */
    rgba(244,244,244,0) 100% /* then fade out smoothly */
  );
  pointer-events: none; /* optional: lets clicks pass through */
}

.right-gradient {
  width: 10%;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 999;                 /* ensure it's above content */
    background: linear-gradient(
    to left,
    #f4f4f4 0%,          /* solid on the far right */
    #f4f4f4 55%,         /* keep solid for 60% of the overlay */
    rgba(244,244,244,0) 100% /* then fade out smoothly */
  );
  pointer-events: none; /* optional: lets clicks pass through */
}

.review_card {
  width: 300px;
  height: 350px;
  perspective: 1000px; /* creates the 3D flip space */
  margin:20px auto;
}

.review_card_inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s ease;
  transform-style: preserve-3d;
}

.review_card:hover .review_card_inner {
  transform: rotateY(180deg);
}

.review_card_front, .review_card_back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 20px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Front */
.review_card_front {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.review_image {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  margin-bottom: 15px;
}

.review_content {
  text-align: center;
}

.review_name {
  font-size: 18px;
  font-weight: bold;
}

.review_role {
  font-size: 14px;
  color: #666;
}

/* Back */
.review_card_back {
  background: #222;
  color: #f4f4f4;
  transform: rotateY(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
}  

.glass-black {
  background: rgba(0, 0, 0, 0.5); /* semi-transparent black */
  backdrop-filter: blur(10px);     /* frosted blur */
  -webkit-backdrop-filter: blur(10px); /* Safari support */
  border: 1px solid rgba(255, 255, 255, 0.15); /* subtle border */
}

.glass-white {
  background: rgba(244, 244, 244, 0.5); /* semi-transparent white */
  backdrop-filter: blur(10px);          /* frosted blur */
  -webkit-backdrop-filter: blur(10px);  /* Safari support */
}

.portfolio {
  position: relative;
  height: 450px;
  border-radius: 50px;
  overflow: hidden;
}

.portfolio-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(1.1); /* start zoomed in */
  transition: transform 0.8s ease;
  z-index: 0;
}

.portfolio:hover .portfolio-bg {
  transform: scale(1); /* zooms out smoothly */
}

.portfolio_inner {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  color: #fff;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.6s ease, transform 0.6s ease;
  z-index: 1;
}

.portfolio:hover .portfolio_inner {
  opacity: 1;
  transform: translateY(0);
}


.pricing-toggle-magic {
  text-align: center;
  margin: 30px 0;
}

#magicToggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #1f1f1f, #2c2c2c); /* dark gradient */
  color: #fff;
  padding: 12px 28px;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

#magicToggle:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

#magicToggle i {
  font-size: 18px;
  transition: transform 0.5s ease;
}

#magicToggle.magic i {
  transform: rotate(-20deg) scale(1.2);
  color: #ffd700;
}

#magicToggle .toggle-text {
  transition: opacity 0.4s ease, transform 0.4s ease;
  display: inline-block;
}

#magicToggle .sparkle {
  position: absolute;
  font-size: 12px;
  color: #fff;
  animation: sparkle 0.8s forwards;
  pointer-events: none;
}

@keyframes sparkle {
  0% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-20px) scale(0.5); }
}

.starfield {
  position: relative;
  overflow: hidden;
  height: 300px; /* adjust as needed */
}

/* common star style */
 .star {
    position: absolute;
    background: #595959;
    border-radius: 50%;
    opacity: 0.8;
    animation: twinkle linear infinite;
  }

  @keyframes twinkle {
    0% { transform: scale(1); opacity: 0.7; }
    50% { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(1); opacity: 0.7; }
  }

  @keyframes drift {
    0% { transform: translateY(0px); }
    100% { transform: translateY(20px); }
  }

.video-player{
	display:none;
}










 /* For desktop: */
@media only screen and (min-width: 768px) {
	
.navbar-style-1{
	display:grid;
	grid-template-columns:40% 20% 40%;
	font-size:15px;
}
.navbar-style-1 ul{
	width:95%;
	list-style:none;
}
.navbar-style-1 ul li{
	float:left;
	margin-right:30px;
}
.navbar-style-1 ul li:hover{
	cursor:pointer;
}
.navbar-right{
	text-align:right;
}

.navbar-right button{
	width:auto;
	padding:12px 20px;
	border:none;
	font-size:15px;
	display:inline-block;
}
.navbar-right button:hover{
	cursor:pointer;
}

.navbar-style-2{
	display:grid;
	grid-template-columns:15% 45% 40%;
	font-size:15px;
}
.navbar-style-2 ul{
	width:95%;
	list-style:none;
}
.navbar-style-2 ul li{
	float:left;
	margin-right:30px;
}
.navbar-style-2 ul li:hover{
	cursor:pointer;
}

.navbar-style-3{
	display:grid;
	grid-template-columns:40% 20% 40%;
	font-size:15px;
}
/* Hide by default */
#bigmenu {
  display: none;
}

/* Show when menu-visible is applied */
#bigmenu.menu-visible {
  display: block;
}

.navbar{
	display:grid; 
	grid-template-columns:20% 60% 20%;
}
.navbar-inner{
	display:grid; 
	grid-template-columns:70% 30%; 
	text-align:left;
}

.review_image{
	width:200px;
	height:200px;
	border-radius:50%;
}


.review_card {
  width: 300px;
  height: 350px;
  perspective: 1000px; /* creates the 3D flip space */
  margin: auto;
}

.review_card_inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s ease;
  transform-style: preserve-3d;
}

.review_card:hover .review_card_inner {
  transform: rotateY(180deg);
}

.review_card_front, .review_card_back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 20px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Front */
.review_card_front {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.review_image {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  margin-bottom: 15px;
}

.review_content {
  text-align: center;
}

.review_name {
  font-size: 18px;
  font-weight: bold;
}

.review_role {
  font-size: 14px;
  color: #666;
}

/* Back */
.review_card_back {
  background: #222;
  color: #f4f4f4;
  transform: rotateY(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
}

.portfolio {
  position: relative;
  height: 530px;
  border-radius: 50px;
  overflow: hidden;
}

.portfolio-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(1.1); /* start zoomed in */
  transition: transform 0.8s ease;
  z-index: 0;
}

.portfolio:hover .portfolio-bg {
  transform: scale(1); /* zooms out smoothly */
}

.portfolio_inner {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  color: #fff;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.6s ease, transform 0.6s ease;
  z-index: 1;
}

.portfolio:hover .portfolio_inner {
  opacity: 1;
  transform: translateY(0);
}



}