 :root {
     --primary: #3498db;
     --secondary: #2c3e50;
     --accent: #ff6b6b;
     --light: #f8f9fa;
     --dark: #343a40;
 }

 body {
     font-family: 'Open Sans', sans-serif;
     color: #444;
     background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
     min-height: 100vh;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
     font-family: 'Montserrat', sans-serif;
     font-weight: 700;
 }

 .framer {
     background-color: rgb(243, 243, 248);
     margin: 5px;
     border-radius: 10px;
     padding: 12px;
     display: flex;
     justify-content: center;
     align-items: center;
     text-align: center;
     flex-direction: row;
     flex-wrap: wrap;
     width: 100%;
 }

 .framer .text {
     font-weight: bold;
     color: #6d7582;
 }

 .framer .email {
     color: rgb(27, 119, 177);
     margin-left: 8px;
     font-weight: 500;
 }

 /* 📱 Mobile Responsive */
 @media (max-width: 768px) {
     .framer {
         flex-direction: column;
         border-radius: 0;
         margin: 0;
         padding: 20px 10px;
     }

     .framer .text {
         font-size: 0.95rem;
         margin-bottom: 5px;
     }

     .framer .email {
         margin-left: 0;
         font-size: 0.9rem;
     }
 }

 /* Home Page Hero Section */
 .hero-section {
     display: flex;
     align-items: center;
     justify-content: center;
     background: none;
     color: var(--dark-color);
 }

 .hero-section__content {
     display: flex;
     align-items: center;
     justify-content: space-evenly;
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
 }

 .hero-section__content article {
     animation: fadeInLeft 1s ease forwards;
     max-width: 50%;
 }

 .hero-section__content figure {
     animation: fadeInRight 1s ease forwards;
     max-width: 50%;
 }

 .hero-section__content article h1 {
     font-size: 3rem;
     font-weight: 700;
     line-height: 4rem;
     width: 100%;
     display: flex;
     justify-content: center;
     text-align: center;
     text-transform: uppercase;
     color: #6d7582;
     margin-bottom: 5px;
 }

 .hero-section__content article a {
     width: 70%;
     background-color: var(--primary-color);
     text-decoration: none;
     padding: 10px;
     height: 100%;
     font-weight: 700;
     color: #fff;
     font-size: 1.2rem;
     border-radius: 20px;
 }

 .hero-section__content article p {
     margin: 15px 50px;
     font-size: 2rem;
     font-weight: 400;
     line-height: 2.2rem;
     display: flex;
     align-items: center;
     text-align: start;
     color: #6d7582;
 }

 @media (max-width: 992px) {
     .hero-section__content {
         flex-direction: column;
         text-align: center;
         gap: 1.5rem;
         padding: 20px 10px;
     }

     .hero-section__content article {
         max-width: 100%;
         animation: none;
     }

     .hero-section__content figure {
         max-width: 100%;
         animation: none;
     }

     .hero-section__content article h1 {
         font-size: 2rem;
         line-height: 2.5rem;
         width: 100%;
         text-align: center;
         justify-content: center;
     }

     .hero-section__content article p {
         font-size: 1.2rem;
         line-height: 1.8rem;
         margin: 10px auto;
         text-align: center;
         justify-content: center;
     }

     .hero-section__content article a {
         width: auto;
         display: inline-block;
         text-align: center;
         font-size: 1rem;
         padding: 10px 20px;
     }

     .hero-section__content figure img {
         max-width: 280px;
         width: 100%;
         height: auto;
     }
 }

 /* Animations */
 @keyframes fadeInLeft {
     from {
         opacity: 0;
         transform: translateX(-50px);
     }

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

 @keyframes fadeInRight {
     from {
         opacity: 0;
         transform: translateX(50px);
     }

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

 @keyframes fadeIn {
     from {
         opacity: 0;
     }

     to {
         opacity: 1;
     }
 }



 /* ---------- Features Marquee ---------- */
 .features-marquee {
     background: var(--primary);
     border-radius: 8px;
     padding: 12px 0;
     margin: 30px 0;
     overflow: hidden;
 }

 .marquee-container {
     overflow: hidden;
     position: relative;
     width: 100%;
 }

 .marquee-content {
     display: flex;
     width: max-content;
     animation: features-scroll 10s linear infinite;
 }

 .marquee-group {
     display: flex;
     gap: 50px;
     padding-right: 50px;
 }

 .feature-item {
     flex: 0 0 auto;
     font-size: 1rem;
     font-weight: 500;
     color: #ffffff;
     display: flex;
     align-items: center;
 }

 .feature-item strong {
     font-weight: 700;
 }

 @keyframes features-scroll {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-33.33%);
     }

     /* 3 groups */
 }


 /* ---------- Products Marquee ---------- */
 .products-section {
     position: relative;
     margin: 40px 0;
 }

 .products-section h2 {
     text-align: center;
     font-size: 2rem;
     margin: 30px 0 20px;
     padding: 10px 15px;
     font-weight: bold;
     color: #6d7582;
 }

 .products-marquee {
     position: relative;
     overflow: hidden;
 }

 .products-marquee::before,
 .products-marquee::after {
     content: "";
     position: absolute;
     top: 0;
     width: 80px;
     height: 100%;
     z-index: 5;
     pointer-events: none;
 }

 .products-marquee::before {
     left: 0;
     background: linear-gradient(to right, #fff, transparent);
 }

 .products-marquee::after {
     right: 0;
     background: linear-gradient(to left, #fff, transparent);
 }

 .products-track {
     display: flex;
     gap: 20px;
     animation: products-scroll 50s linear infinite;
     /* super slow */
 }

 .product-item {
     flex: 0 0 auto;
     width: 250px;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 /* .product-item:hover {
     transform: scale(1.05);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
     z-index: 10;
 } */

 @keyframes products-scroll {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-100%);
     }
 }

 /* Product Card */
 .product-card {
     background: #fff;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease-in-out;
     text-align: center;
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 /* Hover effect */
 .product-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
 }

 /* Product Image */
 .product-card .product-image {
     transition: transform 0.4s ease;
     border-bottom: 1px solid #eee;
     object-fit: cover;
 }

 .product-card:hover .product-image {
     transform: scale(1.08);
 }

 /* Card Body */
 .product-card .card-body {
     padding: 1rem;
     flex-grow: 1;
 }

 /* Product Name */
 .product-card .product-name {
     font-size: 1.1rem;
     font-weight: 600;
     color: #222;
     transition: color 0.3s;
 }

 .product-card:hover .product-name {
     color: #007bff;
     /* Bootstrap primary */
 }

 /* Price */
 .product-card .product-price {
     font-size: 1rem;
     font-weight: 500;
     color: #28a745;
 }

 /* See Details Button */
 .product-card .btn-link {
     text-decoration: none;
     font-weight: 500;
     transition: all 0.3s ease;
 }

 .product-card .btn-link:hover {
     color: #0056b3;
     text-decoration: underline;
 }

 /* Section background */
 .promo-card {
     border-radius: 0;
     /* round বাদ */
     padding: 2rem;
     box-shadow: none;
     /* square box বাদ */
     color: #fff;
 }

 /* Left gradient */
 .gradient-left {
     background: linear-gradient(135deg, #2f8bc2, #3b5d64);
 }

 /* Right gradient */
 .gradient-right {
     background: linear-gradient(135deg, #3b5d64, #2f8bc2);
 }

 .promo-btn {
     background: #fff;
     color: #000;
     border-radius: 999px;
     padding: 0.5rem 1.5rem;
     font-weight: 600;
     text-decoration: none;
     display: inline-block;
 }

 .promo-btn:hover {
     background: #000;
     color: #fff;
 }


 .section {
     padding: 100px 0;
 }

 .section-title {
     text-align: center;
     margin-bottom: 60px;
     color: #6d7582;
     position: relative;
 }

 .section-title:after {
     content: '';
     display: block;
     width: 80px;
     height: 4px;
     background: linear-gradient(90deg, var(--primary), var(--accent));
     margin: 15px auto;
     border-radius: 2px;
 }

 .how-it-works-card {
     text-align: center;
     padding: 35px 30px;
     border-radius: 15px;
     background: rgba(255, 255, 255, 0.9);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     height: 100%;
     transition: all 0.4s ease;
     position: relative;
     overflow: hidden;
     border: none;
 }

 .how-it-works-card:before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background: linear-gradient(90deg, var(--primary), var(--accent));
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.4s ease;
 }

 .how-it-works-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
 }

 .how-it-works-card:hover:before {
     transform: scaleX(1);
 }

 .icon-wrapper {
     width: 90px;
     height: 90px;
     margin: 0 auto 25px;
     background: linear-gradient(135deg, var(--primary) 0%, #5dade2 100%);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 2.5rem;
     box-shadow: 0 8px 20px rgba(52, 152, 219, 0.3);
     transition: all 0.4s ease;
 }

 .how-it-works-card:hover .icon-wrapper {
     transform: rotate(10deg) scale(1.1);
     background: linear-gradient(135deg, var(--accent) 0%, #ff8e8e 100%);
 }

 .step-number {
     position: absolute;
     top: 15px;
     right: 15px;
     width: 40px;
     height: 40px;
     background: var(--secondary);
     color: white;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: bold;
     font-size: 1.2rem;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }

 .why-choose-us {
     background: linear-gradient(135deg, var(--secondary) 0%, #1a2530 100%);
     color: white;
     padding: 60px 40px;
     border-radius: 15px;
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
     position: relative;
     overflow: hidden;
 }

 .why-choose-us:before {
     content: '';
     position: absolute;
     top: -50%;
     right: -50%;
     width: 100%;
     height: 200%;
     background: rgba(255, 255, 255, 0.05);
     transform: rotate(45deg);
 }

 .purity-badge {
     background: linear-gradient(90deg, var(--accent) 0%, #ff8e8e 100%);
     color: white;
     padding: 10px 20px;
     border-radius: 30px;
     display: inline-block;
     margin: 20px 0;
     font-weight: bold;
     box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);
     animation: pulse 2s infinite;
 }

 @keyframes pulse {
     0% {
         transform: scale(1);
         box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);
     }

     50% {
         transform: scale(1.05);
         box-shadow: 0 8px 20px rgba(255, 107, 107, 0.5);
     }

     100% {
         transform: scale(1);
         box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);
     }
 }

 .feature-list {
     list-style: none;
     padding: 0px 60px;
     margin-top: 30px;
 }

 .feature-list li {
     margin-bottom: 15px;
     padding-left: 30px;
     position: relative;
 }

 .feature-list li:before {
     content: '✓';
     position: absolute;
     left: 0;
     color: var(--accent);
     font-weight: bold;
     font-size: 1.2rem;
 }

 .guarantee-badge {
     position: absolute;
     top: 9px;
     right: 5px;
     background: var(--accent);
     color: white;
     width: 90px;
     height: 90px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: bold;
     transform: rotate(15deg);
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
     z-index: 10;
 }

 .decoration-circle {
     position: absolute;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
 }

 .circle-1 {
     width: 120px;
     height: 120px;
     top: -60px;
     left: -60px;
 }

 .circle-2 {
     width: 80px;
     height: 80px;
     bottom: -40px;
     right: -40px;
 }

 @media (max-width: 768px) {
     .section {
         padding: 60px 0;
     }

     .why-choose-us {
         padding: 40px 20px;
     }

     .guarantee-badge {
         top: -15px;
         right: -15px;
         width: 60px;
         height: 60px;
         font-size: 0.8rem;
     }
 }


 /* Contact Section */
 .contact-section {
     padding: 3rem 2rem;
     background: linear-gradient(135deg, #ffffff, #f2f2f2);
     border-radius: 16px;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
     color: #333;
     width: 80%;
     display: contents;
     height: auto;
 }

 .contact-section h2 {
     font-weight: 700;
     font-size: 2rem;
     color: #444;
 }

 .contact-section p {
     color: #666;
     font-size: 1.1rem;
     margin-bottom: 1.2rem;
 }

 .contact-section .phone-number {
     display: inline-block;
     font-size: 1.3rem;
     font-weight: 700;
     color: #0066cc;
     text-decoration: none;
     padding: 0.5rem 1rem;
     border: 2px solid #0066cc;
     border-radius: 8px;
     transition: all 0.3s ease;
 }

 .contact-section .phone-number:hover {
     background: #0066cc;
     color: #fff;
 }

 .contact-section h2 {
     font-size: 1.8rem;
 }

 @media (min-width: 992px) {
     .contact-section h2 {
         font-size: 2.2rem;
     }
 }

 /* Right side box */
 .phone-gradient {
     background: linear-gradient(135deg, #fafafa, #eaeaea);
     border-radius: 16px;
     padding: 2rem;
     box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.05);
 }

 .phone-gradient h3 {
     font-size: 1.5rem;
     margin-bottom: 0.5rem;
     color: #333;
 }

 .phone-gradient p {
     color: #555;
 }




 .product-img {
     max-height: 220px;
     border-radius: 12px;
     box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s;
 }

 .product-img:hover {
     transform: translateY(-5px);
 }

 .phone-mockup {
     max-height: 480px;
     border-radius: 25px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
 }

 /* FAQ Section */
 .faq-section {
     max-width: 900px;
     margin: 0 auto;
     padding: 40px 20px;
 }


 .faq-section h2 {
     font-weight: 700;
     color: #6d7582;
 }

 .custom-accordion .accordion-item {
     border: none;
     border-bottom: 1px solid #ddd;
 }

 .custom-accordion .accordion-button {
     font-weight: 600;
     color: #333;
     background: none;
     box-shadow: none;
 }

 .custom-accordion .accordion-button:not(.collapsed) {
     color: #0066cc;
     background: #f7f9fc;
 }

 .custom-accordion .accordion-body {
     font-size: 0.95rem;
     color: #555;
     line-height: 1.6;
 }

 @media (max-width: 992px) {
     .faq-section {
         width: 100%;
         max-width: 100%;
         margin: 0;
         padding: 30px 10px;
         border-radius: 0;
     }

     .faq-section h2 {
         font-size: 1.6rem;
     }

     .accordion-button {
         font-size: 1rem;
     }

     .accordion-body {
         font-size: 0.95rem;
     }
 }

 /* Newsletter Section */
 .newsletter-box {
     background: #1a2240;
     position: relative;
     overflow: hidden;
     transition: all 0.4s ease;
 }

 /* Background decorative element */
 .newsletter-box .newsletter-bg {
     content: "";
     position: absolute;
     right: -50px;
     bottom: -30px;
     width: 250px;
     height: 250px;
     background: url('https://via.placeholder.com/250x250?text=BG') no-repeat center/contain;
     opacity: 0.15;
     transition: transform 0.6s ease, opacity 0.4s ease;
 }

 /* Title hover effect */
 .newsletter-box h3 {
     font-size: 1.8rem;
     color: #fff;
     position: relative;
     z-index: 2;
     transition: color 0.3s ease;
 }

 /* Form input focus effect */
 .newsletter-section .form-control {
     border: none;
     padding: 0.7rem 1rem;
     transition: all 0.3s ease;
 }

 .newsletter-section .form-control:focus {
     box-shadow: 0 0 10px rgba(0, 123, 255, 0.5);
     transform: scale(1.03);
 }

 /* Button styling */
 .newsletter-section .btn-primary {
     background: #007bff;
     border: none;
     font-weight: 600;
     transition: all 0.3s ease;
     padding: 12px;
 }

 /* Hover Effects */
 .newsletter-box:hover {
     background: #232d57;
 }

 .newsletter-box:hover .newsletter-bg {
     transform: scale(1.2) rotate(10deg);
     opacity: 0.25;
 }

 .newsletter-box:hover h3 {
     color: #00c4ff;
 }

 .newsletter-section .btn-primary:hover {
     background: #0056b3;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
 }


 /* Footer Section */
 .footer-section {
     background: #f5f5f510;
 }



 .footer-box img {
     max-width: 120px;
 }

 .footer-box a {
     transition: color 0.3s;
 }

 .footer-box a:hover {
     color: #0056b3;
 }