 :root {
     --color-primary: #3b82f6;
     --color-secondary: #6366f1;
     --text-primary: #1f2937;
     --text-secondary: #4b5563;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
 }

 body {
     background-color: white;
     color: #212529;
 }

 /* Dark overlay */
 .overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(0, 0, 0, 0.8);
     display: flex;
     justify-content: center;
     align-items: center;
     z-index: 1000;
 }

 /* Popup container */
 .popup {
     background-color: #fff;
     border-radius: 10px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
     width: 90%;
     max-width: 500px;
     padding: 30px;
     text-align: center;
     animation: fadeIn 0.4s ease-out;
     position: relative;
 }

 /* Popup animation */
 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(-20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* Popup content styles */
 .popup h2 {
     color: #e74c3c;
     margin-top: 0;
     font-size: 28px;
 }

 .popup p {
     color: #333;
     line-height: 1.6;
     margin-bottom: 25px;
 }

 /* Divider line */
 .divider {
     height: 2px;
     background: linear-gradient(to right, transparent, #e74c3c, transparent);
     margin: 20px 0;
 }

 /* Warning icon */
 .warning-icon {
     color: #e74c3c;
     font-size: 40px;
     margin-bottom: 15px;
 }

 /* Button styles */
 .button-container {
     display: flex;
     justify-content: center;
     gap: 15px;
 }

 .btn {
     padding: 12px 25px;
     border: none;
     border-radius: 5px;
     cursor: pointer;
     font-weight: bold;
     transition: all 0.3s ease;
     font-size: 16px;
 }

 .btn-exit {
     background-color: #f1f1f1;
     color: #333;
 }

 .btn-enter {
     background-color: #e74c3c;
     color: white;
 }

 .btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }

 .btn-enter:hover {
     background-color: #c0392b;
 }

 .btn-exit:hover {
     background-color: #e0e0e0;
 }

 /* Close button styling */
 .close-btn {
     position: absolute;
     top: 10px;
     right: 15px;
     font-size: 24px;
     color: #888;
     cursor: pointer;
     transition: color 0.3s;
 }

 .close-btn:hover {
     color: #e74c3c;
 }

 /* Responsive adjustments */
 @media (max-width: 480px) {
     .popup {
         padding: 20px 15px;
     }

     .popup h2 {
         font-size: 24px;
     }

     .button-container {
         flex-direction: column;
         gap: 10px;
     }

     .btn {
         width: 100%;
     }
 }


 .hero {
     position: relative;
     width: 100%;
     min-height: 90vh;
     /* margin-top: 80px; */
     display: flex;
     flex-direction: column;
     justify-content: center;
     overflow: hidden;
     padding: 2rem;
 }

 section#github {
     min-height: auto !important;
     margin-top: auto !important;
 }

 .hero-content {
     position: relative;
     z-index: 2;
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
 }

 .hero-text {
     flex: 1 1 50%;
     padding: 2rem;
     color: black;
 }

 .hero-image-container {
     flex: 1 1 50%;
     padding: 2rem;
     position: relative;
 }

 .hero-image {
     width: 100%;
     height: auto;
     border-radius: 12px;
     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
     transform: perspective(1000px) rotateY(-5deg);
     transition: all 0.3s ease;
 }

 .hero-image:hover {
     transform: perspective(1000px) rotateY(0deg);
 }

 .hero h1 {
     font-size: 3rem;
     font-weight: 800;
     margin-bottom: 1.5rem;
     line-height: 1.2;
 }

 .hero p {
     font-size: 1.25rem;
     margin-bottom: 2rem;
     line-height: 1.6;
     max-width: 600px;
     opacity: 0.9;
 }

 .cta-button {
     display: inline-block;
     background-color: black;
     color: white;
     padding: 0.75rem 1.5rem;
     border-radius: 50px;
     font-weight: 600;
     text-decoration: none;
     transition: all 0.3s ease;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .cta-button:hover {
     transform: translateY(-3px);
     box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
 }

 /* Header Styles */
 header {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 1rem 2rem;
     background: white;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
     z-index: 1000;
     border: solid 1px black;
 }

 .logo {
     height: 40px;
     display: flex;
     align-items: center;
     gap: 10px;
     font-weight: 700;
     color: black;
     text-decoration: none;
     font-size: 1.2rem;
 }

 .logo img {
     height: 100%;
 }

 .header-nav {
     display: flex;
     gap: 2rem;
 }

 .header-nav a {
     color: black;
     text-decoration: none;
     font-weight: 500;
     transition: all 0.3s ease;
 }

 .header-nav a:hover {
     color: #825ee4;
 }

 .mobile-menu-btn {
     display: none;
     background: none;
     border: none;
     font-size: 1.5rem;
     color: black;
     cursor: pointer;
 }


 @media (max-width: 768px) {
     header {
         padding: 1rem;
     }

     .header-nav {
         display: none;
         position: absolute;
         top: 100%;
         left: 0;
         width: 100%;
         background: white;
         flex-direction: column;
         padding: 1rem;
         box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
     }

     .header-nav.active {
         display: flex;
     }

     .header-nav a {
         padding: 1rem;
     }

     .mobile-menu-btn {
         display: block;
     }

     .cta-button-mobile {
         margin-top: 1rem;
     }

     .hero {
         min-height: 70vh;
         margin-top: 80px;
         text-align: center;
         padding: 1rem 1rem;
     }

     section#github {
         padding: 1rem 1rem;
         margin-top: 0;
     }


     .hero-content {
         flex-direction: column;
     }

     .hero-text {
         flex: 1 1 100%;
         padding: 1rem;
     }


     .hero-image-container {
         flex: 1 1 100%;
         padding: 1rem;
     }

     .hero h1 {
         font-size: 2.25rem;
     }

     .hero p {
         font-size: 1rem;
         margin: 0 auto 1.5rem;
         max-width: 100%;
     }

     .hero-image {
         transform: none;
     }
 }


 .hire-me {
     text-transform: uppercase;
     font-size: 1em;
     font-weight: 800;
 }

 /* USPS Grid Section */
 .usps-section {
     padding: 4rem 2rem;
     background: white;
     max-width: 100%;
     margin: 0 auto;
 }

 .usps-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2rem;
 }

 .usp-item {
     background: #f8f9fa;
     padding: 2rem;
     border-radius: 8px;
     text-align: center;
 }

 .usp-item h3 {
     margin: 1rem 0;
     color: black;
     font-weight: 800;
 }

 .usp-icon {
     font-size: 2.5rem;
     color: black;
     margin-bottom: 1rem;
     display: inline-block;
 }

 @media (max-width: 768px) {
     .usps-grid {
         grid-template-columns: repeat(2, 1fr);
         overflow-x: auto;
         /*grid-auto-flow: column;*/
         scroll-snap-type: x mandatory;
         gap: 1rem;
         padding-bottom: 1rem;
     }

     .usp-item {
         scroll-snap-align: start;
         min-width: 80%;
     }
 }

 /* Carousel Section */

 .carousel-section {
     width: 100%;
     max-width: 100%;
     margin: auto;
     padding: 3rem 1rem;
     position: relative;
     user-select: none;
     border-top: solid 1px black;
     border-bottom: solid 1px black;
 }

 /* Container for logos */
 .carousel-container {
     display: flex;
     justify-content: center;
     align-items: center;
     overflow: hidden;
     position: relative;
     max-width: 100%;
     height: 120px;
 }

 .carousel-track {
     display: flex;
     transition: transform 0.5s ease-in-out;
     will-change: transform;
     width: 100%;
 }

 .carousel-item {
     flex: 0 0 20%;
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0 0.5rem;
     cursor: default;
     border: 1px solid white;
     margin: 0 .5rem;
     background-color: #000;
 }

 /* Logo images and text logos */
 .carousel-item img,
 .carousel-item svg {
     max-height: 85px;
     max-width: 100%;
     object-fit: contain;
     display: block;
 }

 .carousel-item .momstir-text {
     font-family: 'Dancing Script', cursive;
     font-size: 2.5rem;
     font-weight: 700;
     color: #000;
     white-space: nowrap;
     user-select: none;
 }

 /* Dots container */
 .carousel-dots {
     display: flex;
     justify-content: center;
     margin-top: 0.75rem;
     gap: 0.7rem;
 }

 .carousel-dot {
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background-color: #bbb;
     cursor: pointer;
     transition: background-color 0.3s ease;
 }

 .carousel-dot.active {
     background-color: #333;
 }

 @media (min-width: 769px) {
     #dots-mobile {
         display: none !important;
     }

     div#carouselTrack-dots-mobile {
         display: none !important;
     }
 }

 /* Responsive adjustments */
 @media (max-width: 768px) {
     .carousel-container {
         height: 90px;
     }

     .carousel-item {
         flex: 0 0 55%;
         padding: 0 0.25rem;
         margin: auto;
     }

     .carousel-item img,
     .carousel-item svg {
         max-height: 65px;
     }

     .carousel-item .momstir-text {
         font-size: 2rem;
     }

     #dots-desktop {
         display: none !important;
     }

     div#carouselTrackDesktop\ dots-desktop {
         display: none !important;
     }
 }

 @media (max-width: 400px) {
     .carousel-item {
         flex: 0 0 100%;
     }
 }

 /* Services Section */

 .service-card {
     transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
     border-radius: 12px;
     overflow: hidden;
     position: relative;
     height: 100%;
 }

 .service-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
 }

 .service-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .service-card:hover::before {
     opacity: 1;
 }

 .service-icon {
     transition: all 0.3s ease;
     font-size: 1.75rem;
     margin-bottom: 1.2rem;
 }

 .service-card:hover .service-icon {
     transform: scale(1.15);
 }

 section#services {
     border-bottom: solid 1px black;
 }

 @media (max-width: 768px) {
     .service-grid {
         grid-template-columns: 1fr;
         gap: 1rem !important;
     }

     .service-card {
         padding: 0.5rem;
     }

     .grid-cols-1 {
         grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
     }

     .text-xl {
         font-size: .75rem !important;
         line-height: normal !important;
     }

     .text-gray-600 {
         font-size: .80rem ! important;
     }

     .p-8 {
         padding: 0 !important;
     }

     .py-16 {
         padding-top: 1rem !important;
     }

     .mb-16 {
         margin-bottom: 2rem;
     }

     .text-4xl {
         font-size: 1.75rem !important;
     }
 }

 .max-w-7xl {
     max-width: 100% !important;
     margin: 0 auto;
 }

 /* Footer styles */
 footer {
     background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
     color: white;
     padding: 2.5rem 0;
     margin-top: auto;
 }

 .footer-container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .footer-logo {
     font-size: 1.8rem;
     font-weight: 700;
     margin-bottom: 1.5rem;
     letter-spacing: 1px;
 }

 .footer-social {
     display: flex;
     justify-content: center;
     margin-bottom: 1.5rem;
 }

 .social-icon {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background-color: rgba(255, 255, 255, 0.1);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 10px;
     transition: all 0.3s ease;
     cursor: pointer;
 }

 .social-icon:hover {
     background-color: rgba(255, 255, 255, 0.2);
     transform: translateY(-3px);
 }

 .social-icon i {
     color: white;
     font-size: 1.2rem;
 }

 .footer-links {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     margin-bottom: 1.5rem;
 }

 .footer-link {
     margin: 0 15px;
     color: rgba(255, 255, 255, 0.7);
     text-decoration: none;
     font-size: 0.95rem;
     transition: color 0.3s ease;
 }

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

 .footer-divider {
     width: 80%;
     height: 1px;
     background-color: rgba(255, 255, 255, 0.1);
     margin: 1rem auto;
 }

 .footer-copyright {
     text-align: center;
     color: rgba(255, 255, 255, 0.5);
     font-size: 0.85rem;
 }

 /* Mobile responsiveness */
 @media (max-width: 768px) {
     .footer-links {
         flex-direction: column;
         align-items: center;
         display: grid;
         grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
         gap: 0 2rem;
     }

     .footer-link {
         margin: 5px 0;
     }
 }