/* Made with ❤ */
/* --- At the very top, after the @import --- */
/* --- Core Light/Dark Mode Variables and Transitions --- */

body {
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition */
}

a {  /* Add this if it doesn't already exist */
    color: inherit;
    text-decoration: none;
}

body {
    margin: 0; /* Add this line */
    min-height: 100vh; /* Add this line */
     /* Smooth transitions */
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
}
a {  /* Add this entire rule */
    color: inherit; /* Inherit text color from parent */
    text-decoration: none; /* Remove underlines by default */
}
.cursor {
  /* ... existing styles ... */
    transition: background-color 0.3s; /* Add transition */
}

.cursor2 {
  /* ... existing styles ... */
    transition: border-color 0.3s, box-shadow 0.3s; /* Add transition */
}
/* --- Inside the .cd-header rule --- */
.cd-header {
    /* ...existing styles... */
    padding: 10px 20px;  /* Add padding */
    display: flex;       /* Add: Use flexbox for layout */
    justify-content: space-between; /* Add: Space out logo and controls */
    align-items: center;          /* Add: Vertically center items */
    transition: background-color 0.3s ease; /* Add transition */
    position: fixed; /* Add this line */
    top: 0; /* Add this line */
    left: 0;/* Add this line */
    width: 100%;  /* Add this line */
    z-index: 100; /* Add this line */
}

/* --- Inside the .header-wrapper rule ---*/
.header-wrapper {
    /* ... existing styles ... */
    padding-top: 0; /* Change: Remove extra top padding */
      width: 100%; /* Add this line */
}

/* ---  Inside the .logo-wrap a rule --- */
.logo-wrap a {
     /* ... existing styles ... */
    transition: color 0.3s ease-out, opacity 0.3s; /* Add transition */
}

/* --- Inside the .logo-wrap a span rule --- */
.logo-wrap a span{
    /* ... existing styles ... */
    transition: color 0.3s; /* Add transition */
}

/* Inside the .bar rule */
.bar {
    /* ... existing styles ... */
    border-radius: 3px; /* Add this line*/
}

/* --- Inside the .nav-menu rule ---*/
.nav-menu{
    /* ... existing styles ... */
    display: flex; /* Add this line */
}

/* Underline effect for nav links */
.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #8167a9;
    transition: width 0.3s ease;
}

.nav-menu a:hover::after,
.nav-menu a.active::after {
    width: 100%;
}


/* --- Inside the .theme-labels rule --- */
.theme-labels {
    /* ...existing styles...*/
    display: flex; /* Add this line*/
    justify-content: space-between; /* Add this line */
}
.theme-labels span {
    cursor: pointer; /* Add this line */
    transition: opacity 0.3s;  /*Add this line*/
}

/* ---  Inside the #switch rule ---*/
#switch {
    /* ... existing styles ... */
     transition: background-color 0.3s; /* Add this line */
    border-radius: 11px; /* Add this line */
}

/* --- Inside the #circle rule ---*/
#circle{
    /* ... existing styles ... */
    transition: transform 0.3s, background-color 0.3s; /* Add this line */
}
/*  Inside .about-section h2 */
.about-section h2 {
  /* ... existing styles ... */
  color: #8167a9; /* Use a consistent accent color */
}

/* ---  Completely new rules for Light Theme Overrides --- */
/*  Add these at the END of your style.css,  */
/*  or in a dedicated "Light Theme" section  */

body.light {
    background-color: #fff; /* Light background */
    color: #333; /* Dark text */
}

/* Header */
body.light .cd-header {
    background-color: #f5f5f5; /* Light header background */
}
body.light .cd-header.active{
    background-color: #ddd; /*for hamburger menu */
}

body.light .logo-wrap a {
    color: #333; /* Dark logo text */
}
body.light .logo-wrap a span {
    color: #6a4c93; /* Consistent accent color */
}

body.light .nav-menu a {
    color: #333; /* Dark nav link text */
}

body.light .nav-menu a:hover,
body.light .nav-menu a.active {
    color: #6a4c93; /* Darker purple on hover/active */
}
body.light .nav-menu a::after {
    background: #6a4c93; /* Dark purple underline */
}

/* Theme Switcher */
body.light #switch {
    background-color: #ccc; /* Lighter background for switch */
}

body.light #circle {
    background-color: #555; /* Dark circle in light mode */
    transform: translateX(18px); /* Move circle to the right */
}

body.light .theme-labels span:first-child {
    display: none; /* Hide "Dark" */
}
body.light .theme-labels span:last-child {
    display: inline; /* Show "Light" */
    color: #6a4c93;
}

/* Content */
body.light .about-section p, body.light .about-section h1, body.light .about-section h2, body.light .about-section li {
    color: #333; /* Dark text for content */
}

