    body {
        font-family: "Poppins", sans-serif;
        /* background-color: rgb(197, 20, 20); */
        color: #1e1e1e;

        overflow-x: hidden;
    }


    html {
        scroll-behavior: smooth;
        /* fallback for browsers without JS */
        scroll-padding-top: 80px;
        /* adjust based on your navbar height */
    }

    @font-face {
        font-family: 'Thorin';
        src: url('assets/fonts/Thorin.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

    .font-thorin {
        font-family: 'Thorin', serif;
        letter-spacing: 1px;
    }


    .text-blue {
        color: rgba(39, 36, 103, 1);
    }


    .btn-primary {
        color: white;
        background-color: rgba(39, 36, 103, 1);
        font-size: 16px;
        border-radius: 50px;
        padding: 6px 18px;
        font-weight: 500;

    }

    .bg-blue {
        background-color: rgba(39, 36, 103, 1);
    }

    .btn-primary:hover {
        color: #ffffff;
        background-color: rgb(83, 63, 123) !important;

    }

    /* Primary Button Active State */
    .btn-primary:active {
        color: #fff !important;
        background-color: rgb(56, 48, 120) !important;
        border-color: rgb(56, 48, 120) !important;
        box-shadow: 0 0 10px rgba(39, 36, 103, 0.5);
    }


    .btn-outline-primary {
        color: rgba(39, 36, 103, 1);
        border-color: rgba(39, 36, 103, 1);
        font-size: 16px;
        border-radius: 50px;
        padding: 6px 18px;
        font-weight: 500;

    }



    .btn-outline-primary:hover {
        color: white;
        border-color: rgba(39, 36, 103, 1);
        background-color: rgba(39, 36, 103, 1);

    }

    /* Outline Primary Button Active State */
    .btn-outline-primary:active {
        color: #fff !important;
        background-color: rgba(39, 36, 103, 1) !important;
        border-color: rgba(39, 36, 103, 1) !important;
        box-shadow: 0 0 10px rgba(39, 36, 103, 0.4);
    }

    .btn-outline-primary-white {
        color: white;
        border-color: white;
        font-size: 16px;
        border-radius: 50px;

    }



    .btn-outline-primary-white:hover {
        color: white;

        border-radius: 50px;
        background-color: rgba(39, 36, 103, 1) !important;


    }


    button span img {

        width: 24px !important;
        margin-left: 2px;

    }












    /* Navbar */
    .navbar {
        background-color: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }

    .navbar-brand img {
        height: 40px;
    }

    .custom-navbar {
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    /* --- TOGGLER STYLES --- */
    .navbar-toggler {
        border: none;
        outline: none;
        background: transparent;
        position: relative;
        z-index: 1051;
        border: solid 1px rgba(39, 36, 103, 1);

    }

    /* Default: show menu icon */
    .navbar-toggler .navbar-toggler-icon {
        display: block;

        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(39,36,103,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }

    /* Hide close icon by default */
    .navbar-toggler .close-icon {
        display: none;

        color: #272467;

    }

    /* When menu is open (no 'collapsed' class), swap icons */
    .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
        display: none;
    }

    .navbar-toggler:not(.collapsed) .close-icon {
        display: block;
    }

    .navbar-nav .nav-link {

        border: none;
        /* default: no border on large screens */
    }

    .navbar-nav .nav-link.active {
        font-weight: 500;
        color:#272467 ;
    }





    /* Hover Glow Effect */
    .hero {
        position: relative;
        overflow: hidden;
        text-align: center;

    }


    /* Gradient layer */
    .hero::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;

        z-index: 0;

        background: radial-gradient(circle 344px at var(--x, 50%) var(--y, 50%),
                rgba(241, 207, 131, 1) 0%,
                rgba(177, 186, 98, 0.95) 35%,
                rgba(113, 165, 65, 0.9) 60%,
                transparent 100%);
        filter: blur(150px);
        opacity: 0;
        transition: opacity 0.4s ease, filter 0.4s ease;

    }

    /* On hover (desktop) */
    .hero:hover::before {
        opacity: 1;
        background: radial-gradient(circle 344px at var(--x, 50%) var(--y, 50%),
                rgba(241, 207, 131, 1) 0%,
                rgba(177, 186, 98, 0.95) 35%,
                rgba(113, 165, 65, 0.9) 60%,
                transparent 100%);
        filter: blur(180px);

    }

    /* Content above gradient */
    .hero>* {
        position: relative;
        z-index: 1;
    }


    /* Ensure images are above glow */
    .image-grid img {
        position: relative;
        z-index: 2;
    }

    .centered-image {
        min-height: 240px;

        border-radius: 15px;
    }

    .hero h1 {
        letter-spacing: 0;
        line-height: 60px;
        font-size: 40px;

    }

    .hero p {
        font-size: 22px;

        max-width: 600px;
        margin: 0 auto 20px;
        letter-spacing: -1px;
        text-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
    }

    .hero .btn-primary {
        background-color: #3b2d7d;
        border: none;
    }

    .mt-n5 {
        margin-top: -5rem !important;
    }

    .image-grid img {
        width: 100%;

        object-fit: cover;
        transition: all 0.3s ease;

    }

    .image-grid img:hover {

        transform: scale(1.03);

    }


    .stats {
        margin-top: 40px;
    }

    .stats h4 {
        font-weight: 300;

        font-size: 40px;
    }

    .count {
        display: inline-block;
        width: 6ch;
        /* reserve space for up to 6 characters (e.g. "4000K+") */
        text-align: center;
        font-weight: 700;
        font-size: 2rem;
        font-variant-numeric: tabular-nums;
        /* ensures equal-width digits */
    }


    .stats p {

        font-size: 16px;
        text-shadow: unset;
    }

    .influencer-showcase {

        /* padding: 30px 0; */

        /* max-height: 100dvh; */
        overflow: hidden;
    }

    .text-blue {
        color: rgba(39, 36, 103, 1);
    }

    .influencer-showcase h2 {
        font-size: 30px;
        letter-spacing: 0.5px;
        line-height: 50px;
    }

    .influencer-showcase p {

        font-size: 16px;
    }

    .category-buttons .btn {
        border-radius: 50px;
        font-size: 16px;
        padding: 5px 20px;
    }

    .category-buttons .btn-dark {
        background-color: rgba(39, 36, 103, 1);
        border: none;
    }

    .category-buttons .btn-outline-dark {
        border-color: rgba(39, 36, 103, 1);
        color: rgba(39, 36, 103, 1);
    }

    .scroll-text {
        transform: rotate(-90deg);
        transform-origin: center;
        font-size: 20px;
        letter-spacing: 2px;
        color: #1e1e1e;
    }

    .nav-arrows {
        top: 15px;
        right: 15px;
    }

    .arrow-btn {
        border: 1px solid rgba(39, 36, 103, 1);
        border-radius: 50px;
        width: 90px;
        height: 45px;
        background: transparent;
        color: rgba(39, 36, 103, 1);
        font-size: 18px;
        transition: 0.3s ease;
    }

    .arrow-btn:hover {
        background: rgba(39, 36, 103, 1);
        color: #fff;
    }


    .image-slider-wrapper {
        overflow: hidden;
        width: 100%;
        position: relative;
    }

    .image-slider {
        display: flex;
        gap: 20px;
        transition: transform 0.6s ease-in-out;
    }

    .image-slider img {
        width: calc(33.333% - 15px);
        border-radius: 20px;
        object-fit: cover;
        flex-shrink: 0;
    }

    .xcampaign-section {
        background: rgba(243, 243, 255, 1);

        overflow: hidden;
        /* padding: 30px 0; */
        /* max-height: 100dvh; */



    }

    .xcampaign-heading {
        font-size: 1.1rem;

        line-height: 1.6;
    }

    .xarrow-btn {
        border: 1px solid rgba(39, 36, 103, 1);
        border-radius: 50px;
        width: 90px;
        height: 45px;
        background: transparent;
        color: rgba(39, 36, 103, 1);
        font-size: 18px;
        transition: 0.3s ease;
    }

    .xarrow-btn:hover {
        background: rgba(39, 36, 103, 1);
        color: #fff;
    }

    /* Oval slider styling */
    .xcslider-wrapper {
        position: relative;
        max-width: 320px;
        width: 100%;
        height: 600px;
        margin: 0 auto;
        overflow: hidden;
        border-radius: 999px;
        border: solid 1px rgba(39, 36, 103, 1);
    }

    .xcslider {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .xcslider img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 999px;
        opacity: 0;
        transition: opacity 1s ease-in-out;
    }

    .xcslider img.active {
        opacity: 1;
        z-index: 2;
    }

    .xcstats strong {
        font-size: 30px;
    }

    .xcstats p {
        font-size: 16px;
    }


    .xcslider {
        display: flex;
        transition: transform 0.8s ease-in-out;
    }

    .ellipse-viewer img {
        margin-right: -30px;
        border: solid 1px rgba(39, 36, 103, 1);
        width: 100px;
    }

    .hc-section {
        background: #f3f3ff;
        overflow: hidden;
        min-height: 70vh;
    }

    .hc-section h1 {
        font-size: 30px;
        line-height: 40px;
    }

    /* Video Thumbnail */
    .hc-video-wrapper {
        position: relative;
        width: 280px;
        height: 220px;
        border-radius: 20px;
        overflow: hidden;
        margin: 0 auto;
    }

    .hc-video-thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hc-play-btn {
        position: absolute;
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: #fff;

        border: none;
        font-size: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(39, 36, 103, 1);
        transition: 0.3s ease;
    }

    .hc-play-btn:hover {

        background: rgba(39, 36, 103, 1);

        color: #fff;
        border: 1px solid rgba(39, 36, 103, 1);
    }

    /* Slider */
    .hc-slider-wrapper {
        overflow: hidden;
        width: 100%;
        position: relative;
    }


    .hc-slider {
        display: flex;
        transition: transform 0.6s ease-in-out;
    }

    .hc-slider img {
        width: 280px;
        height: 220px;
        object-fit: cover;
        border-radius: 20px;
        margin-right: 25px;
        /* slight peek of next image */
    }

    /* Arrows */
    .hc-arrow-btn {
        border: 1px solid rgba(39, 36, 103, 1);
        border-radius: 50px;
        width: 90px;
        height: 45px;
        background: transparent;
        color: rgba(39, 36, 103, 1);
        transition: 0.3s ease;
    }

    .hc-arrow-btn:hover {
        background: rgba(39, 36, 103, 1);
        color: #fff;
    }



    /* last section css  */


    .stories-section {
        /* padding: 80px 0; */
    }

    .stories-section h2 {
        color: #2D265F;
        font-weight: 600;
        font-size: 40px;
    }

    /* .stories-section p {
  
      max-width: 700px;
      font-size: 22px;
    } */

    .blog-card {
        position: relative;
        border-radius: 16px;
        overflow: hidden;
        transition: transform 0.3s ease;
    }

    .blog-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .blog-card:hover {}

    .blog-overlay {
        position: absolute;
        top: 20px;
        left: 20px;
    }

    .blog-overlay p {
        margin: 0;
        /* max-width: 50%; */
    }

    .blog-overlay p span {
        font-size: 16px !important;

        background: rgba(255, 255, 255, 1);
        padding: 8px 12px;
        line-height: 1.5;
        color: #2D265F;




        /* Keeps rounded edges & padding even when text wraps */
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }

    .rounded-bottom-end {
        border-bottom-right-radius: 0.5rem !important;
    }

    .side-small-para p span {
        font-size: 12px !important;
        line-height: 1 !important;
    }












    /* Footer css start here ----------------------------- */
    .footer-section {
        background-color: #241b55;
        color: #fff;

        font-family: "Poppins", sans-serif;
        position: relative;
    }



    .footer-top {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);

    }



    .footer-logo {
        width: 80px;
        margin-bottom: 10px;
    }



    .connect-btn {
        background-color: transparent;
        border: 1px solid #fff;
        color: #fff;
        border-radius: 50px;
        padding: 10px 25px;
        font-size: 14px;
        cursor: pointer;
        transition: 0.3s;
    }

    .connect-btn:hover {
        background-color: #fff;
        color: #241b55;
    }



    .footer-links h5 {
        font-size: 16px;
        margin-bottom: 15px;
        font-weight: 600;
    }

    .footer-links ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-links li {
        margin-bottom: 8px;
        color: rgba(255, 255, 255, 0.8);
        font-size: 16px;
    }

    .footer-links a {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;

        transition: 0.3s;
    }

    .footer-links a:hover {
        color: #fff;
    }


    .contact-info i {
        margin-right: 8px;


    }

    .footer-bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;

    }

    .socials {
        display: flex;
        align-items: center;
        gap: 15px;
        font-size: 14px;
    }

    .socials a {
        color: #fff;
        font-size: 18px;
        transition: 0.3s;
    }

    .socials a:hover {
        color: #e2dbdb;
    }

    .back-top {
        color: #fff;
        font-size: 16px;
        text-decoration: none;
    }

    .footer-copy {
        text-align: center;

        font-size: 10px;
        opacity: 0.7;
        border-top: 1px solid rgba(255, 255, 255, 0.1);

    }

    /* Footer css end here ----------------------------- */
    .yoga-process {
        position: relative;
        /* max-height: 100dvh; */
        overflow: hidden;
    }

    .yoga-process .container {
        /* padding-top: 80px; */
        /* padding-bottom: 80px; */
    }

    .timeline {
        position: relative;
        max-width: 900px;
        margin: 0 auto;
    }

    .timeline-line {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 3px;
        background-color: rgba(39, 36, 103, 1);
        z-index: 0;
        height: 0;
        /* start at 0 height */
        transition: height 3s ease-out;
    }

    /* === Full height animation when triggered === */
    .timeline-line.grow {
        height: 100%;
    }


    /* === Base visibility control === */
    .timeline-item {}

    .timeline-item.show {}

    .timeline-item .content {

        padding: 20px;
        border-radius: 10px;

        display: inline-block;
        position: relative;
        z-index: 1;

    }

    .timeline-item.right .content {
        text-align: right;
    }

    .timeline-item.right .circle {
        margin-left: auto;
        /* pushes circle to the right */
    }

    .timeline-item .image-side {

        padding: 20px;
    }




    .timeline-item .circle {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 24px;
        text-align: center;
        background: rgba(39, 36, 103, 1);
        color: #fff;
        font-weight: 600;
        border-radius: 50%;
        margin-bottom: 15px;
    }


    .timeline-item h2 {
        color: rgba(39, 36, 103, 1);
        font-weight: 600;
        font-size: 30px;
    }

    .timeline-item p {

        font-size: 18px;
        margin: 0;
    }

    .timeline-img {
        width: 80px;
        height: 80px;
        object-fit: contain;
    }

    /* Contact Modal Form Styling */
    #contactModal .form-control {
        border: none;
        border-bottom: 1px solid #ccc;
        border-radius: 0;
        background: transparent;
        padding: 8px 4px;
        font-size: 16px;
    }

    #contactModal .form-control:focus {
        border-bottom: 1px solid rgba(39, 36, 103, 1);
        box-shadow: none;
        outline: none;
    }

    .modal-footer {
        border-top: none;
        padding-top: 0;
    }

    /* Subtle red border for invalid fields (no layout shift) */
    /* Red border for invalid fields (no layout shift) */
    .form-control.invalid {
        border-color: #dc3545 !important;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
        animation: shake 0.2s ease-in-out 2;
        box-shadow: unset;

    }

    @keyframes shake {

        0%,
        100% {
            transform: translateX(0);
        }

        25% {
            transform: translateX(-2px);
        }

        75% {
            transform: translateX(2px);
        }
    }

    .blink-smooth {
        animation: smoothBlink 2s infinite ease-in-out;
    }

    @keyframes smoothBlink {

        0%,
        100% {
            opacity: 1;
        }

        50% {
            opacity: 0.4;
        }
    }

    #videoModal .btn-close {
        filter: invert(1);
        opacity: 1;



        transition: all 0.3s ease;
        z-index: 10;
        filter: invert(1) drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));

        /* ensures it appears over iframe */
    }

    #videoModal .btn-close:hover {
        opacity: 1;

        transform: scale(1.1);
    }

    .video-wrapper {
        width: 100%;
        background: black;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* Default: landscape ratio */
    .video-wrapper iframe {
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
    }
.trusted-by-happy-customer-heading{
    font-size: 30px;
}