/* --- Hamburger Menu (Open State) --- */

body.light .cd-header.active .nav-menu {
    background-color: #f5f5f5; /* Light background when open */
}

body.light .bar{
        background-color: #333;
}

/* --- Responsive  changes, inside the @media (max-width: 768px) rule --- */
  @media (max-width: 768px) {
    .nav-menu {
        display: none; /* Hide the navigation menu on small screens by default */
        flex-direction: column;
        position: absolute;
        top: 60px;
        right: 0;
        background-color: #1f2029;
        width: 100%; /* Full Width */
        padding: 10px 0;
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        z-index: 99;
    }

    .cd-header.active .nav-menu {
        display: flex; /* Show menu on active */
    }

    .nav-menu a {
        padding: 10px 20px;
        display: block;
        text-align: center;
    }

    /* Other responsive adjustments as needed */
        .header-right {
        gap: 10px; /* Reduce the gap on smaller screens */
    }

    #switch {
        width: 40px; /* Smaller switch on mobile */
        height: 22px;
        border-radius: 11px;/*Add this*/
    }

    #circle {
        width: 18px;
        height: 18px;
        top: 2px;
        left: 2px;
    }
      body.light #circle {
            transform: translateX(18px);  /* Adjust the circle's position in light mode */
        }

        .theme-labels {
            font-size: 0.8rem; /*  Smaller font size for labels */
        }

        /*  Hamburger Menu Icon (added) */
        .hamburger-menu {
            display: block; /* Show the hamburger menu on small screens */
            cursor: pointer;
            z-index: 101;
            flex-direction: column;
            justify-content: space-around;
            width: 30px;
            height: 25px;
        }

        /* Styling for the open menu icon */
      .cd-header.active .bar:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
      }

      .cd-header.active .bar:nth-child(2) {
          opacity: 0;
      }

      .cd-header.active .bar:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
      }
}

/* initially show Dark, hide Light in theme label */
 .theme-labels span:first-child{
 display: inline;
}
 .theme-labels span:last-child {
 display: none;
}

        .privacy-policy-section {
            max-width: 800px;
            width: 90%;
            margin: 120px auto 60px;
            padding: 0 20px;
        }

        .privacy-policy-section h1 {
            font-size: 2.2rem;
            font-weight: 800;
            margin-bottom: 2rem;
            background: linear-gradient(45deg, #8167a9, #6a4c93);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-align: center;
            letter-spacing: 2px;
        }

        .privacy-policy-section h2 {
            font-size: 1.8rem;
            font-weight: 700;
            margin: 3rem 0 1.5rem;
            color: #8167a9;
            letter-spacing: 1px;
        }

        .privacy-policy-section h3 {
            font-size: 1.5rem;
            font-weight: 600;
            margin: 2rem 0 1rem;
            color: rgba(255, 255, 255, 0.9);
        }

        .privacy-policy-section h4 {
            font-size: 1.2rem;
            font-weight: 600;
            margin: 1.5rem 0 1rem;
            color: rgba(255, 255, 255, 0.8);
        }

        .privacy-policy-section p {
            font-size: 1.1rem;
            line-height: 1.8;
            margin-bottom: 1.5rem;
            color: rgba(255, 255, 255, 0.9);
            text-align: justify;
        }

        .privacy-policy-section ul {
            list-style: none;
            padding-left: 20px;
            margin: 1.5rem 0;
        }

        .privacy-policy-section ul li {
            position: relative;
            padding-left: 1.5rem;
            margin-bottom: 1rem;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.9);
        }

        .privacy-policy-section ul li::before {
            content: "•";
            position: absolute;
            left: 0;
            color: #8167a9;
            font-weight: bold;
        }

        .privacy-policy-section a {
            color: #8167a9;
            text-decoration: none;
            transition: all 0.3s ease;
            border-bottom: 1px solid transparent;
        }

        .privacy-policy-section a:hover {
            border-bottom-color: #8167a9;
        }



@import url('https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');

body {
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 1.7;
	color: #fff;
	background-color: #1f2029;
	overflow-x: hidden;
}

a {
	cursor: pointer;
}
a:hover {
	text-decoration: none;
}

h1 {
  margin-top: 20px; /* Adjust this value as needed */
}

/* #Cursor
================================================== */

.cursor,
.cursor2,
.cursor3{
	position: fixed;
	border-radius: 50%;	
	transform: translateX(-50%) translateY(-50%);
	pointer-events: none;
	left: -100px;
	top: 50%;
	mix-blend-mode: difference;
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear;
}
.cursor{
	background-color: #fff;
	height: 0;
	width: 0;
	z-index: 99999;
}
.cursor2,.cursor3{
	height: 36px;
	width: 36px;
	z-index:99998;
	-webkit-transition:all 0.3s ease-out;
	transition:all 0.3s ease-out
}
.cursor2.hover,
.cursor3.hover{
	-webkit-transform:scale(2) translateX(-25%) translateY(-25%);
	transform:scale(2) translateX(-25%) translateY(-25%);
	border:none
}
.cursor2{
	border: 2px solid #fff;
	box-shadow: 0 0 22px rgba(255, 255, 255, 0.6);
}
.cursor2.hover{
	background: rgba(255,255,255,1);
	box-shadow: 0 0 12px rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 767px){
	.cursor,.cursor2,.cursor3{
		display: block
	}
}

/* #Primary style
================================================== */

.section {
    position: relative;
	width: 100%;
	display: block;
}
.over-hide{
	overflow: hidden;
}
.full-height {
	height: 100vh;
}

/* #Navigation
================================================== */
 
 textarea {
    /* Use percentage instead of fixed width to make the element responsive */
    width: 80%;
    height: 200px;
    margin: 20px 0;
    margin-top: 10px;
    padding: 10px;
    /* Use rem instead of px to make the font size relative to the root element */
    font-size: 1rem;
}
 
.cd-header {
position: relative;
}
.header-wrapper {
    position: relative;
    width: calc(100% - 100px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-wrap {
    display: block;
    cursor: pointer;
}

.theme-switch-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.theme-labels {
    margin-top: 5px;
    font-size: 12px;
}
.logo-wrap a {
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 20px;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #fff;
	transition : all 0.3s ease-out;
}
.logo-wrap a span{ 
	color: #8167a9;
}
.logo-wrap a:hover {
	opacity: 0.9;
}
.nav-but-wrap{ 
	position: relative;
	display: inline-block;
	float: right;
	padding-left: 15px;
	padding-top: 15px;
	transition : all 0.3s ease-out;
}
.menu-icon {
	height: 30px;
	width: 30px;
	position: relative;
	z-index: 2;
	cursor: pointer;
	display: block;
}
.menu-icon__line {
	height: 2px;
	width: 30px;
	display: block;
	background-color: #fff;
	margin-bottom: 7px;
	cursor: pointer;
	-webkit-transition: background-color .5s ease, -webkit-transform .2s ease;
	transition: background-color .5s ease, -webkit-transform .2s ease;
	transition: transform .2s ease, background-color .5s ease;
	transition: transform .2s ease, background-color .5s ease, -webkit-transform .2s ease;
}
.menu-icon__line-left {
	width: 16.5px;
	-webkit-transition: all 200ms linear;
	transition: all 200ms linear;
}
.menu-icon__line-right {
	width: 16.5px;
	float: right;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}
.menu-icon:hover .menu-icon__line-left,
.menu-icon:hover .menu-icon__line-right {
	width: 30px;
}
.nav {
	position: fixed;
	z-index: 98;
}
.nav:before, .nav:after {
	content: "";
	position: fixed;
	width: 100vw;
	height: 100vh;
	background: rgba(20, 21, 26,0.6);
	border-bottom-left-radius: 200%;
	z-index: -1;
	-webkit-transition: -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, border-radius linear 0.8s;
	transition: -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, border-radius linear 0.8s;
	transition: transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, border-radius linear 0.8s;
	transition: transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, border-radius linear 0.8s;
	-webkit-transform: translateX(100%) translateY(-100%);
          transform: translateX(100%) translateY(-100%);
}
.nav:after {
	background: rgba(9,9,12,1);
	-webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.nav:before {
	-webkit-transition-delay: .2s;
          transition-delay: .2s;
}
.nav__content {
	position: fixed;
	visibility: hidden;
	top: 50%;
	margin-top: 20px;
	-webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
	width: 100%;
	text-align: center;
}
.nav__list {
	position: relative;
	padding: 0;
	margin: 0;
	z-index: 2;
}
.nav__list-item {
	position: relative;
	display: block;
	-webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
	opacity: 0;
	text-align: center;
	color: #fff;
	overflow: hidden; 
	font-family: 'Montserrat', sans-serif;
	font-size: 8vh;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 3px;
	-webkit-transform: translate(100px, 0%);
          transform: translate(100px, 0%);
	-webkit-transition: opacity .2s ease, -webkit-transform .3s ease;
	transition: opacity .2s ease, -webkit-transform .3s ease;
	transition: opacity .2s ease, transform .3s ease;
	transition: opacity .2s ease, transform .3s ease, -webkit-transform .3s ease;
	margin-top: 0;
	margin-bottom: 0;
}
.nav__list-item a{ 
	position: relative;
	text-decoration: none;
	color: rgba(255,255,255,0.6);
	overflow: hidden; 
	cursor: pointer;
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 900;
	z-index: 2;
	display: inline-block;
	text-transform: uppercase;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear; 
}
.nav__list-item a:after{ 
	position: absolute;
	content: '';
	top: 50%;
	margin-top: -2px;
	left: 50%;
	width: 0;
	height: 0;
	opacity: 0;
	background-color: #8167a9;
	z-index: 1;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear; 
}
.nav__list-item a:hover:after{ 
	height: 4px;
	opacity: 1;
	left: 0;
	width: 100%;
}
.nav__list-item a:hover{
	color: rgba(255,255,255,1);
}
.nav__list-item.active-nav a{
	color: rgba(255,255,255,1);
}
.nav__list-item.active-nav a:after{ 
	height: 4px;
	opacity: 1;
	left: 0;
	width: 100%;
}
body.nav-active .nav__content {
	visibility: visible;
}
body.nav-active .menu-icon__line {
	background-color: #fff;
	-webkit-transform: translate(0px, 0px) rotate(-45deg);
          transform: translate(0px, 0px) rotate(-45deg);
}
body.nav-active .menu-icon__line-left {
	width: 15px;
	-webkit-transform: translate(2px, 4px) rotate(45deg);
          transform: translate(2px, 4px) rotate(45deg);
}
body.nav-active .menu-icon__line-right {
	width: 15px;
	float: right;
	-webkit-transform: translate(-3px, -3.5px) rotate(45deg);
          transform: translate(-3px, -3.5px) rotate(45deg);
}
body.nav-active .menu-icon:hover .menu-icon__line-left,
body.nav-active .menu-icon:hover .menu-icon__line-right {
	width: 15px;
}
body.nav-active .nav {
	visibility: visible;
}
body.nav-active .nav:before, body.nav-active .nav:after {
	-webkit-transform: translateX(0%) translateY(0%);
          transform: translateX(0%) translateY(0%);
	border-radius: 0;
}
body.nav-active .nav:after {
	-webkit-transition-delay: .1s;
          transition-delay: .1s;
}
body.nav-active .nav:before {
	-webkit-transition-delay: 0s;
          transition-delay: 0s;
}
body.nav-active .nav__list-item {
	opacity: 1;
	-webkit-transform: translateX(0%);
          transform: translateX(0%);
	-webkit-transition: opacity .3s ease, color .3s ease, -webkit-transform .3s ease;
	transition: opacity .3s ease, color .3s ease, -webkit-transform .3s ease;
	transition: opacity .3s ease, transform .3s ease, color .3s ease;
	transition: opacity .3s ease, transform .3s ease, color .3s ease, -webkit-transform .3s ease;
}
body.nav-active .nav__list-item:nth-child(0) {
	-webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}
body.nav-active .nav__list-item:nth-child(1) {
	-webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
body.nav-active .nav__list-item:nth-child(2) {
	-webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
body.nav-active .nav__list-item:nth-child(3) {
	-webkit-transition-delay: 1s;
          transition-delay: 1s;
}
body.nav-active .nav__list-item:nth-child(4) {
	-webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}
body.nav-active .nav__list-item:nth-child(5) {
	-webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
body.nav-active .nav__list-item:nth-child(6) {
	-webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}
body.nav-active .nav__list-item:nth-child(7) {
	-webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}
body.nav-active .nav__list-item:nth-child(8) {
	-webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
body.nav-active .nav__list-item:nth-child(9) {
	-webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
body.nav-active .nav__list-item:nth-child(10) {
	-webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.switch-wrap {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 10;
    transform: translateY(-50%);
    width: 100%;
    -webkit-transition: all 500ms linear;
    transition: all 500ms linear;    
    margin: 0 auto;
    text-align: center;

    /* Add margin-bottom to create space below the content */
    margin-bottom: 80px; /* Adjust this value as needed */
}
.switch-wrap h1 {
	font-weight: 900;
	font-size: 46px;
	line-height: 1;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
	margin-top: 40px;
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear; 
}
@media screen and (max-width: 580px){
  .switch-wrap h1 {
    font-size: 32px;
  }
}
/* Theme Switch Styles */
.header-right {
  display: flex;
  align-items: center;
  gap: 30px;
}

.nav-menu {
  display: flex;
  gap: 25px;
  margin-right: 20px;
}

.nav-menu a {
  color: #c4c3ca;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  padding: 5px 0;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-menu a:hover,
.nav-menu a.active {
  color: #8167a9;
}

.nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #8167a9;
  transition: width 0.3s ease;
}

.nav-menu a:hover::after,
.nav-menu a.active::after {
  width: 100%;
}

.theme-switch-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/*Inside the header wrapper*/
.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;  /*  Important for absolute positioning of the mobile menu */
  width: 100%; /*Changed this */
  margin-left: 50px;        /*Adjust as per your layout*/
  padding-top: 40px;      /*Adjust as per your layout*/
}

@media (max-width: 768px) {
  .header-right {
    gap: 15px;
  }

  .nav-menu {
    gap: 15px;
  }

  .nav-menu a {
    font-size: 12px;
  }
}

@media (max-width: 480px) .nav-menu {
    display: none; /*  Hide the navigation menu on small screens by default */
    flex-direction: column; /* Stack navigation items vertically */
    position: absolute; /* Position the menu absolutely */
    top: 60px; /*  Position it below the header.  Adjust if needed! */
    right: 0; /*  Align to the right */
    background-color: #1f2029; /* Match the header background */
    /* width: 100%;  REMOVED THIS */
    width: auto; /*  CRUCIAL CHANGE: Let it take only the necessary width */
    min-width: 150px; /* Add a minimum width. Adjust as needed. */
    padding: 10px 0; /* Add padding */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Add a subtle shadow */
    z-index: 99; /* Ensure it's below the switch */
}

.cd-header.active .nav-menu {
    display: flex; /*  Show the menu when the header has an 'active' class */
}

.nav-menu a {
    padding: 10px 20px; /*  Increase padding for better touch targets */
    display: block;  /*  Make links full-width */
    text-align: center;  /* Center-align the text */
}

.header-right {
    gap: 10px; /* Reduce the gap on smaller screens */
}

#switch {
    width: 40px; /* Smaller switch on mobile */
    height: 22px;
}

#circle {
    width: 18px;
    height: 18px;
    top: 2px;
    left: 2px;
}

body.light #circle {
    transform: translateX(18px);  /* Adjust the circle's position in light mode */
}

.theme-labels {
    font-size: 0.8rem; /*  Smaller font size for labels */
}
.hamburger-menu {
  display: block; /*Add this */
}

.theme-labels {
  display: flex;
  justify-content: space-between;
  width: 80px;
  margin-top: 8px;
  font-size: 12px;
  color: #8167a9;
  font-weight: 600;
}

.theme-labels span {
  cursor: pointer;
  transition: opacity 0.3s ease;
}

body.light .theme-labels span:first-child {
  opacity: 0.5;
}

body:not(.light) .theme-labels span:last-child {
  opacity: 0.5;
}

#switch,
#circle {
	cursor: pointer;
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear; 
} 
#switch {
	width: 60px;
	height: 8px;
	margin: 0 auto;
	text-align: center;
	border: 2px solid #000;
	border-radius: 27px;
	background: #8167a9;
	position: relative;
	display: inline-block;
}
#circle {
	position: absolute;
	bottom: -11px;
	left: -13px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	box-shadow: 0 4px 4px rgba(26,53,71,0.25), 0 0 0 1px rgba(26,53,71,0.07);
	background: #fff;
}
.switched {
	border-color: #8167a9 !important;
	background: #000 !important;
}
.switched #circle {
	left: 43px;
	background: #000;
}

@media (max-width: 500px) {
    h1 {
        font-size: 8vw;
    }
}

/* #Light
================================================== */

body.light {
	background-color: #fff;
	color: #1f2029;
}
body {
	color: #fff;
}
body.light .cursor,
body.light .cursor2,
body.light .cursor3{
	mix-blend-mode: normal;
}
body.light .cursor2{
	border: 2px solid #1f2029;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}
body.light .cursor2.hover{
	background: rgba(0,0,0,0.06);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
	border-color: transparent;
}
body.light .logo-wrap a {
	color: #1f2029;
}
body.light .menu-icon__line {
	background-color: #1f2029;
}
body.light .nav:before {
	background: rgba(235, 235, 235,0.6);
}
body.light .nav:after {
	background: rgba(250,250,250,1);
}
body.light .nav-menu a {
  color: rgba(0,0,0,0.7);
}

body.light .nav-menu a:hover,
body.light .nav-menu a.active {
  color: #1f2029;
}

body.light .nav__list-item a { 
  color: rgba(0,0,0,0.6); 
}

body.light .nav__list-item a:hover,
body.light .nav__list-item.active-nav a {
  color: #1f2029;
}
body.light .switch-wrap h1 {
	color: #000;
}
body.light .switch-wrap p span:nth-child(2):before {
	opacity: 1;
	background-color: #000;
}
body.light .switch-wrap p span:nth-child(1):before {
	opacity: 0;
}

/* #Link to page
================================================== */

.link-to-portfolio {
	  position: fixed;
    bottom: 40px;
    right: 50px;
    z-index: 200;
    cursor: pointer;
    width: 50px;
    height: 50px;
    text-align: center;
    border-radius: 3px;
    background-position: center center;
    background-size: 65%;
  background-repeat: no-repeat;
    background-image: url('https://assets.codepen.io/1462889/fcy.png');
    box-shadow: 0 0 0 2px rgba(255,255,255,.1);
    transition: opacity .2s, border-radius .2s, box-shadow .2s;
    transition-timing-function: ease-out;
}
.link-to-portfolio:hover {
    opacity: 0.8;
    border-radius: 50%;
    box-shadow: 0 0 0 20px rgba(255,255,255,.1);
}
#start-ocr {
  /* ... other styles ... */
  margin-bottom: 20px; /* Adjust as needed */
}
/*  ----  HAMBURGER MENU (for mobile) ----  */
.hamburger-menu {
    display: none; /* Hidden by default, shown on mobile */
    cursor: pointer;
    z-index: 101; /*  Make sure it's on top */
}

.bar {
    width: 25px;
    height: 3px;
    background-color: #fff;
    margin: 5px 0;
    transition: 0.4s;
	border-radius: 3px;
}
/* Styling for the open menu icon */
.cd-header.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.cd-header.active .bar:nth-child(2) {
    opacity: 0;
}

.cd-header.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}
        /* -----  Core Styles (No Changes Here) ----- */
        body {
            background-color: #1f2029;
            color: #fff;
            font-family: Arial, sans-serif;
            margin: 0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        .cd-header {
            position: fixed; /* Keep header fixed */
            top: 0;
            left: 0;
            width: 100%;
            z-index: 100;
            transition: all 0.3s ease;
            /*  Added for better mobile layout */
            display: flex;
            justify-content: space-between; /* Space out logo and controls */
            align-items: center;
            padding: 10px 20px; /* Add some padding */
        }
      body.light .cd-header {
        background-color: #fff;
    }

    body:not(.light) .cd-header {
        background-color: #1f2029;
    }

        .about-section {
            max-width: 800px;
            width: 90%;
            margin: 120px auto 60px;  /* Adjust top margin to account for fixed header */
            padding: 0 20px;
        }

        .about-section p {
            font-size: 1.1rem;
            line-height: 1.8;
            margin-bottom: 2rem;
            color: rgba(255, 255, 255, 0.9);
            text-align: justify;
        }

        .about-section h1 {
            font-size: 3rem;
            font-weight: 800;
            margin-bottom: 2rem;
            background: linear-gradient(45deg, #8167a9, #6a4c93);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-align: center;
            letter-spacing: 2px;
        }

        .about-section h2 {
            font-size: 2rem;
            font-weight: 700;
            margin: 3rem 0 1.5rem;
            color: #8167a9;
            letter-spacing: 1px;
        }

        .about-section ul {
            list-style: none;
            padding: 0;
            margin: 2rem 0;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
        }

        .about-section ul li {
            padding: 1.5rem;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(129, 103, 169, 0.2);
            border-radius: 12px;
            font-size: 1rem;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            transition: all 0.3s ease;
            text-align: center;
        }

        .about-section ul li:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(129, 103, 169, 0.4);
        }

        /* Theme switching styles */
        body.light {
            background-color: #fff;
            color: #1f2029;
        }

        body.light .about-section p {
            color: rgba(31, 32, 41, 0.9);
        }

        body.light .about-section ul li {
            background: rgba(0, 0, 0, 0.02);
            border-color: rgba(129, 103, 169, 0.2);
            color: rgba(31, 32, 41, 0.9);
        }

        body.light .about-section ul li:hover {
            background: rgba(0, 0, 0, 0.03);
            border-color: rgba(129, 103, 169, 0.4);
        }
        /* ----- End Core Styles ----- */

        /* -----  Header and Navigation Styles ----- */

        .header-wrapper {
            display: flex;
            align-items: center; /* Vertically center items in the header */
            justify-content: space-between; /*  Space between logo and nav/switcher */
            width: 100%; /* Ensure it spans the full width */
        }

        .logo-container {
            /*  No specific styles needed here, unless you have logo-specific styling */
        }

        .logo-wrap a {
          color: #fff;
          text-decoration: none;
          font-size: 1.5rem; /* Adjust as needed */
          font-weight: bold;
        }

        .header-right {
            display: flex; /* Make header-right a flex container */
            align-items: center; /* Vertically center items */
            gap: 20px; /* Add space between nav and theme switcher */
        }

        .nav-menu {
            display: flex; /* Use flexbox for the navigation */
            gap: 15px; /* Space out the navigation links */
        }

        .nav-menu a {
            color: #fff;
            text-decoration: none;
            padding: 5px 10px;  /* Add some padding for better touch targets */
            border-radius: 5px; /* Optional: rounded corners */
            transition: background-color 0.3s ease;
        }

        .nav-menu a:hover, .nav-menu a.active {
            background-color: rgba(255, 255, 255, 0.2); /* Subtle hover/active effect */
        }


        /* ----- Theme Switcher Styles ----- */
      .theme-switch-wrapper {
        display: flex;
        align-items: center; /*  Center items vertically */
        gap: 10px; /*  Add some space between the switch and labels */
      }

      #switch {
        position: relative;
        display: inline-block; /*  Allows setting width/height */
        width: 60px;
        height: 34px;
        background-color: #ccc;
        border-radius: 34px; /*  Rounded ends for the slider */
        cursor: pointer;
        transition: background-color 0.3s ease;
      }

      #circle {
        position: absolute;
        top: 2px;
        left: 2px;
        width: 30px;
        height: 30px;
        background-color: #fff;
        border-radius: 50%; /*  Make it a circle */
        transition: transform 0.3s ease;
      }

        /* Switch styling for dark/light themes */
      body.light #switch {
        background-color: #6a4c93;
      }

      body.light #circle {
        transform: translateX(26px);
      }

      .theme-labels {
          color: #fff;
          font-size: 0.9rem; /* Adjust as needed */
          display: flex;
            gap: 5px;
      }
      .theme-labels span {
          display: none; /* Hide by default */
      }

      .theme-labels span:first-child{
          display: inline; /* Show "Dark" by default */
      }

      body.light .theme-labels span:first-child {
          display: none; /* Hide "Dark" in light mode*/
      }
        body.light .theme-labels span:last-child {
            display: inline;  /* Show "Light" in light mode */
        }


        /* ----- Home Button (Optional - removed) ----- */
        /* Removed the entire .home-button and .home-button a rules */


        /* ----- Media Queries (Responsiveness) ----- */

        @media (max-width: 768px) {
            .nav-menu {
                display: none; /*  Hide the navigation menu on small screens by default */
                flex-direction: column; /* Stack navigation items vertically */
                position: absolute; /* Position the menu absolutely */
                top: 60px; /*  Position it below the header */
                right: 0; /*  Align to the right */
                background-color: #1f2029; /* Match the header background */
                width: 100%; /* Take full width */
                padding: 10px 0; /* Add padding */
                box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Add a subtle shadow */
                z-index: 99; /* Ensure it's below the switch */
            }
            .cd-header.active .nav-menu {
                display: flex; /*  Show the menu when the header has an 'active' class */
            }

          .nav-menu a {
            padding: 10px 20px; /*  Increase padding for better touch targets */
            display: block;  /*  Make links full-width */
            text-align: center;  /* Center-align the text */
          }

            .header-right {
                gap: 10px; /* Reduce the gap on smaller screens */
            }

          #switch {
            width: 40px; /* Smaller switch on mobile */
            height: 22px;
          }

          #circle {
            width: 18px;
            height: 18px;
            top: 2px;
            left: 2px;
          }
            body.light #circle {
                transform: translateX(18px);  /* Adjust the circle's position in light mode */
            }

            .theme-labels {
              font-size: 0.8rem; /*  Smaller font size for labels */
            }

              /*  Hamburger Menu Icon (added) */
              .hamburger-menu {
                  display: block; /* Show the hamburger menu on small screens */
                  cursor: pointer;
                  z-index: 101;
              }

              .bar {
                  width: 25px;
                  height: 3px;
                  background-color: #fff;
                  margin: 5px 0;
                  transition: 0.4s;
              }

              /* Styling for the open menu icon */
            .cd-header.active .bar:nth-child(1) {
              transform: translateY(8px) rotate(45deg);
            }

            .cd-header.active .bar:nth-child(2) {
              opacity: 0;
            }

            .cd-header.active .bar:nth-child(3) {
              transform: translateY(-8px) rotate(-45deg);
            }
        }

        /* ----- End Media Queries ----- */

        /* Set the background color to dark black */
        body {
            background-color: #1f2029; /* Hex code for black */
            color: white; /* Text color in the body */
            font-family: Arial, sans-serif;
            min-height: 100vh;
            margin: 0;
            display: flex;
            flex-direction: column;
            position: relative;
        }

        .cd-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 100;
            transition: all 0.3s ease;
        }

        body.light .cd-header {
            background-color: #fff;
        }

        body:not(.light) .cd-header {
            background-color: #1f2029;
        }

        .content-wrapper {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        /* Modern form styles */
        .form-section {
            max-width: 500px;
            width: 90%;
            margin: 0 auto;
            text-align: left;
			padding-top: 80px; /*  IMPORTANT: Adjust this value! */
        }

        .form-section h1 {
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 2rem;
            background: linear-gradient(45deg, #8167a9, #6a4c93);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-align: center;
            letter-spacing: 2px;
        }

        .form-section label {
            color: #8167a9;
            font-size: 0.9rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 0.5rem;
            display: block;
            transition: all 0.3s ease;
        }

        .form-section input,
        .form-section textarea {
            width: 100%;
            padding: 1.2rem;
            margin-bottom: 1.5rem;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(129, 103, 169, 0.2);
            border-radius: 12px;
            color: #fff;
            font-size: 1rem;
            transition: all 0.3s ease;
            box-sizing: border-box;
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        body.light .form-section input,
        body.light .form-section textarea {
            background: rgba(0, 0, 0, 0.02);
            border: 1px solid rgba(129, 103, 169, 0.3);
            color: #1f2029;
        }

        body.light .form-section h1 {
            color: #1f2029;
        }

        body.light .form-section input::placeholder,
        body.light .form-section textarea::placeholder {
            color: rgba(31, 32, 41, 0.5);
        }

        .form-section input:hover,
        .form-section textarea:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(129, 103, 169, 0.4);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
            transform: translateY(-1px);
        }

        .form-group {
            position: relative;
            margin-bottom: 1.5rem;
            display: flex;
            flex-direction: column;
        }

        /* Theme switching styles */
        body.light {
            background-color: #fff;
            color: #1f2029;
        }

        body.light .cd-header {
            background-color: #fff;
        }

        body.light .nav-menu a {
            color: #1f2029;
        }

        body.light .logo-wrap a {
            color: #1f2029;
        }

        body.light .theme-labels {
            color: #1f2029;
        }

        .form-group label {
            margin-bottom: 8px;
            color: #8167a9;
            font-size: 0.9rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .form-section input:focus,
        .form-section textarea:focus {
            outline: none;
            border-color: #8167a9;
            background: rgba(255, 255, 255, 0.1);
        }

        .form-section textarea {
            resize: vertical;
            min-height: 120px;
            max-height: 200px;
        }

        .form-section input::placeholder,
        .form-section textarea::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }

        .form-section fieldset {
            border: none;
            padding: 0;
            margin: 0;
        }

        .form-section input[type="submit"] {
            background: linear-gradient(45deg, #8167a9, #6a4c93);
            color: white;
            padding: 1rem 2rem;
            border: none;
            border-radius: 30px;
            font-size: 1rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            cursor: pointer;
            transition: all 0.3s ease;
            width: auto;
            margin: 1rem auto;
            display: block;
        }

        .form-section input[type="submit"]:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(129, 103, 169, 0.4);
        }
		
/* --- Light Theme Overrides (MUST BE AT THE END) --- */

body.light {
    background-color: #fff;
    color: #333;
}

/* Header */
body.light .cd-header {
    background-color: #f5f5f5;
}

body.light .cd-header.active{
    background-color: #ddd;
}

body.light .logo-wrap a {
    color: #333;
}
body.light .logo-wrap a span {
    color: #6a4c93;
}

body.light .nav-menu a {
    color: #333;
}

body.light .nav-menu a:hover,
body.light .nav-menu a.active {
    color: #6a4c93;
}
body.light .nav-menu a::after {
    background: #6a4c93;
}

/* Theme Switcher */
body.light #switch {
    background-color: #ccc;
}

body.light #circle {
    background-color: #555;
    transform: translateX(18px);
}

/* Initially show Dark, hide Light */
body.light .theme-labels span:first-child {
    display: none;
}
body.light .theme-labels span:last-child {
    display: inline;
    color:#6a4c93;
}

/* Content */
body.light .about-section p,
/* REMOVE: body.light .about-section h1, */
/* REMOVE: body.light .about-section h2, */
body.light .about-section li,
/* REMOVE: body.light .privacy-policy-section h1, */
/* REMOVE: body.light .privacy-policy-section h2, */
body.light .privacy-policy-section h3,
body.light .privacy-policy-section h4,
body.light .privacy-policy-section p,
body.light .privacy-policy-section li
 {
    color: #333;
}

/* Hamburger Menu (Open State) */
body.light .cd-header.active .nav-menu {
    background-color: #f5f5f5;
}
body.light .bar{
    background-color: #333;
}
body.light .privacy-policy-section ul li::before{
    color: #6a4c93;
}
body.light .privacy-policy-section a{
    color: #6a4c93;
}

/* ADD THIS NEW RULE */
body.light h1,
body.light h2 {
    color: #6a4c93; /* Consistent violet color for ALL h1 and h2 in light mode */
}