        :root {

            --tn-purple: #42115f;
            --tn-purple-dark: #270638;
            --tn-purple-light: #68267f;

            --tn-red: #e32736;
            --tn-red-dark: #bd1726;

            --tn-white: #ffffff;
            --tn-light: #f8f6fa;

            --tn-text: #2f2933;
            --tn-muted: #777079;

            --tn-border: rgba(66, 17, 95, 0.10);

        }


        * {

            margin: 0;
            padding: 0;

            box-sizing: border-box;

        }


        html {

            scroll-behavior: smooth;

        }


        body {

            font-family: "Poppins", sans-serif;

            background: #ffffff;

            color: var(--tn-text);

            overflow-x: hidden;

        }


        a {

            text-decoration: none;

        }


        img {

            max-width: 100%;

        }


        button {

            font-family: inherit;

        }


        .tn-container {

            width: min(94%, 1400px);

            margin: auto;

        }



        /* =====================================
           HEADER
        ====================================== */

        .tn-header {

            width: 100%;

            position: relative;

            z-index: 1000;

        }



        /* =====================================
           TOP BAR
        ====================================== */

        .tn-topbar {

            min-height: 43px;

            display: flex;

            align-items: center;

            color: #ffffff;

            background:

                linear-gradient(
                    100deg,
                    var(--tn-purple-dark),
                    var(--tn-purple) 60%,
                    #5a1972
                );

        }


        .tn-topbar-inner {

            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 25px;

        }



        /* CONTACT */

        .tn-contact-info {

            display: flex;

            align-items: center;

            gap: 27px;

        }


        .tn-contact-info a {

            display: flex;

            align-items: center;

            gap: 8px;

            color: #ffffff;

            font-size: 13px;

            font-weight: 500;

            transition: .3s;

        }


        .tn-contact-info a:hover {

            color: #ffd9dc;

        }


        .tn-contact-info i {

            color: #ff6976;

        }



        /* TOP RIGHT */

        .tn-top-right {

            display: flex;

            align-items: center;

            gap: 22px;

        }


        .tn-top-message {

            font-size: 12px;

            font-weight: 500;

        }


        .tn-top-message i {

            color: #ff6976;

            margin-right: 6px;

        }



        /* SOCIAL */

        .tn-socials {

            display: flex;

            gap: 7px;

        }


        .tn-socials a {

            width: 27px;

            height: 27px;

            border-radius: 50%;

            display: flex;

            align-items: center;

            justify-content: center;

            color: #ffffff;

            background: rgba(255,255,255,.10);

            border: 1px solid rgba(255,255,255,.15);

            font-size: 11px;

            transition: .3s;

        }


        .tn-socials a:hover {

            background: var(--tn-red);

            border-color: var(--tn-red);

            transform: translateY(-2px);

        }



        /* =====================================
           MAIN NAVBAR
        ====================================== */

        .tn-navbar {

            background: #ffffff;

            border-bottom: 1px solid var(--tn-border);

            box-shadow:
                0 10px 35px rgba(39, 6, 56, .06);

        }


        .tn-navbar-inner {

            min-height: 92px;

            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 20px;

        }



        /* =====================================
           LOGO
        ====================================== */

        .tn-logo {

            display: flex;

            align-items: center;

            gap: 13px;

            flex-shrink: 0;

        }


        .tn-logo img {

            width: 100px;

            height: 78px;

            object-fit: contain;

            display: block;

        }



        /* BRAND */

        .tn-brand-text {

            display: flex;

            flex-direction: column;

        }


        .tn-brand-text strong {

            color: var(--tn-red);

            font-size: 20px;

            line-height: 1;

            font-weight: 800;

        }


        .tn-brand-text strong span {

            color: var(--tn-purple);

        }


        .tn-brand-text small {

            margin-top: 7px;

            color: var(--tn-muted);

            font-size: 8px;

            font-weight: 600;

            letter-spacing: .6px;

            text-transform: uppercase;

        }



        /* =====================================
           DESKTOP NAVIGATION
        ====================================== */

        .tn-nav {

            margin-left: auto;

        }


        .tn-nav ul {

            list-style: none;

            display: flex;

            align-items: center;

            gap: 1px;

        }


        .tn-nav li {

            position: relative;

        }


        .tn-nav a {

            position: relative;

            display: block;

            padding: 35px 12px;

            color: #302a33;

            font-size: 14px;

            font-weight: 600;

            transition: .3s;

        }


        .tn-nav a:hover,
        .tn-nav a.active {

            color: var(--tn-purple);

        }



        /* UNDERLINE */

        .tn-nav a::after {

            content: "";

            position: absolute;

            bottom: 24px;

            left: 50%;

            width: 0;

            height: 3px;

            border-radius: 20px;

            transform: translateX(-50%);

/*            background:
                linear-gradient(
                    90deg,
                    var(--tn-red),
                    var(--tn-purple)
                );*/

            transition: .3s;

        }


        .tn-nav a:hover::after,
        .tn-nav a.active::after {

            width: 26px;

        }



        /* =====================================
           SUPPORT BUTTON
        ====================================== */

        .tn-header-action {

            flex-shrink: 0;

        }


        .tn-support-btn {

            min-height: 48px;

            padding: 0 21px;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: 8px;

            border-radius: 50px;

            color: #ffffff;

            font-size: 13px;

            font-weight: 700;

            background:

                linear-gradient(
                    135deg,
                    var(--tn-red),
                    #f14c59
                );

            box-shadow:
                0 10px 25px rgba(227, 39, 54, .24);

            transition: .3s;

        }


        .tn-support-btn:hover {

            color: #ffffff;

            transform: translateY(-2px);

            box-shadow:
                0 15px 30px rgba(227, 39, 54, .30);

        }



        /* =====================================
           MOBILE MENU BUTTON
        ====================================== */

        .tn-menu-toggle {

            width: 47px;

            height: 47px;

            border: 0;

            border-radius: 12px;

            background: var(--tn-purple);

            cursor: pointer;

            display: none;

            align-items: center;

            justify-content: center;

            flex-direction: column;

            gap: 5px;

        }


        .tn-menu-toggle span {

            width: 21px;

            height: 2px;

            display: block;

            background: #ffffff;

            border-radius: 10px;

        }



        /* =====================================
           MOBILE MENU
        ====================================== */

        .tn-mobile-menu {

            position: fixed;

            top: 0;

            right: -100%;

            width: min(88%, 380px);

            height: 100vh;

            background: #ffffff;

            z-index: 10002;

            overflow-y: auto;

            padding: 0 24px 30px;

            box-shadow:
                -18px 0 50px rgba(25, 5, 35, .20);

            transition: right .35s ease;

        }


        .tn-mobile-menu.active {

            right: 0;

        }



        /* MOBILE MENU HEADER */

        .tn-mobile-menu-head {

            min-height: 80px;

            display: flex;

            align-items: center;

            justify-content: space-between;

            border-bottom: 1px solid #eeeeee;

        }


        .tn-mobile-menu-head strong {

            color: var(--tn-purple);

            font-size: 21px;

            font-weight: 800;

        }


        .tn-mobile-close {

            width: 40px;

            height: 40px;

            display: flex;

            align-items: center;

            justify-content: center;

            border: 0;

            border-radius: 50%;

            cursor: pointer;

            background: #f7f1f9;

            color: var(--tn-purple);

            font-size: 20px;

        }



        /* MOBILE NAV */

        .tn-mobile-nav {

            padding: 16px 0;

        }


        .tn-mobile-nav a {

            min-height: 55px;

            padding: 0 9px;

            display: flex;

            align-items: center;

            gap: 13px;

            color: #332d36;

            font-size: 15px;

            font-weight: 600;

            border-bottom: 1px solid #f0edf1;

            transition: .25s;

        }


        .tn-mobile-nav a i {

            width: 23px;

            color: var(--tn-red);

            font-size: 16px;

        }


        .tn-mobile-nav a:hover {

            color: var(--tn-purple);

            padding-left: 15px;

        }



        /* MOBILE CONTACT */

        .tn-mobile-contact {

            margin-top: 7px;

            padding: 18px;

            border-radius: 15px;

            background: #f9f5fa;

        }


        .tn-mobile-contact a {

            display: flex;

            align-items: center;

            gap: 10px;

            margin: 9px 0;

            color: var(--tn-purple);

            font-size: 13px;

            font-weight: 600;

        }


        .tn-mobile-contact i {

            color: var(--tn-red);

        }



        /* MOBILE SUPPORT */

        .tn-mobile-support {

            width: 100%;

            min-height: 51px;

            margin-top: 18px;

            display: flex;

            align-items: center;

            justify-content: center;

            gap: 9px;

            border-radius: 50px;

            color: #ffffff;

            font-size: 14px;

            font-weight: 700;

            background:

                linear-gradient(
                    135deg,
                    var(--tn-red),
                    #f34e5b
                );

        }



        /* =====================================
           OVERLAY
        ====================================== */

        .tn-overlay {

            position: fixed;

            inset: 0;

            z-index: 10001;

            background: rgba(27, 5, 39, .67);

            backdrop-filter: blur(3px);

            opacity: 0;

            visibility: hidden;

            transition: .3s;

        }


        .tn-overlay.active {

            opacity: 1;

            visibility: visible;

        }



        /* =====================================
           DEMO PAGE AREA
        ====================================== */

        .demo-content {

            min-height: 500px;

            display: flex;

            align-items: center;

            justify-content: center;

            text-align: center;

            padding: 60px 20px;

            background: #faf9fb;

        }


        .demo-content h1 {

            color: var(--tn-purple);

            font-size: 42px;

            margin-bottom: 10px;

        }


        .demo-content p {

            color: #777;

            font-size: 16px;

        }



        /* =====================================
           TABLET
        ====================================== */

        @media (max-width: 1180px) {

            .tn-nav a {

                padding-left: 8px;

                padding-right: 8px;

                font-size: 13px;

            }


            .tn-brand-text {

                display: none;

            }


            .tn-logo img {

                width: 88px;

            }

        }



        /* =====================================
           MOBILE NAV BREAKPOINT
        ====================================== */

        @media (max-width: 991px) {

            .tn-nav,
            .tn-header-action {

                display: none;

            }


            .tn-menu-toggle {

                display: flex;

            }


            .tn-navbar-inner {

                min-height: 82px;

            }


            .tn-brand-text {

                display: flex;

            }


            .tn-logo img {

                width: 88px;

                height: 68px;

            }

        }



        /* =====================================
           MOBILE
        ====================================== */

        @media (max-width: 767px) {

            .tn-topbar {

                min-height: 43px;

            }


            .tn-top-right {

                display: none;

            }


            .tn-contact-info {

                width: 100%;

                justify-content: space-between;

                gap: 10px;

            }


            .tn-contact-info a {

                font-size: 11px;

            }


            .tn-navbar-inner {

                min-height: 76px;

            }


            .tn-logo img {

                width: 76px;

                height: 59px;

            }


            .tn-brand-text strong {

                font-size: 17px;

            }


            .tn-brand-text small {

                font-size: 7px;

            }


            .demo-content h1 {

                font-size: 30px;

            }

        }



        /* =====================================
           SMALL MOBILE
        ====================================== */

        @media (max-width: 480px) {

            .tn-container {

                width: 94%;

            }


            .tn-contact-info {

                gap: 5px;

            }


            .tn-contact-info a {

                font-size: 9px;

            }


            .tn-contact-info i {

                font-size: 10px;

            }


            .tn-logo {

                gap: 7px;

            }


            .tn-logo img {

                width: 69px;

                height: 55px;

            }


            .tn-brand-text strong {

                font-size: 15px;

            }


            .tn-brand-text small {

                display: none;

            }


            .tn-menu-toggle {

                width: 43px;

                height: 43px;

            }

        }

        /* =========================================
   THODU-NEEDA PREMIUM FOOTER
========================================== */

.tn-footer {
    position: relative;
    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #1d052b 0%,
            #351047 42%,
            #4b155f 72%,
            #281037 100%
        );
}


/* =========================
   CONTAINER
========================= */

.tn-footer-container {
    width: min(92%, 1380px);
    margin: auto;
}


/* =========================
   DECORATIVE GLOWS
========================= */

.tn-footer-glow {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(10px);

    opacity: .18;
}

.tn-footer-glow-one {
    width: 340px;
    height: 340px;

    top: -180px;
    left: -100px;

    background: #e32736;
}

.tn-footer-glow-two {
    width: 380px;
    height: 380px;

    right: -170px;
    bottom: 10px;

    background: #8a3cad;
}


/* =========================
   MAIN GRID
========================= */

.tn-footer-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.25fr .85fr 1fr;

    gap: 65px;

    padding: 70px 0 55px;
}


/* =========================
   COMMON COLUMN
========================= */

.tn-footer-col h4 {
    position: relative;

    margin: 0 0 26px;

    color: #ffffff;

    font-size: 20px;
    font-weight: 700;
}

.tn-footer-col h4::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -9px;

    width: 44px;
    height: 3px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #e32736,
            #ff6673
        );
}


/* =========================
   ABOUT COLUMN
========================= */

.tn-footer-kicker {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 14px;

    color: #ffb0b7;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.tn-footer-kicker span {
    width: 25px;
    height: 2px;

    display: inline-block;

    background: #e32736;
}

.tn-footer-about h3 {
    margin: 0 0 16px;

    color: #ffffff;

    font-size: 28px;
    line-height: 1.25;

    font-weight: 800;
}

.tn-footer-about p {
    max-width: 480px;

    margin: 0 0 22px;

    color: rgba(255,255,255,.78);

    font-size: 15px;
    line-height: 1.85;
}


/* WEBSITE LINK */

.tn-footer-web {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    transition: .3s;
}

.tn-footer-web i {
    color: #ff6673;
}

.tn-footer-web:hover {
    color: #ffb5bb;
}


/* =========================
   SOCIAL ICONS
========================= */

.tn-footer-social {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 24px;
}

.tn-footer-social a {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);

    font-size: 15px;

    transition: .3s;
}

.tn-footer-social a:hover {
    background:
        linear-gradient(
            135deg,
            #e32736,
            #f65360
        );

    border-color: transparent;

    transform: translateY(-4px);

    box-shadow:
        0 10px 25px rgba(227,39,54,.25);
}


/* =========================
   QUICK LINKS
========================= */

.tn-footer-links {
    list-style: none;

    padding: 0;
    margin: 0;
}

.tn-footer-links li {
    margin-bottom: 13px;
}

.tn-footer-links a {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: rgba(255,255,255,.78);

    font-size: 14px;
    font-weight: 500;

    transition: .3s;
}

.tn-footer-links a i {
    color: #ff6471;

    font-size: 10px;

    transition: .3s;
}

.tn-footer-links a:hover {
    color: #ffffff;

    transform: translateX(4px);
}

.tn-footer-links a:hover i {
    color: #ffffff;
}


/* =========================
   CONTACT
========================= */

.tn-footer-contact {
    display: flex;
    flex-direction: column;
}

.tn-contact-item {
    display: flex;

    align-items: flex-start;

    gap: 14px;

    margin-bottom: 22px;
}

.tn-contact-icon {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            rgba(227,39,54,.95),
            rgba(103,34,130,.95)
        );

    box-shadow:
        0 8px 20px rgba(0,0,0,.12);
}

.tn-contact-item strong {
    display: block;

    margin-bottom: 5px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;
}

.tn-contact-item p {
    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;
    line-height: 1.6;
}

.tn-contact-item a {
    display: block;

    margin-bottom: 3px;

    color: rgba(255,255,255,.76);

    font-size: 14px;

    transition: .3s;
}

.tn-contact-item a:hover {
    color: #ffb0b7;
}


/* =========================
   BOTTOM FOOTER
========================= */

.tn-footer-bottom {
    position: relative;
    z-index: 2;

    border-top: 1px solid rgba(255,255,255,.10);

    background: rgba(12,2,20,.28);
}

.tn-footer-bottom-inner {
    min-height: 72px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.tn-footer-bottom p {
    margin: 0;

    color: rgba(255,255,255,.65);

    font-size: 13px;
}

.tn-footer-bottom-links {
    display: flex;

    align-items: center;

    gap: 14px;
}

.tn-footer-bottom-links a {
    color: rgba(255,255,255,.72);

    font-size: 13px;
    font-weight: 500;

    transition: .3s;
}

.tn-footer-bottom-links a:hover {
    color: #ff8791;
}

.tn-footer-bottom-links span {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #e32736;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991px) {

    .tn-footer-grid {
        grid-template-columns: 1fr 1fr;

        gap: 45px;

        padding: 55px 0 45px;
    }

    .tn-footer-about {
        grid-column: 1 / -1;
    }

    .tn-footer-about p {
        max-width: 700px;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767px) {

    .tn-footer-container {
        width: 90%;
    }

    .tn-footer-grid {
        grid-template-columns: 1fr;

        gap: 38px;

        padding: 48px 0 38px;
    }

    .tn-footer-about {
        grid-column: auto;
    }

    .tn-footer-about h3 {
        font-size: 24px;
    }

    .tn-footer-about p {
        font-size: 14px;

        line-height: 1.75;
    }

    .tn-footer-col h4 {
        font-size: 18px;
    }

    .tn-footer-bottom-inner {
        min-height: auto;

        padding: 22px 0;

        flex-direction: column;

        text-align: center;

        gap: 12px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 480px) {

    .tn-footer-grid {
        padding-top: 42px;

        gap: 32px;
    }

    .tn-footer-about h3 {
        font-size: 22px;
    }

    .tn-footer-about p {
        font-size: 13px;
    }

    .tn-footer-links a,
    .tn-contact-item p,
    .tn-contact-item a {
        font-size: 13px;
    }

    .tn-footer-social a {
        width: 39px;
        height: 39px;
    }

    .tn-footer-bottom p,
    .tn-footer-bottom-links a {
        font-size: 11px;
    }

}
 
/* =========================================
   THODU-NEEDA PREMIUM SPLIT HERO
========================================== */

.td-hero {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
    background: #f9f5fa;
}


/* SLIDES */

.td-slide {
    position: absolute;
    inset: 0;

    opacity: 0;
    visibility: hidden;

    transform: translateX(70px);

    transition:
        opacity .65s ease,
        transform .65s ease,
        visibility .65s ease;
}

.td-slide.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    z-index: 2;
}


/* BACKGROUND SHAPE */

.td-slide-bg {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            115deg,
            #ffffff 0%,
            #ffffff 47%,
            #f4e9f7 47%,
            #f4e9f7 100%
        );
}

.td-slide-bg::before {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    right: -180px;
    top: -200px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(227,39,54,.14),
            rgba(66,17,95,.05) 55%,
            transparent 70%
        );
}

.td-slide-bg::after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -130px;
    bottom: -100px;

    border-radius: 50%;

    background:
        rgba(66,17,95,.05);
}


/* WRAPPER */

.td-wrap {
    position: relative;
    z-index: 3;

    width: min(92%, 1380px);
    height: 100%;

    margin: auto;

    display: grid;
    grid-template-columns: 1.05fr .95fr;

    align-items: center;

    gap: 55px;
}


/* =========================================
   CONTENT
========================================== */

.td-content {
    max-width: 730px;
}


/* BADGE */

.td-badge {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    padding: 9px 15px;

    margin-bottom: 18px;

    border-radius: 50px;

    color: #42115f;

    background: #f6ecf8;

    border: 1px solid rgba(66,17,95,.12);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;
}

.td-badge i {
    color: #e32736;
}


/* TITLE */

.td-content h1 {
    margin: 0 0 20px;

    color: #321043;

    font-size: clamp(40px, 4.5vw, 65px);

    line-height: 1.08;

    font-weight: 800;

    letter-spacing: -1.7px;
}

.td-content h1 span {
    display: block;

    color: #e32736;
}


/* TEXT */

.td-content p {
    max-width: 680px;

    margin: 0 0 9px;

    color: #605866;

    font-size: 16px;

    line-height: 1.75;
}

.td-content .td-extra {
    color: #847b89;
}


/* =========================================
   BUTTONS
========================================== */

.td-buttons {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 27px;
}

.td-btn {
    min-height: 52px;

    padding: 0 23px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 700;

    transition: .3s;
}


/* MAIN */

.td-btn-main {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #42115f,
            #67217e
        );

    box-shadow:
        0 12px 27px rgba(66,17,95,.20);
}

.td-btn-main:hover {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #e32736,
            #f14d59
        );

    transform: translateY(-3px);
}

.td-btn-main i {
    transition: .3s;
}

.td-btn-main:hover i {
    transform: translateX(4px);
}


/* LIGHT */

.td-btn-light {
    color: #42115f;

    background: #ffffff;

    border: 1px solid rgba(66,17,95,.22);
}

.td-btn-light:hover {
    color: #ffffff;

    background: #e32736;

    border-color: #e32736;

    transform: translateY(-3px);
}


/* =========================================
   IMAGE SIDE
========================================== */

.td-image {
    position: relative;

    height: 510px;

    border-radius: 40px 8px 40px 8px;

    overflow: hidden;

    box-shadow:
        0 30px 70px rgba(48,15,62,.20);
}

.td-image::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(36,6,48,.76) 100%
        );
}

.td-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 7s ease;
}

.td-slide.active .td-image img {
    transform: scale(1.06);
}


/* IMAGE CAPTION */

.td-image-box {
    position: absolute;

    z-index: 3;

    left: 25px;
    bottom: 25px;

    width: calc(100% - 50px);

    padding: 18px 20px;

    border-radius: 16px;

    color: #ffffff;

    background: rgba(40,8,53,.56);

    border: 1px solid rgba(255,255,255,.20);

    backdrop-filter: blur(10px);
}

.td-image-box strong {
    display: block;

    margin-bottom: 4px;

    color: #ffffff;

    font-size: 18px;
}

.td-image-box span {
    color: rgba(255,255,255,.82);

    font-size: 12px;
}


/* =========================================
   ARROWS
========================================== */

.td-arrow {
    position: absolute;

    z-index: 10;

    bottom: 30px;

    width: 45px;
    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    cursor: pointer;

    color: #42115f;

    background: #ffffff;

    box-shadow:
        0 8px 24px rgba(40,8,52,.14);

    transition: .3s;
}

.td-arrow:hover {
    color: #ffffff;

    background: #e32736;

    transform: translateY(-2px);
}

.td-prev {
    right: 90px;
}

.td-next {
    right: 35px;
}


/* =========================================
   DOTS
========================================== */

.td-dots {
    position: absolute;

    z-index: 10;

    left: 4%;
    bottom: 35px;

    display: flex;

    align-items: center;

    gap: 8px;
}

.td-dot {
    width: 10px;
    height: 10px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    cursor: pointer;

    background: #d8cadc;

    transition: .3s;
}

.td-dot.active {
    width: 34px;

    border-radius: 20px;

    background:
        linear-gradient(
            90deg,
            #42115f,
            #e32736
        );
}


/* =========================================
   TABLET
========================================== */

@media (max-width: 991px) {

    .td-hero {
        height: 620px;
    }

    .td-wrap {
        grid-template-columns: 1fr 1fr;

        gap: 28px;
    }

    .td-content h1 {
        font-size: 45px;
    }

    .td-content p {
        font-size: 14px;
    }

    .td-image {
        height: 450px;
    }

}


/* =========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .td-hero {
        height: 760px;
    }

    .td-slide-bg {
        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #ffffff 60%,
                #f5edf7 100%
            );
    }

    .td-wrap {
        width: 90%;

        grid-template-columns: 1fr;

        grid-template-rows: auto auto;

        gap: 20px;

        align-content: center;

        padding: 30px 0 70px;
    }

    .td-content {
        order: 1;
    }

    .td-image {
        order: 2;

        height: 300px;

        border-radius: 25px 6px 25px 6px;
    }

    .td-content h1 {
        font-size: 35px;

        margin-bottom: 14px;
    }

    .td-content p {
        font-size: 13px;

        line-height: 1.6;
    }

    .td-extra {
        display: none;
    }

    .td-badge {
        margin-bottom: 13px;

        padding: 7px 11px;

        font-size: 9px;
    }

    .td-buttons {
        margin-top: 18px;
    }

    .td-btn {
        min-height: 46px;

        padding: 0 17px;

        font-size: 11px;
    }

    .td-image-box {
        left: 15px;
        bottom: 15px;

        width: calc(100% - 30px);

        padding: 12px 14px;
    }

    .td-image-box strong {
        font-size: 14px;
    }

    .td-image-box span {
        font-size: 10px;
    }

    .td-arrow {
        display: none;
    }

    .td-dots {
        left: 50%;
        bottom: 23px;

        transform: translateX(-50%);
    }

}


/* =========================================
   SMALL MOBILE
========================================== */

@media (max-width: 480px) {

    .td-hero {
        height: 700px;
    }

    .td-wrap {
        width: 91%;

        padding-top: 20px;
    }

    .td-content h1 {
        font-size: 30px;
    }

    .td-image {
        height: 260px;
    }

    .td-buttons {
        gap: 8px;
    }

}

/* =========================================================
   THODU-NEEDA HOME SECTIONS
========================================================= */

:root {
    --tn-purple: #42115f;
    --tn-purple-dark: #260635;
    --tn-purple-mid: #63227c;

    --tn-red: #e32736;
    --tn-red-light: #f45a66;

    --tn-white: #ffffff;
    --tn-soft: #faf7fb;
    --tn-soft-purple: #f4ecf7;

    --tn-text: #302735;
    --tn-grey: #726a77;

    --tn-border: rgba(66,17,95,.11);

    --tn-shadow:
        0 20px 55px rgba(49,14,63,.10);
}


/* COMMON */

.tn-home-container {
    width: min(92%, 1380px);
    margin: auto;
}

.tn-section-label {
    display: flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 13px;

    color: var(--tn-red);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.tn-section-label > span {
    width: 28px;
    height: 2px;

    background: var(--tn-red);
}

.tn-label-light {
    color: #ff9ea6;
}

.tn-label-light > span {
    background: #ff6d78;
}

.tn-center-label {
    justify-content: center;
}

.tn-center-heading {
    max-width: 850px;

    margin: 0 auto 42px;

    text-align: center;
}

.tn-center-heading h2,
.tn-programmes-top h2,
.tn-about-content h2,
.tn-founder-content h2,
.tn-companionship-content h2,
.tn-legal-main h2 {
    margin: 0;

    color: var(--tn-purple-dark);

    font-size: clamp(35px, 4vw, 52px);

    line-height: 1.12;

    font-weight: 800;

    letter-spacing: -1px;
}

.tn-center-heading h2 span,
.tn-programmes-top h2 span,
.tn-about-content h2 span,
.tn-companionship-content h2 span {
    color: var(--tn-red);
}

.tn-center-heading > p {
    max-width: 720px;

    margin: 16px auto 0;

    color: var(--tn-grey);

    font-size: 15px;
    line-height: 1.75;
}


/* BUTTON */

.tn-main-btn {
    min-height: 52px;

    padding: 0 23px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    border-radius: 50px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            #67217e
        );

    box-shadow:
        0 12px 28px rgba(66,17,95,.20);

    transition: .3s;
}

.tn-main-btn:hover {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tn-red),
            var(--tn-red-light)
        );

    transform: translateY(-3px);
}

.tn-main-btn i {
    transition: .3s;
}

.tn-main-btn:hover i {
    transform: translateX(4px);
}


/* =========================================================
   ABOUT
========================================================= */

.tn-about-section {
    padding: 85px 0;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #fcf9fd
        );
}

.tn-about-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    align-items: center;

    gap: 70px;
}

.tn-about-image {
    position: relative;

    height: 560px;
}

.tn-about-image > img {
    position: relative;
    z-index: 2;

    width: calc(100% - 25px);
    height: calc(100% - 25px);

    object-fit: cover;

    border-radius: 8px 55px 8px 55px;

    box-shadow: var(--tn-shadow);
}

.tn-about-image-border {
    position: absolute;

    right: 0;
    bottom: 0;

    width: calc(100% - 25px);
    height: calc(100% - 25px);

    border: 3px solid rgba(227,39,54,.45);

    border-radius: 8px 55px 8px 55px;
}

.tn-about-badge {
    position: absolute;

    z-index: 4;

    right: -30px;
    bottom: 55px;

    max-width: 285px;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 18px;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 15px 45px rgba(49,12,63,.16);
}

.tn-about-badge-icon {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            var(--tn-red)
        );
}

.tn-about-badge strong,
.tn-about-badge span {
    display: block;
}

.tn-about-badge strong {
    color: var(--tn-purple);

    font-size: 14px;
}

.tn-about-badge span {
    margin-top: 3px;

    color: var(--tn-grey);

    font-size: 11px;
}

.tn-about-content > p {
    margin: 15px 0 0;

    color: var(--tn-grey);

    font-size: 14px;
    line-height: 1.8;
}

.tn-about-highlight {
    margin: 24px 0;

    padding: 20px 22px;

    display: flex;

    gap: 16px;

    border-radius: 15px;

    background: var(--tn-soft-purple);

    border-left: 4px solid var(--tn-red);
}

.tn-about-highlight i {
    color: var(--tn-red);

    font-size: 22px;
}

.tn-about-highlight p {
    margin: 0;

    color: var(--tn-purple);

    font-size: 14px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================================
   PURPOSE
========================================================= */

.tn-purpose-section {
    padding: 75px 0;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(227,39,54,.18),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--tn-purple-dark),
            #451257 55%,
            #30103f
        );
}

.tn-purpose-heading {
    max-width: 850px;

    margin-bottom: 40px;
}

.tn-purpose-heading h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(35px, 4vw, 52px);

    line-height: 1.12;

    font-weight: 800;
}

.tn-purpose-heading h2 span {
    color: #ff727d;
}

.tn-purpose-heading > p {
    max-width: 680px;

    margin: 15px 0 0;

    color: rgba(255,255,255,.75);

    font-size: 15px;
    line-height: 1.7;
}

.tn-purpose-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    gap: 55px;
}

.tn-purpose-intro {
    padding: 30px;

    border-radius: 25px;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);
}

.tn-purpose-icon {
    width: 60px;
    height: 60px;

    margin-bottom: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    color: #ffffff;

    background: var(--tn-red);

    font-size: 24px;
}

.tn-purpose-intro h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-size: 25px;
}

.tn-purpose-intro p {
    margin: 10px 0 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;
    line-height: 1.75;
}

.tn-purpose-list {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 13px;
}

.tn-purpose-item {
    min-height: 70px;

    display: flex;
    align-items: center;

    gap: 13px;

    padding: 15px;

    border-radius: 14px;

    background: rgba(255,255,255,.07);

    border: 1px solid rgba(255,255,255,.10);
}

.tn-purpose-item i {
    width: 28px;
    height: 28px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: var(--tn-red);

    font-size: 10px;
}

.tn-purpose-item span {
    color: rgba(255,255,255,.88);

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   FOUNDER
========================================================= */

.tn-founder-section {
    padding: 85px 0;

    background: #ffffff;
}

.tn-founder-card {
    display: grid;
    grid-template-columns: .78fr 1.22fr;

    overflow: hidden;

    border-radius: 35px;

    background: var(--tn-soft);

    border: 1px solid var(--tn-border);

    box-shadow: var(--tn-shadow);
}

.tn-founder-image {
    position: relative;

    min-height: 620px;

    overflow: hidden;
}

.tn-founder-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.tn-founder-name {
    position: absolute;

    left: 25px;
    right: 25px;
    bottom: 25px;

    padding: 18px 20px;

    border-radius: 15px;

    color: #ffffff;

    background: rgba(42,6,56,.75);

    backdrop-filter: blur(10px);
}

.tn-founder-name small,
.tn-founder-name strong {
    display: block;
}

.tn-founder-name small {
    color: #ff99a2;

    font-size: 10px;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.tn-founder-name strong {
    margin-top: 5px;

    font-size: 17px;
}

.tn-founder-content {
    padding: 55px;
}

.tn-founder-content h4 {
    margin: 10px 0 20px;

    color: var(--tn-red);

    font-size: 15px;
}

.tn-founder-content > p {
    margin: 13px 0 0;

    color: var(--tn-grey);

    font-size: 14px;
    line-height: 1.8;
}

.tn-founder-education {
    margin: 22px 0;

    display: flex;
    flex-wrap: wrap;

    gap: 12px;
}

.tn-founder-education div {
    padding: 11px 14px;

    display: flex;
    align-items: center;

    gap: 9px;

    border-radius: 50px;

    color: var(--tn-purple);

    background: #ffffff;

    border: 1px solid var(--tn-border);

    font-size: 12px;
    font-weight: 600;
}

.tn-founder-education i {
    color: var(--tn-red);
}

.tn-founder-vision {
    margin: 24px 0;

    padding: 23px;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            #612178
        );
}

.tn-founder-vision span {
    color: #ffadb4;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.tn-founder-vision blockquote {
    margin: 10px 0 0;

    color: #ffffff;

    font-size: 15px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================================
   FOCUS
========================================================= */

.tn-focus-section {
    padding: 80px 0;

    background: var(--tn-soft);
}

.tn-focus-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    gap: 17px;
}

.tn-focus-card {
    position: relative;

    min-height: 330px;

    padding: 28px 22px;

    border-radius: 22px;

    background: #ffffff;

    border: 1px solid var(--tn-border);

    overflow: hidden;

    transition: .3s;
}

.tn-focus-card:hover {
    transform: translateY(-8px);

    box-shadow: var(--tn-shadow);
}

.tn-focus-number {
    position: absolute;

    top: 15px;
    right: 18px;

    color: rgba(66,17,95,.07);

    font-size: 50px;
    font-weight: 800;
}

.tn-focus-icon {
    width: 57px;
    height: 57px;

    margin-bottom: 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            var(--tn-red)
        );

    font-size: 20px;
}

.tn-focus-card h3 {
    margin: 0 0 12px;

    color: var(--tn-purple-dark);

    font-size: 18px;
    line-height: 1.35;
}

.tn-focus-card p {
    margin: 0;

    color: var(--tn-grey);

    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   PROGRAMMES
========================================================= */

.tn-programmes-section {
    padding: 80px 0;

    background: #ffffff;

    overflow: hidden;
}

.tn-programmes-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 35px;
}

.tn-programmes-top h2 {
    max-width: 760px;
}

.tn-programme-arrows {
    display: flex;

    gap: 9px;
}

.tn-programme-arrows button {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--tn-border);

    border-radius: 50%;

    cursor: pointer;

    color: var(--tn-purple);

    background: #ffffff;

    transition: .3s;
}

.tn-programme-arrows button:hover {
    color: #ffffff;

    background: var(--tn-red);

    border-color: var(--tn-red);
}

.tn-programme-slider {
    display: flex;

    gap: 18px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;

    padding: 5px 2px 22px;
}

.tn-programme-slider::-webkit-scrollbar {
    display: none;
}

.tn-programme-card {
    min-width: calc((100% - 36px) / 3);

    min-height: 330px;

    padding: 28px;

    border-radius: 23px;

    background:
        linear-gradient(
            145deg,
            #f9f5fa,
            #ffffff
        );

    border: 1px solid var(--tn-border);

    transition: .3s;
}

.tn-programme-card:hover {
    transform: translateY(-7px);

    box-shadow: var(--tn-shadow);
}

.tn-programme-no {
    color: var(--tn-red);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.2px;
}

.tn-programme-icon {
    width: 57px;
    height: 57px;

    margin: 19px 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    color: #ffffff;

    background: var(--tn-purple);

    font-size: 21px;
}

.tn-programme-card h3 {
    margin: 0 0 12px;

    color: var(--tn-purple-dark);

    font-size: 20px;
    line-height: 1.35;
}

.tn-programme-card p {
    margin: 0;

    color: var(--tn-grey);

    font-size: 13px;
    line-height: 1.7;
}

.tn-programme-card > a {
    margin-top: 20px;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: var(--tn-red);

    font-size: 12px;
    font-weight: 700;
}

.tn-programme-bottom {
    margin-top: 25px;

    text-align: center;
}


/* =========================================================
   WHY
========================================================= */

.tn-why-section {
    padding: 80px 0;

    background:
        linear-gradient(
            135deg,
            #fbf8fc,
            #f4ecf7
        );
}

.tn-why-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    gap: 15px;
}

.tn-why-card {
    padding: 28px 20px;

    border-radius: 20px;

    text-align: center;

    background: #ffffff;

    border: 1px solid var(--tn-border);
}

.tn-why-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 19px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            var(--tn-red)
        );

    font-size: 20px;
}

.tn-why-card h3 {
    margin: 0 0 10px;

    color: var(--tn-purple);

    font-size: 16px;
}

.tn-why-card p {
    margin: 0;

    color: var(--tn-grey);

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   COMPANIONSHIP
========================================================= */

.tn-companionship-section {
    padding: 85px 0;

    background: #ffffff;
}

.tn-companionship-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 65px;
}

.tn-companionship-content > p {
    margin: 14px 0 0;

    color: var(--tn-grey);

    font-size: 14px;
    line-height: 1.75;
}

.tn-companionship-content h4 {
    margin: 20px 0 4px;

    color: var(--tn-red);

    font-size: 18px;
}

.tn-benefit-grid {
    margin: 26px 0;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 12px;
}

.tn-benefit {
    padding: 14px;

    display: flex;

    gap: 12px;

    border-radius: 14px;

    background: var(--tn-soft);

    border: 1px solid var(--tn-border);
}

.tn-benefit > i {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    color: #ffffff;

    background: var(--tn-purple);
}

.tn-benefit strong,
.tn-benefit span {
    display: block;
}

.tn-benefit strong {
    color: var(--tn-purple-dark);

    font-size: 13px;
}

.tn-benefit span {
    margin-top: 3px;

    color: var(--tn-grey);

    font-size: 11px;
    line-height: 1.5;
}

.tn-happiness-line {
    margin: 25px 0;

    color: var(--tn-red);

    font-size: 23px;
    font-weight: 800;
}

.tn-companionship-image {
    position: relative;

    height: 580px;
}

.tn-companionship-image > img {
    width: 100%;
    height: 100%;

/*    object-fit: cover;*/

    border-radius: 50px 8px 50px 8px;

    box-shadow: var(--tn-shadow);
}

.tn-companionship-floating {
    position: absolute;

    left: -35px;
    bottom: 45px;

    min-width: 250px;

    display: flex;
    align-items: center;

    gap: 13px;

    padding: 17px;

    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 15px 40px rgba(45,11,58,.16);
}

.tn-companionship-floating > i {
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: var(--tn-red);
}

.tn-companionship-floating strong,
.tn-companionship-floating span {
    display: block;
}

.tn-companionship-floating strong {
    color: var(--tn-purple);

    font-size: 14px;
}

.tn-companionship-floating span {
    margin-top: 3px;

    color: var(--tn-grey);

    font-size: 10px;
}


/* =========================================================
   LEGAL
========================================================= */

.tn-legal-section {
    position: relative;

    padding: 80px 0;

    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #270638,
            #47125a 60%,
            #331041
        );
}

.tn-legal-section::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    top: -280px;
    right: -120px;

    background: rgba(227,39,54,.13);
}

.tn-legal-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 55px;
}

.tn-legal-main h2 {
    color: #ffffff;
}

.tn-legal-main h2 span {
    color: #ff7c86;
}

.tn-legal-main p {
    max-width: 700px;

    margin: 15px 0 0;

    color: rgba(255,255,255,.75);

    font-size: 14px;
    line-height: 1.8;
}

.tn-legal-main strong {
    color: #ffffff;
}

.tn-white-btn {
    min-height: 51px;

    margin-top: 26px;

    padding: 0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    border-radius: 50px;

    color: var(--tn-purple);

    background: #ffffff;

    font-size: 13px;
    font-weight: 700;

    transition: .3s;
}

.tn-white-btn:hover {
    color: #ffffff;

    background: var(--tn-red);

    transform: translateY(-3px);
}

.tn-legal-support-box {
    padding: 32px;

    border-radius: 25px;

    background: rgba(255,255,255,.09);

    border: 1px solid rgba(255,255,255,.13);

    backdrop-filter: blur(10px);
}

.tn-legal-small-title {
    color: #ff9da5;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.tn-legal-support-box h3 {
    margin: 8px 0 20px;

    color: #ffffff;

    font-size: 24px;
}

.tn-legal-support-box ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.tn-legal-support-box li {
    padding: 12px 0;

    display: flex;

    align-items: center;

    gap: 11px;

    color: rgba(255,255,255,.83);

    border-bottom: 1px solid rgba(255,255,255,.09);

    font-size: 13px;
}

.tn-legal-support-box li:last-child {
    border-bottom: 0;
}

.tn-legal-support-box li i {
    width: 25px;
    height: 25px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: var(--tn-red);

    font-size: 9px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1180px) {

    .tn-focus-grid,
    .tn-why-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 991px) {

    .tn-about-grid,
    .tn-purpose-layout,
    .tn-companionship-grid,
    .tn-legal-grid {
        grid-template-columns: 1fr;
    }

    .tn-about-grid,
    .tn-companionship-grid {
        gap: 45px;
    }

    .tn-about-image {
        height: 500px;
    }

    .tn-about-badge {
        right: 20px;
    }

    .tn-founder-card {
        grid-template-columns: 1fr;
    }

    .tn-founder-image {
        min-height: 500px;
        max-height: 520px;
    }

    .tn-founder-content {
        padding: 40px;
    }

    .tn-programme-card {
        min-width: calc((100% - 18px) / 2);
    }

    .tn-companionship-image {
        height: 480px;
    }

    .tn-companionship-floating {
        left: 25px;
    }

}


@media (max-width: 767px) {

    .tn-about-section,
    .tn-founder-section,
    .tn-focus-section,
    .tn-programmes-section,
    .tn-why-section,
    .tn-companionship-section,
    .tn-purpose-section,
    .tn-legal-section {
        padding: 55px 0;
    }

    .tn-home-container {
        width: 90%;
    }

    .tn-about-content h2,
    .tn-center-heading h2,
    .tn-programmes-top h2,
    .tn-founder-content h2,
    .tn-companionship-content h2,
    .tn-legal-main h2,
    .tn-purpose-heading h2 {
        font-size: 33px;
    }

    .tn-about-image {
        height: 410px;
    }

    .tn-about-badge {
        right: 12px;
        bottom: 20px;

        max-width: 240px;

        padding: 14px;
    }

    .tn-purpose-list {
        grid-template-columns: 1fr;
    }

    .tn-founder-content {
        padding: 28px 22px;
    }

    .tn-founder-image {
        min-height: 400px;
    }

    .tn-focus-grid,
    .tn-why-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tn-programmes-top {
        align-items: flex-start;
    }

    .tn-programme-card {
        min-width: 82%;
    }

    .tn-benefit-grid {
        grid-template-columns: 1fr;
    }

    .tn-companionship-image {
        height: 400px;
    }

}


@media (max-width: 520px) {

    .tn-focus-grid,
    .tn-why-grid {
        grid-template-columns: 1fr;
    }

    .tn-focus-card {
        min-height: auto;
    }

    .tn-programme-arrows {
        display: none;
    }

    .tn-programme-card {
        min-width: 90%;
    }

    .tn-founder-education {
        display: grid;
    }

    .tn-companionship-image {
        height: 330px;
    }

    .tn-companionship-floating {
        left: 15px;
        right: 15px;
        bottom: 15px;

        min-width: 0;
    }

    .tn-happiness-line {
        font-size: 19px;
    }

}	

/* ==========================================================
   THODU-NEEDA COMPACT PREMIUM SECTIONS
========================================================== */

:root {
    --tnsc-purple: #42115f;
    --tnsc-dark: #270638;
    --tnsc-deep: #190323;
    --tnsc-purple2: #68217f;

    --tnsc-red: #e32736;
    --tnsc-red2: #f35663;

    --tnsc-white: #ffffff;
    --tnsc-soft: #faf7fb;
    --tnsc-soft2: #f4ecf6;

    --tnsc-text: #302735;
    --tnsc-muted: #746d79;

    --tnsc-border: rgba(66, 17, 95, .11);

    --tnsc-shadow:
        0 18px 45px rgba(44, 8, 57, .10);
}


.tnsc-page * {
    box-sizing: border-box;
}

.tnsc-container {
    width: min(92%, 1380px);
    margin: auto;
}


/* ==========================================================
   COMMON HEADINGS
========================================================== */

.tnsc-kicker {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 10px;

    color: var(--tnsc-red);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.4px;

    text-transform: uppercase;
}

.tnsc-kicker i {
    font-size: 12px;
}

.tnsc-kicker-light {
    color: #ff9ca5;
}


.tnsc-heading h2,
.tnsc-impact-head h2,
.tnsc-story-intro h2,
.tnsc-gallery-head h2,
.tnsc-video-head h2,
.tnsc-media-copy h2 {
    margin: 0;

    color: var(--tnsc-dark);

    font-size: clamp(31px, 3vw, 44px);

    line-height: 1.1;

    font-weight: 800;

    letter-spacing: -1px;
}

.tnsc-heading h2 span,
.tnsc-impact-head h2 span,
.tnsc-story-intro h2 span,
.tnsc-gallery-head h2 span,
.tnsc-video-head h2 span {
    color: var(--tnsc-red);
}


.tnsc-heading > p {
    max-width: 700px;

    margin: 11px 0 0;

    color: var(--tnsc-muted);

    font-size: 14px;
    line-height: 1.7;
}


.tnsc-heading-light h2 {
    color: #fff;
}

.tnsc-heading-light h2 span {
    color: #ff7c87;
}

.tnsc-heading-light > p {
    color: rgba(255,255,255,.72);
}


/* ==========================================================
   SOCIAL COMMITMENT
========================================================== */

.tnsc-social {
    padding: 60px 0;

    background:
        radial-gradient(
            circle at 90% 0,
            rgba(227,39,54,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--tnsc-dark),
            #49125b
        );
}


.tnsc-social .tnsc-heading {
    margin-bottom: 28px;
}


.tnsc-social-layout {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 35px;

    align-items: stretch;
}


/* IMAGE */

.tnsc-social-image {
    position: relative;

    height: 340px;

    overflow: hidden;

    border-radius: 26px 6px 26px 6px;

    background: #351045;
}

.tnsc-social-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: opacity .35s ease;
}

.tnsc-image-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 35%,
            rgba(28,3,38,.77) 100%
        );
}


.tnsc-photo-label {
    position: absolute;

    left: 20px;
    right: 20px;
    bottom: 18px;

    z-index: 2;

    display: flex;
    align-items: center;

    gap: 12px;
}

.tnsc-photo-label > i {
    width: 45px;
    height: 45px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #fff;

    background: var(--tnsc-red);
}

.tnsc-photo-label strong,
.tnsc-photo-label small {
    display: block;
}

.tnsc-photo-label strong {
    color: #fff;

    font-size: 15px;
}

.tnsc-photo-label small {
    margin-top: 2px;

    color: rgba(255,255,255,.70);

    font-size: 10px;
}


/* SOCIAL CARDS */

.tnsc-social-slider-wrap {
    min-width: 0;
}

.tnsc-social-slider {
    position: relative;

    height: 220px;
}

.tnsc-social-slide {
    position: absolute;

    inset: 0;

    padding: 26px;

    border-radius: 22px;

    background: rgba(255,255,255,.09);

    border: 1px solid rgba(255,255,255,.12);

    opacity: 0;
    visibility: hidden;

    transform: translateX(35px);

    transition: .4s;
}

.tnsc-social-slide.active {
    opacity: 1;
    visibility: visible;

    transform: translateX(0);
}


.tnsc-slide-no {
    position: absolute;

    top: 15px;
    right: 20px;

    color: rgba(255,255,255,.08);

    font-size: 45px;
    font-weight: 800;
}


.tnsc-social-icon {
    width: 49px;
    height: 49px;

    margin-bottom: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--tnsc-red),
            #ff6b76
        );
}


.tnsc-social-slide h3 {
    margin: 0 0 8px;

    color: #fff;

    font-size: 20px;
}

.tnsc-social-slide p {
    max-width: 580px;

    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;
    line-height: 1.7;
}


/* CONTROLS */

.tnsc-social-controls {
    margin-top: 13px;

    display: flex;
    align-items: center;

    gap: 13px;
}

.tnsc-social-controls button,
.tnsc-mini-controls button,
.tnsc-story-nav button,
.tnsc-gallery-arrows button {
    width: 40px;
    height: 40px;

    border: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    cursor: pointer;

    transition: .3s;
}

.tnsc-social-controls button {
    color: var(--tnsc-purple);

    background: #fff;
}

.tnsc-social-controls button:hover {
    color: #fff;

    background: var(--tnsc-red);
}


.tnsc-social-count {
    display: flex;
    align-items: center;

    gap: 8px;

    color: rgba(255,255,255,.60);

    font-size: 11px;
}

.tnsc-social-count > span:first-child {
    color: #fff;

    font-size: 15px;
    font-weight: 700;
}

.tnsc-social-count em {
    width: 40px;
    height: 1px;

    background: rgba(255,255,255,.28);
}


/* QUOTE */

.tnsc-belief {
    margin-top: 14px;

    display: flex;
    align-items: center;

    gap: 12px;

    color: #fff;
}

.tnsc-belief i {
    color: #ff7b85;

    font-size: 17px;
}

.tnsc-belief p {
    margin: 0;

    color: rgba(255,255,255,.82);

    font-size: 12px;
    font-weight: 600;

    font-style: italic;
}


/* ==========================================================
   IMPACT
========================================================== */

.tnsc-impact {
    padding: 56px 0;

    background: var(--tnsc-soft);
}

.tnsc-impact-head {
    margin-bottom: 25px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;
}


.tnsc-mini-controls {
    display: flex;

    gap: 8px;
}

.tnsc-mini-controls button {
    color: var(--tnsc-purple);

    background: #fff;

    border: 1px solid var(--tnsc-border);
}

.tnsc-mini-controls button:hover {
    color: #fff;

    background: var(--tnsc-red);
}


/* TRACK */

.tnsc-impact-track {
    display: flex;

    gap: 14px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;
}

.tnsc-impact-track::-webkit-scrollbar {
    display: none;
}

.tnsc-impact-card {
    position: relative;

    min-width: calc((100% - 56px) / 5);

    padding: 22px 17px;

    overflow: hidden;

    border-radius: 18px;

    background: #fff;

    border: 1px solid var(--tnsc-border);

    transition: .3s;
}

.tnsc-impact-card:hover {
    transform: translateY(-5px);

    box-shadow: var(--tnsc-shadow);
}

.tnsc-impact-card > span {
    position: absolute;

    right: 12px;
    top: 8px;

    color: rgba(66,17,95,.06);

    font-size: 36px;
    font-weight: 800;
}

.tnsc-impact-card > i {
    width: 44px;
    height: 44px;

    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--tnsc-purple),
            var(--tnsc-red)
        );
}

.tnsc-impact-card h3 {
    margin: 0 0 7px;

    color: var(--tnsc-purple);

    font-size: 15px;
}

.tnsc-impact-card p {
    margin: 0;

    color: var(--tnsc-muted);

    font-size: 11px;
    line-height: 1.65;
}


/* ==========================================================
   STORIES
========================================================== */

.tnsc-stories {
    padding: 58px 0 36px;

    background: #fff;
}


.tnsc-story-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 45px;

    align-items: center;
}


.tnsc-story-intro > p {
    max-width: 480px;

    margin: 12px 0 0;

    color: var(--tnsc-muted);

    font-size: 13px;
    line-height: 1.7;
}


.tnsc-story-nav {
    margin-top: 19px;

    display: flex;

    gap: 8px;
}

.tnsc-story-nav button {
    color: #fff;

    background: var(--tnsc-purple);
}

.tnsc-story-nav button:hover {
    background: var(--tnsc-red);
}


/* STORY SLIDER */

.tnsc-story-slider {
    position: relative;

    height: 230px;
}

.tnsc-story {
    position: absolute;

    inset: 0;

    padding: 28px 30px;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            #f8f1fa,
            #fff
        );

    border: 1px solid var(--tnsc-border);

    opacity: 0;
    visibility: hidden;

    transform: translateY(15px);

    transition: .4s;
}

.tnsc-story.active {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.tnsc-story > i {
    color: var(--tnsc-red);

    font-size: 27px;
}

.tnsc-story > p {
    max-width: 720px;

    margin: 12px 0 20px;

    color: var(--tnsc-purple);

    font-size: 17px;
    line-height: 1.65;

    font-weight: 600;
}


.tnsc-story-person {
    display: flex;
    align-items: center;

    gap: 11px;
}

.tnsc-avatar {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--tnsc-purple),
            var(--tnsc-red)
        );
}

.tnsc-story-person strong,
.tnsc-story-person span {
    display: block;
}

.tnsc-story-person strong {
    color: var(--tnsc-dark);

    font-size: 12px;
}

.tnsc-story-person span {
    color: var(--tnsc-muted);

    font-size: 10px;
}


.tnsc-sample-note {
    width: min(92%, 1380px);

    margin: 18px auto 0;

    padding: 10px 15px;

    border-radius: 10px;

    color: #776f7b;

    background: #faf7fb;

    border: 1px solid var(--tnsc-border);

    font-size: 18px;
}

.tnsc-sample-note i {
    margin-right: 6px;

    color: var(--tnsc-red);
}


/* ==========================================================
   GALLERY
========================================================== */

.tnsc-gallery {
    padding: 58px 0;

    background: var(--tnsc-soft);
}

.tnsc-gallery-head,
.tnsc-video-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 25px;
}


.tnsc-text-link {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: var(--tnsc-purple);

    font-size: 12px;
    font-weight: 700;
}

.tnsc-text-link:hover {
    color: var(--tnsc-red);
}


/* GALLERY TRACK */

.tnsc-gallery-slider {
    display: flex;

    gap: 13px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;
}

.tnsc-gallery-slider::-webkit-scrollbar {
    display: none;
}

.tnsc-gallery-card {
    position: relative;

    min-width: calc((100% - 39px) / 4);

    height: 230px;

    overflow: hidden;

    border-radius: 17px;

    background: #ddd;
}

.tnsc-gallery-card::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            transparent 40%,
            rgba(29,4,40,.87) 100%
        );
}

.tnsc-gallery-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .6s;
}

.tnsc-gallery-card:hover img {
    transform: scale(1.08);
}

.tnsc-gallery-card > div {
    position: absolute;

    z-index: 2;

    left: 17px;
    right: 17px;
    bottom: 14px;
}

.tnsc-gallery-card span,
.tnsc-gallery-card strong {
    display: block;
}

.tnsc-gallery-card span {
    color: #ff9ca5;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.tnsc-gallery-card strong {
    margin-top: 2px;

    color: #fff;

    font-size: 15px;
}


.tnsc-gallery-arrows {
    margin-top: 17px;

    display: flex;
    justify-content: center;

    gap: 8px;
}

.tnsc-gallery-arrows button {
    color: #fff;

    background: var(--tnsc-purple);
}

.tnsc-gallery-arrows button:hover {
    background: var(--tnsc-red);
}


/* ==========================================================
   VIDEOS
========================================================== */

.tnsc-videos {
    padding: 55px 0;

    background: #fff;
}


.tnsc-video-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 16px;
}

.tnsc-video-card {
    position: relative;

    height: 235px;

    overflow: hidden;

    border-radius: 18px;

    background: #ddd;
}

.tnsc-video-card::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(20,2,28,.05),
            rgba(30,4,41,.72)
        );
}

.tnsc-video-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .5s;
}

.tnsc-video-card:hover img {
    transform: scale(1.06);
}


.tnsc-play {
    position: absolute;

    z-index: 3;

    top: 50%;
    left: 50%;

    width: 50px;
    height: 50px;

    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #fff;

    background: var(--tnsc-red);

    box-shadow:
        0 10px 30px rgba(227,39,54,.35);

    transition: .3s;
}

.tnsc-video-card:hover .tnsc-play {
    transform:
        translate(-50%, -50%)
        scale(1.1);
}


.tnsc-video-card > strong {
    position: absolute;

    z-index: 3;

    left: 16px;
    bottom: 14px;

    color: #fff;

    font-size: 13px;
}


/* ==========================================================
   MEDIA & RECOGNITION
========================================================== */

.tnsc-media {
    padding: 60px 0;

    color: #fff;

    background:
        radial-gradient(
            circle at 80% 0,
            rgba(227,39,54,.19),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--tnsc-deep),
            #3f0d50 55%,
            #531366
        );
}


.tnsc-media-layout {
    display: grid;

    grid-template-columns: 1.05fr .95fr;

    gap: 50px;

    align-items: center;
}


.tnsc-media-copy h2 {
    color: #fff;
}

.tnsc-media-copy h2 span {
    color: #ff7d88;
}

.tnsc-media-copy p {
    max-width: 700px;

    margin: 13px 0 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;
    line-height: 1.75;
}

.tnsc-media-copy strong {
    color: #fff;
}


.tnsc-white-btn {
    min-height: 48px;

    margin-top: 22px;

    padding: 0 21px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    border-radius: 50px;

    color: var(--tnsc-purple);

    background: #fff;

    font-size: 12px;
    font-weight: 700;

    transition: .3s;
}

.tnsc-white-btn:hover {
    color: #fff;

    background: var(--tnsc-red);

    transform: translateY(-2px);
}


/* RECOGNITION CARDS */

.tnsc-media-cards {
    display: grid;

    gap: 11px;
}

.tnsc-recognition-card {
    min-height: 82px;

    padding: 14px 16px;

    display: flex;
    align-items: center;

    gap: 14px;

    border-radius: 16px;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);
}

.tnsc-recognition-card > i {
    width: 45px;
    height: 45px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #fff;

    background: var(--tnsc-red);

    font-size: 17px;
}

.tnsc-recognition-card small,
.tnsc-recognition-card strong,
.tnsc-recognition-card span {
    display: block;
}

.tnsc-recognition-card small {
    color: #ff9ca5;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1px;
}

.tnsc-recognition-card strong {
    margin-top: 2px;

    color: #fff;

    font-size: 14px;
}

.tnsc-recognition-card span {
    margin-top: 2px;

    color: rgba(255,255,255,.60);

    font-size: 10px;
}

.tnsc-recognition-featured {
    background:
        linear-gradient(
            135deg,
            rgba(227,39,54,.22),
            rgba(255,255,255,.08)
        );
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .tnsc-social-layout,
    .tnsc-story-grid,
    .tnsc-media-layout {
        grid-template-columns: 1fr;
    }

    .tnsc-social-image {
        height: 300px;
    }

    .tnsc-social-slider {
        height: 210px;
    }

    .tnsc-impact-card {
        min-width: calc((100% - 28px) / 3);
    }

    .tnsc-story-grid {
        gap: 25px;
    }

    .tnsc-gallery-card {
        min-width: calc((100% - 26px) / 3);
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .tnsc-social,
    .tnsc-impact,
    .tnsc-stories,
    .tnsc-gallery,
    .tnsc-videos,
    .tnsc-media {
        padding: 45px 0;
    }


    .tnsc-container {
        width: 90%;
    }


    .tnsc-heading h2,
    .tnsc-impact-head h2,
    .tnsc-story-intro h2,
    .tnsc-gallery-head h2,
    .tnsc-video-head h2,
    .tnsc-media-copy h2 {
        font-size: 31px;
    }


    .tnsc-social-image {
        height: 255px;
    }


    .tnsc-social-slider {
        height: 230px;
    }

    .tnsc-social-slide {
        padding: 22px 18px;
    }


    .tnsc-impact-head,
    .tnsc-gallery-head,
    .tnsc-video-head {
        align-items: flex-start;

        flex-direction: column;
    }


    .tnsc-impact-card {
        min-width: 74%;
    }


    .tnsc-story-slider {
        height: 250px;
    }

    .tnsc-story {
        padding: 23px 20px;
    }

    .tnsc-story > p {
        font-size: 15px;
    }


    .tnsc-gallery-card {
        min-width: 75%;

        height: 220px;
    }


    .tnsc-video-grid {
        grid-template-columns: 1fr;
    }

    .tnsc-video-card {
        height: 220px;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 480px) {

    .tnsc-heading h2,
    .tnsc-impact-head h2,
    .tnsc-story-intro h2,
    .tnsc-gallery-head h2,
    .tnsc-video-head h2,
    .tnsc-media-copy h2 {
        font-size: 27px;
    }


    .tnsc-social-image {
        height: 220px;
    }


    .tnsc-social-slider {
        height: 245px;
    }


    .tnsc-social-slide h3 {
        font-size: 17px;
    }


    .tnsc-impact-card {
        min-width: 86%;
    }


    .tnsc-gallery-card {
        min-width: 86%;
    }


    .tnsc-story-slider {
        height: 275px;
    }


    .tnsc-belief p {
        font-size: 10px;
    }

}

/* =========================================================
   THODU-NEEDA CTA / INVOLVED / CONTACT
========================================================= */

:root {
    --tnc-purple: #42115f;
    --tnc-purple-dark: #250633;
    --tnc-purple-mid: #64207c;

    --tnc-red: #e32736;
    --tnc-red-light: #f35c68;

    --tnc-white: #ffffff;
    --tnc-soft: #faf7fb;
    --tnc-soft-purple: #f5edf7;

    --tnc-text: #302735;
    --tnc-muted: #746d79;

    --tnc-border: rgba(66,17,95,.11);

    --tnc-shadow:
        0 18px 48px rgba(48,10,61,.11);
}


.tn-connect-section {
    padding: 58px 0;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #faf7fb 55%,
            #ffffff 100%
        );
}


.tn-connect-container {
    width: min(92%, 1380px);

    margin: auto;
}


/* =========================================================
   COMMON
========================================================= */

.tn-connect-kicker {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 10px;

    color: var(--tnc-red);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.4px;

    text-transform: uppercase;
}


.tn-connect-kicker i {
    font-size: 12px;
}


.tn-kicker-light {
    color: #ffabb3;
}


.tn-connect-section h2 {
    margin: 0;

    color: var(--tnc-purple-dark);

    font-size: clamp(30px, 3vw, 43px);

    line-height: 1.12;

    font-weight: 800;

    letter-spacing: -1px;
}


.tn-connect-section h2 span {
    color: var(--tnc-red);
}


/* =========================================================
   CTA
========================================================= */

.tn-cta-box {
    min-height: 365px;

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    overflow: hidden;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #2a0739,
            #4a145e 70%,
            #5e1d72
        );

    box-shadow:
        0 24px 60px rgba(43,6,56,.18);
}


.tn-cta-content {
    padding: 45px;
}


.tn-cta-content h2 {
    max-width: 720px;

    color: #ffffff;
}


.tn-cta-content h2 span {
    display: block;

    color: #ff7c87;
}


.tn-cta-content p {
    max-width: 720px;

    margin: 13px 0 0;

    color: rgba(255,255,255,.76);

    font-size: 14px;

    line-height: 1.75;
}


.tn-cta-buttons {
    margin-top: 24px;

    display: flex;

    flex-wrap: wrap;

    gap: 11px;
}


.tn-cta-primary,
.tn-cta-secondary {
    min-height: 49px;

    padding: 0 21px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border-radius: 50px;

    font-size: 12px;

    font-weight: 700;

    transition: .3s;
}


.tn-cta-primary {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tnc-red),
            var(--tnc-red-light)
        );

    box-shadow:
        0 11px 28px rgba(227,39,54,.28);
}


.tn-cta-primary:hover {
    color: #ffffff;

    transform: translateY(-3px);
}


.tn-cta-secondary {
    color: #ffffff;

    border: 1px solid rgba(255,255,255,.35);

    background: rgba(255,255,255,.08);
}


.tn-cta-secondary:hover {
    color: var(--tnc-purple);

    background: #ffffff;

    transform: translateY(-3px);
}


/* IMAGE */

.tn-cta-image {
    position: relative;

    min-height: 365px;
}


.tn-cta-image img {
    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;
}


.tn-cta-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(35,5,46,.08),
            rgba(31,4,41,.72)
        );
}


.tn-cta-image-caption {
    position: absolute;

    left: 22px;

    right: 22px;

    bottom: 20px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 14px 16px;

    border-radius: 15px;

    color: #ffffff;

    background: rgba(35,5,46,.58);

    border: 1px solid rgba(255,255,255,.16);

    backdrop-filter: blur(10px);
}


.tn-cta-image-caption > i {
    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 12px;

    background: var(--tnc-red);
}


.tn-cta-image-caption strong,
.tn-cta-image-caption span {
    display: block;
}


.tn-cta-image-caption strong {
    font-size: 13px;
}


.tn-cta-image-caption span {
    margin-top: 2px;

    color: rgba(255,255,255,.72);

    font-size: 10px;
}


/* =========================================================
   GET INVOLVED
========================================================= */

.tn-involved-section {
    margin-top: 55px;
}


.tn-involved-head {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 24px;
}


.tn-involved-head > div:first-child {
    max-width: 860px;
}


.tn-involved-head p {
    margin: 10px 0 0;

    color: var(--tnc-muted);

    font-size: 13px;

    line-height: 1.7;
}


.tn-involved-controls {
    display: flex;

    gap: 8px;
}


.tn-involved-controls button {
    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid var(--tnc-border);

    border-radius: 50%;

    color: var(--tnc-purple);

    background: #ffffff;

    cursor: pointer;

    transition: .3s;
}


.tn-involved-controls button:hover {
    color: #ffffff;

    background: var(--tnc-red);

    border-color: var(--tnc-red);
}


/* SLIDER */

.tn-involved-slider {
    display: flex;

    gap: 14px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;

    padding: 4px 2px 18px;
}


.tn-involved-slider::-webkit-scrollbar {
    display: none;
}


.tn-involved-card {
    min-width: calc((100% - 56px) / 5);

    padding: 20px 17px;

    border-radius: 18px;

    background: #ffffff;

    border: 1px solid var(--tnc-border);

    transition: .3s;
}


.tn-involved-card:hover {
    transform: translateY(-5px);

    box-shadow: var(--tnc-shadow);
}


.tn-involved-icon {
    width: 45px;

    height: 45px;

    margin-bottom: 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 13px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tnc-purple),
            var(--tnc-red)
        );
}


.tn-involved-card h3 {
    margin: 0 0 8px;

    color: var(--tnc-purple-dark);

    font-size: 15px;

    line-height: 1.35;
}


.tn-involved-card p {
    margin: 0;

    color: var(--tnc-muted);

    font-size: 11px;

    line-height: 1.65;
}


.tn-involved-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-top: 10px;
}


.tn-involved-note {
    max-width: 780px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 15px;

    border-radius: 13px;

    background: var(--tnc-soft-purple);
}


.tn-involved-note i {
    color: var(--tnc-red);
}


.tn-involved-note p {
    margin: 0;

    color: var(--tnc-purple);

    font-size: 11px;

    font-weight: 600;

    line-height: 1.6;
}


.tn-connect-main-btn {
    min-height: 49px;

    padding: 0 21px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border-radius: 50px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tnc-purple),
            var(--tnc-purple-mid)
        );

    font-size: 12px;

    font-weight: 700;

    transition: .3s;
}


.tn-connect-main-btn:hover {
    color: #ffffff;

    background: var(--tnc-red);

    transform: translateY(-2px);
}


/* =========================================================
   CONTACT
========================================================= */

.tn-contact-panel {
    margin-top: 55px;

    display: grid;

    grid-template-columns: .85fr 1.15fr;

    overflow: hidden;

    border-radius: 30px;

    box-shadow: var(--tnc-shadow);
}


/* LEFT */

.tn-contact-info-box {
    padding: 40px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(227,39,54,.22),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--tnc-purple-dark),
            #4c145f
        );
}


.tn-contact-info-box h2 {
    color: #ffffff;
}


.tn-contact-info-box h2 span {
    display: block;

    color: #ff7d87;
}


.tn-contact-info-box > p {
    margin: 11px 0 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;

    line-height: 1.7;
}


.tn-contact-mini-grid {
    margin-top: 25px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;
}


.tn-contact-mini-card {
    min-height: 72px;

    padding: 12px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 14px;

    color: #ffffff;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);
}


.tn-contact-mini-card > i {
    width: 36px;

    height: 36px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background: var(--tnc-red);
}


.tn-contact-mini-card span,
.tn-contact-mini-card strong {
    display: block;
}


.tn-contact-mini-card span {
    color: rgba(255,255,255,.58);

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: .6px;
}


.tn-contact-mini-card strong {
    margin-top: 2px;

    color: #ffffff;

    font-size: 11px;

    line-height: 1.35;
}


/* FORM */

.tn-enquiry-form-box {
    padding: 38px;

    background: #ffffff;
}


.tn-form-heading > span {
    color: var(--tnc-red);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.4px;
}


.tn-form-heading h3 {
    margin: 5px 0 22px;

    color: var(--tnc-purple-dark);

    font-size: 24px;
}


.tn-form-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 13px;
}


.tn-form-full {
    grid-column: 1 / -1;
}


.tn-form-group label {
    display: block;

    margin-bottom: 6px;

    color: var(--tnc-purple-dark);

    font-size: 11px;

    font-weight: 600;
}


.tn-input-wrap {
    position: relative;
}


.tn-input-wrap > i {
    position: absolute;

    left: 14px;

    top: 50%;

    transform: translateY(-50%);

    color: var(--tnc-red);

    font-size: 12px;

    pointer-events: none;
}


.tn-input-wrap input,
.tn-input-wrap select,
.tn-input-wrap textarea {
    width: 100%;

    border: 1px solid var(--tnc-border);

    border-radius: 12px;

    outline: 0;

    color: var(--tnc-text);

    background: #fbf9fc;

    font-family: inherit;

    font-size: 12px;

    transition: .3s;
}


.tn-input-wrap input,
.tn-input-wrap select {
    height: 46px;

    padding: 0 14px 0 40px;
}


.tn-input-wrap textarea {
    min-height: 95px;

    padding: 13px 14px 13px 40px;

    resize: vertical;
}


.tn-textarea-wrap > i {
    top: 17px;

    transform: none;
}


.tn-input-wrap input:focus,
.tn-input-wrap select:focus,
.tn-input-wrap textarea:focus {
    border-color: rgba(66,17,95,.45);

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(66,17,95,.06);
}


.tn-submit-btn {
    min-height: 49px;

    margin-top: 18px;

    padding: 0 22px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border: 0;

    border-radius: 50px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--tnc-red),
            var(--tnc-red-light)
        );

    font-family: inherit;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 10px 24px rgba(227,39,54,.23);

    transition: .3s;
}


.tn-submit-btn:hover {
    transform: translateY(-2px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .tn-involved-card {
        min-width: calc((100% - 28px) / 3);
    }

}


@media (max-width: 991px) {

    .tn-cta-box,
    .tn-contact-panel {
        grid-template-columns: 1fr;
    }


    .tn-cta-image {
        min-height: 300px;
    }


    .tn-contact-mini-grid {
        grid-template-columns: repeat(4, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .tn-connect-section {
        padding: 45px 0;
    }


    .tn-connect-container {
        width: 90%;
    }


    .tn-connect-section h2 {
        font-size: 31px;
    }


    .tn-cta-content {
        padding: 30px 22px;
    }


    .tn-cta-image {
        min-height: 250px;
    }


    .tn-involved-section,
    .tn-contact-panel {
        margin-top: 42px;
    }


    .tn-involved-head {
        align-items: flex-start;

        flex-direction: column;
    }


    .tn-involved-card {
        min-width: 74%;
    }


    .tn-involved-bottom {
        align-items: stretch;

        flex-direction: column;
    }


    .tn-connect-main-btn {
        align-self: flex-start;
    }


    .tn-contact-info-box,
    .tn-enquiry-form-box {
        padding: 28px 22px;
    }


    .tn-contact-mini-grid {
        grid-template-columns: 1fr 1fr;
    }


    .tn-form-grid {
        grid-template-columns: 1fr;
    }


    .tn-form-full {
        grid-column: auto;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .tn-connect-section h2 {
        font-size: 27px;
    }


    .tn-cta-buttons {
        gap: 8px;
    }


    .tn-cta-primary,
    .tn-cta-secondary {
        min-height: 46px;

        padding: 0 16px;

        font-size: 11px;
    }


    .tn-involved-card {
        min-width: 86%;
    }


    .tn-contact-mini-grid {
        grid-template-columns: 1fr;
    }


    .tn-enquiry-form-box {
        padding-left: 18px;

        padding-right: 18px;
    }

}

/* =====================================================
THODU-NEEDA ABOUT PAGE
PREMIUM / COMPACT / RESPONSIVE
===================================================== */

:root{
    --tn-purple:#54277c;
    --tn-purple-dark:#321143;
    --tn-purple-2:#773b9c;

    --tn-pink:#d84284;
    --tn-pink-dark:#ba286a;
    --tn-pink-light:#fff0f6;

    --tn-yellow:#f5b946;

    --tn-dark:#211629;
    --tn-text:#655d6a;
    --tn-light:#faf7fb;

    --tn-white:#ffffff;

    --tn-shadow:
        0 24px 65px rgba(65,31,82,.11);
}


/* BASIC */

.tn-container{
    width:min(1280px,91%);
    margin:auto;
}

.tn-about-main *,
.tn-story-section *,
.tn-founder-section *,
.tn-approach-section *,
.tn-work-section *,
.tn-mission-section *,
.tn-vision-section *,
.tn-belief-section *{
    box-sizing:border-box;
}


.tn-about-main,
.tn-story-section,
.tn-founder-section,
.tn-approach-section,
.tn-work-section,
.tn-mission-section,
.tn-vision-section,
.tn-belief-section{
    font-family:"DM Sans",sans-serif;
}


/* TITLES */

.tn-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:12px;

    font-size:12px;
    line-height:1;

    font-weight:800;
    letter-spacing:1.7px;

    color:var(--tn-pink);
}

.tn-kicker i{
    font-size:11px;
}


.tn-content h2,
.tn-section-heading h2,
.tn-work-head h2,
.tn-mission-box h2{

    margin:0 0 17px;

    font-family:"Playfair Display",serif;

    font-size:clamp(31px,3.4vw,48px);
    line-height:1.13;

    color:var(--tn-dark);

    letter-spacing:-.7px;
}


.tn-content h2 span,
.tn-section-heading h2 span,
.tn-work-head h2 span,
.tn-mission-box h2 span{
    color:var(--tn-purple);
}


.tn-content p{
    margin:0 0 12px;

    font-size:15.5px;
    line-height:1.78;

    color:var(--tn-text);
}

.tn-content p strong{
    color:var(--tn-purple);
}



/* =====================================================
01 ABOUT
===================================================== */

.tn-about-main{
    position:relative;
    overflow:hidden;

    padding:65px 0;

    background:
        radial-gradient(
            circle at 5% 20%,
            rgba(216,66,132,.09),
            transparent 25%
        ),
        #fff;
}


.tn-two-col{
    display:grid;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(0,1.05fr);

    align-items:center;

    gap:65px;
}


.tn-photo{
    position:relative;
}


.tn-photo-main{
    height:410px;
}


.tn-photo-main > img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    border-radius:42px 12px 42px 12px;

    box-shadow:var(--tn-shadow);
}


.tn-photo-shape{
    position:absolute;

    width:125px;
    height:125px;

    top:-24px;
    left:-25px;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    opacity:.12;

    z-index:-1;
}


.tn-floating-card{
    position:absolute;

    bottom:25px;
    right:-25px;

    min-width:235px;

    display:flex;
    align-items:center;

    gap:13px;

    padding:15px 18px;

    background:
        rgba(255,255,255,.95);

    border-radius:18px;

    box-shadow:
        0 18px 45px rgba(40,18,50,.16);

    backdrop-filter:blur(12px);
}


.tn-floating-icon{
    flex:0 0 46px;

    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );
}


.tn-floating-card strong{
    display:block;

    color:var(--tn-purple-dark);

    font-size:14px;
}


.tn-floating-card span{
    display:block;

    margin-top:2px;

    font-size:11px;

    color:#8c818e;
}


.tn-highlight-text{
    margin:20px 0 18px;

    display:flex;
    align-items:flex-start;

    gap:13px;

    padding:15px 17px;

    border-left:
        4px solid var(--tn-pink);

    border-radius:
        0 14px 14px 0;

    background:
        linear-gradient(
            90deg,
            #fff2f7,
            #fcf8fd
        );

    color:#513c59;

    font-size:14px;
    line-height:1.6;

    font-weight:600;
}


.tn-highlight-text i{
    color:var(--tn-pink);

    font-size:18px;

    margin-top:2px;
}


.tn-mini-points{
    display:flex;
    flex-wrap:wrap;

    gap:8px;
}


.tn-mini-points span{
    display:inline-flex;
    align-items:center;

    gap:6px;

    padding:8px 12px;

    border-radius:40px;

    background:#f6f0f8;

    color:var(--tn-purple);

    font-size:11px;
    font-weight:700;
}


.tn-mini-points i{
    width:17px;
    height:17px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;

    font-size:8px;
}



/* =====================================================
02 STORY
===================================================== */

.tn-story-section{
    padding:65px 0;

    background:
        linear-gradient(
            135deg,
            #fbf8fc,
            #fff5f8
        );
}


.tn-choice-row{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:8px;

    margin-top:22px;
}


.tn-choice-row div{
    min-height:82px;

    padding:13px 8px;

    border-radius:15px;

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    text-align:center;

    background:#fff;

    border:
        1px solid rgba(84,39,124,.08);
}


.tn-choice-row i{
    margin-bottom:7px;

    color:var(--tn-pink);

    font-size:19px;
}


.tn-choice-row span{
    color:var(--tn-purple-dark);

    font-size:10px;
    font-weight:700;
}


.tn-story-photo{
    height:425px;
}


.tn-story-photo > img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    border-radius:
        15px 45px 15px 45px;

    box-shadow:var(--tn-shadow);
}


.tn-image-caption{
    position:absolute;

    left:25px;
    bottom:25px;

    max-width:260px;

    padding:15px 18px;

    display:flex;
    align-items:center;

    gap:12px;

    border-radius:17px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(74,27,98,.93),
            rgba(198,43,111,.91)
        );
}


.tn-image-caption > i{
    font-size:23px;
}


.tn-image-caption strong{
    display:block;

    font-size:13px;
}


.tn-image-caption span{
    font-size:10px;

    opacity:.82;
}



/* =====================================================
03 FOUNDER
===================================================== */

.tn-founder-section{
    padding:70px 0;

    overflow:hidden;

    background:
        linear-gradient(
            125deg,
            #351446,
            #542475 53%,
            #7d2f79
        );
}


.tn-founder-box{
    display:grid;

    grid-template-columns:
        minmax(300px,.7fr)
        minmax(0,1.3fr);

    gap:55px;

    align-items:center;
}


.tn-founder-image{
    position:relative;

    height:450px;
}


.tn-founder-image::before{
    content:"";

    position:absolute;

    inset:18px -18px -18px 18px;

    border:
        1px solid rgba(255,255,255,.2);

    border-radius:120px 20px 120px 20px;
}


.tn-founder-image img{
    position:relative;

    z-index:2;

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    border-radius:120px 20px 120px 20px;
}


.tn-founder-label{
    position:absolute;

    z-index:4;

    bottom:23px;
    right:-20px;

    padding:11px 20px;

    border-radius:50px;

    background:#fff;

    color:var(--tn-purple);

    font-size:11px;
    font-weight:800;

    box-shadow:
        0 15px 35px rgba(0,0,0,.25);
}


.tn-founder-content{
    color:#fff;
}


.tn-kicker-light{
    color:#ffc2de;
}


.tn-founder-content h2{
    margin:0 0 5px;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:clamp(32px,3.5vw,48px);
}


.tn-founder-content h4{
    margin:0 0 18px;

    color:#ffc1dc;

    font-size:14px;
    font-weight:600;
}


.tn-founder-content p{
    color:rgba(255,255,255,.78);

    font-size:14.5px;
    line-height:1.75;

    margin:0 0 10px;
}


.tn-founder-content p strong{
    color:#fff;
}


.tn-founder-stats{
    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:10px;

    margin:22px 0;
}


.tn-founder-stats div{
    min-height:125px;

    padding:18px 14px;

    border-radius:17px;

    border:
        1px solid rgba(255,255,255,.13);

    background:
        rgba(255,255,255,.08);

    backdrop-filter:blur(8px);
}


.tn-founder-stats i{
    color:#ffc4dd;

    font-size:21px;

    margin-bottom:13px;
}


.tn-founder-stats strong{
    display:block;

    margin-bottom:5px;

    color:#fff;

    font-size:14px;
}


.tn-founder-stats span{
    font-size:10.5px;
    line-height:1.45;

    color:rgba(255,255,255,.63);
}



/* =====================================================
04 APPROACH
===================================================== */

.tn-approach-section{
    padding:65px 0;

    background:#fff;
}


.tn-section-heading{
    max-width:760px;

    margin:
        0 auto 35px;

    text-align:center;
}


.tn-section-heading p{
    max-width:680px;

    margin:auto;

    color:var(--tn-text);

    font-size:14.5px;
    line-height:1.7;
}


.tn-approach-grid{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:15px;
}


.tn-approach-card{
    position:relative;

    min-height:255px;

    padding:27px 22px;

    border-radius:21px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fcf8fd
        );

    border:
        1px solid rgba(84,39,124,.08);

    box-shadow:
        0 12px 35px rgba(62,32,75,.06);

    overflow:hidden;

    transition:.3s ease;
}


.tn-approach-card:hover{
    transform:translateY(-7px);

    box-shadow:
        0 22px 45px rgba(62,32,75,.12);
}


.tn-step{
    position:absolute;

    top:16px;
    right:18px;

    font-size:30px;
    font-weight:800;

    color:rgba(84,39,124,.07);
}


.tn-round-icon{
    width:52px;
    height:52px;

    display:grid;
    place-items:center;

    margin-bottom:18px;

    border-radius:17px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    box-shadow:
        0 12px 25px rgba(177,48,115,.2);
}


.tn-approach-card h3{
    margin:0 0 8px;

    color:var(--tn-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:20px;
}


.tn-approach-card p{
    margin:0;

    color:var(--tn-text);

    font-size:13px;
    line-height:1.65;
}


.tn-approach-note{
    max-width:800px;

    margin:
        25px auto 0;

    display:flex;
    align-items:center;

    gap:15px;

    padding:14px 20px;

    border-radius:50px;

    background:var(--tn-pink-light);

    color:#604859;
}


.tn-approach-note > i{
    flex:0 0 40px;

    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;
}


.tn-approach-note p{
    margin:0;

    font-size:13px;
    line-height:1.5;
}



/* =====================================================
05 OUR WORK
===================================================== */

.tn-work-section{
    padding:65px 0;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #3c1750,
            #542478
        );
}


.tn-work-head{
    display:flex;

    justify-content:space-between;
    align-items:flex-end;

    gap:30px;

    margin-bottom:25px;
}


.tn-work-head h2{
    color:#fff;

    margin-bottom:0;
}


.tn-work-head h2 span{
    color:#ffc1dc;
}


.tn-work-arrows{
    display:flex;

    gap:8px;
}


.tn-work-arrows button{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border:none;

    border-radius:50%;

    cursor:pointer;

    color:var(--tn-purple);

    background:#fff;

    transition:.25s ease;
}


.tn-work-arrows button:hover{
    background:var(--tn-pink);

    color:#fff;
}



/* IMPACT */

.tn-impact-strip{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    margin-bottom:25px;

    border-radius:20px;

    overflow:hidden;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid rgba(255,255,255,.1);
}


.tn-impact-strip div{
    padding:16px 20px;

    text-align:center;

    border-right:
        1px solid rgba(255,255,255,.1);
}


.tn-impact-strip div:last-child{
    border-right:none;
}


.tn-impact-strip strong{
    display:block;

    color:#ffc1dc;

    font-size:25px;
}


.tn-impact-strip span{
    display:block;

    margin-top:3px;

    color:rgba(255,255,255,.68);

    font-size:10.5px;
}



/* SLIDER */

.tn-work-slider{
    display:flex;

    gap:17px;

    overflow-x:auto;

    scroll-behavior:smooth;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    padding:5px 2px 12px;
}


.tn-work-slider::-webkit-scrollbar{
    display:none;
}


.tn-work-card{
    flex:
        0 0 calc(33.333% - 12px);

    min-width:0;

    scroll-snap-align:start;

    overflow:hidden;

    border-radius:21px;

    background:#fff;
}


.tn-work-image{
    position:relative;

    height:175px;
}


.tn-work-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}


.tn-work-image span{
    position:absolute;

    top:12px;
    right:12px;

    width:37px;
    height:37px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;

    color:var(--tn-purple);

    font-size:10px;
    font-weight:800;
}


.tn-work-card-content{
    position:relative;

    padding:24px 21px 20px;
}


.tn-work-card-content > i{
    position:absolute;

    top:-22px;

    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    color:#fff;
}


.tn-work-card-content h3{
    margin:
        5px 0 7px;

    color:var(--tn-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:19px;
}


.tn-work-card-content p{
    margin:0;

    color:var(--tn-text);

    font-size:12.5px;
    line-height:1.6;
}



/* =====================================================
06 MISSION
===================================================== */

.tn-mission-section{
    padding:55px 0;

    background:
        linear-gradient(
            135deg,
            #fff4f8,
            #faf5fc
        );
}


.tn-mission-box{
    position:relative;

    display:grid;

    grid-template-columns:
        85px 1fr;

    gap:25px;

    align-items:center;

    max-width:1050px;

    margin:auto;

    padding:35px 45px;

    border-radius:28px;

    background:#fff;

    box-shadow:
        0 18px 55px rgba(54,26,68,.09);

    overflow:hidden;
}


.tn-mission-icon{
    width:75px;
    height:75px;

    display:grid;
    place-items:center;

    border-radius:24px;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    color:#fff;

    font-size:27px;
}


.tn-mission-box h2{
    margin-bottom:9px;

    font-size:
        clamp(28px,3vw,40px);
}


.tn-mission-box p{
    max-width:780px;

    margin:0;

    color:var(--tn-text);

    font-size:14px;
    line-height:1.7;
}


.tn-mission-decoration{
    position:absolute;

    right:-30px;
    bottom:-42px;

    width:140px;
    height:140px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        rgba(216,66,132,.06);

    color:
        rgba(216,66,132,.08);

    font-size:65px;
}



/* =====================================================
07 VISION
===================================================== */

.tn-vision-section{
    padding:65px 0;

    background:#fff;
}


.tn-vision-grid{
    display:grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:65px;

    align-items:center;
}


.tn-vision-photo{
    position:relative;

    height:390px;
}


.tn-vision-photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    border-radius:
        50% 50% 20px 20px;

    box-shadow:var(--tn-shadow);
}


.tn-vision-circle{
    position:absolute;

    right:-20px;
    top:50%;

    transform:
        translateY(-50%);

    width:70px;
    height:70px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    color:#fff;

    font-size:23px;

    border:
        7px solid #fff;
}


.tn-vision-values{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:8px;

    margin-top:20px;
}


.tn-vision-values div{
    min-height:80px;

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    gap:6px;

    border-radius:14px;

    background:#f9f5fa;

    color:var(--tn-purple);

    font-size:11px;
    font-weight:700;
}


.tn-vision-values i{
    color:var(--tn-pink);

    font-size:17px;
}



/* =====================================================
08 BELIEF
===================================================== */

.tn-belief-section{
    position:relative;

    min-height:420px;

    display:flex;
    align-items:center;

    overflow:hidden;
}


.tn-belief-image{
    position:absolute;

    inset:0;

    background-image:
        url("https://us.123rf.com/450wm/roxichka25/roxichka252510/roxichka25251000037/253431549-happy-elderly-indian-couple-smiling-and-embracing-outdoors-expressing-love-happiness-and-vitality.jpg?ver=6");

    background-size:cover;
    background-position:center;
}


.tn-belief-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(43,13,57,.96) 0%,
            rgba(72,24,91,.88) 48%,
            rgba(49,13,62,.30) 100%
        );
}


.tn-belief-section .tn-container{
    position:relative;

    z-index:3;
}


.tn-belief-content{
    max-width:620px;

    padding:60px 0;

    color:#fff;
}


.tn-belief-small{
    display:inline-block;

    margin-bottom:10px;

    color:#ffc5df;

    font-size:11px;
    font-weight:800;

    letter-spacing:2px;
}


.tn-belief-content h2{
    margin:0 0 17px;

    font-family:"Playfair Display",serif;

    color:#fff;

    font-size:
        clamp(38px,5vw,65px);

    line-height:1.03;
}


.tn-belief-content h2 span{
    display:block;

    color:#ffc1dc;
}


.tn-belief-content > p{
    max-width:570px;

    margin:0 0 10px;

    color:rgba(255,255,255,.82);

    font-size:15px;
    line-height:1.72;
}


.tn-belief-content p strong{
    color:#fff;
}


.tn-belief-sign{
    display:inline-flex;
    align-items:center;

    gap:12px;

    margin-top:18px;

    padding:11px 17px 11px 11px;

    border:
        1px solid rgba(255,255,255,.13);

    border-radius:50px;

    background:
        rgba(255,255,255,.09);

    backdrop-filter:blur(10px);
}


.tn-belief-sign > span{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;
}


.tn-belief-sign strong{
    display:block;

    color:#fff;

    font-size:12px;
}


.tn-belief-sign small{
    display:block;

    margin-top:2px;

    color:rgba(255,255,255,.55);

    font-size:9px;
    letter-spacing:.7px;
}



/* =====================================================
TABLET
===================================================== */

@media(max-width:1050px){

    .tn-two-col,
    .tn-vision-grid{
        gap:40px;
    }


    .tn-approach-grid{
        grid-template-columns:
            repeat(2,1fr);
    }


    .tn-work-card{
        flex-basis:
            calc(50% - 9px);
    }


    .tn-founder-box{
        gap:35px;
    }

}



/* =====================================================
MOBILE / TABLET
===================================================== */

@media(max-width:800px){

    .tn-about-main,
    .tn-story-section,
    .tn-founder-section,
    .tn-approach-section,
    .tn-work-section,
    .tn-vision-section{
        padding:45px 0;
    }


    .tn-two-col,
    .tn-founder-box,
    .tn-vision-grid{
        grid-template-columns:1fr;
    }


    .tn-reverse-mobile .tn-content{
        order:2;
    }

    .tn-reverse-mobile .tn-photo{
        order:1;
    }


    .tn-photo-main,
    .tn-story-photo,
    .tn-founder-image,
    .tn-vision-photo{
        height:350px;
    }


    .tn-floating-card{
        right:12px;
    }


    .tn-founder-image{
        max-width:500px;

        width:100%;

        margin:auto;
    }


    .tn-founder-content{
        text-align:left;
    }


    .tn-impact-strip{
        grid-template-columns:
            repeat(2,1fr);
    }


    .tn-impact-strip div:nth-child(2){
        border-right:none;
    }


    .tn-work-card{
        flex-basis:75%;
    }


    .tn-mission-box{
        padding:30px;

        grid-template-columns:
            65px 1fr;
    }


    .tn-mission-icon{
        width:60px;
        height:60px;

        border-radius:18px;
    }


    .tn-vision-photo{
        max-width:520px;

        width:100%;

        margin:auto;
    }


    .tn-belief-section{
        min-height:430px;
    }


    .tn-belief-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(43,13,57,.95),
                rgba(54,18,71,.79)
            );
    }

}



/* =====================================================
SMALL MOBILE
===================================================== */

@media(max-width:560px){

    .tn-container{
        width:91%;
    }


    .tn-content h2,
    .tn-section-heading h2,
    .tn-work-head h2{
        font-size:30px;
    }


    .tn-content p{
        font-size:14px;
    }


    .tn-photo-main,
    .tn-story-photo,
    .tn-founder-image,
    .tn-vision-photo{
        height:290px;
    }


    .tn-photo-main > img{
        border-radius:
            28px 10px 28px 10px;
    }


    .tn-floating-card{
        bottom:12px;
        left:12px;
        right:12px;

        min-width:0;
    }


    .tn-choice-row{
        grid-template-columns:
            repeat(2,1fr);
    }


    .tn-founder-image img,
    .tn-founder-image::before{
        border-radius:
            70px 15px 70px 15px;
    }


    .tn-founder-label{
        right:8px;
    }


    .tn-founder-stats{
        grid-template-columns:1fr;
    }


    .tn-founder-stats div{
        min-height:auto;
    }


    .tn-approach-grid{
        grid-template-columns:1fr;
    }


    .tn-approach-card{
        min-height:auto;
    }


    .tn-approach-note{
        border-radius:18px;
    }


    .tn-work-head{
        align-items:center;
    }


    .tn-work-head h2{
        font-size:29px;
    }


    .tn-work-arrows button{
        width:40px;
        height:40px;
    }


    .tn-impact-strip{
        grid-template-columns:1fr 1fr;
    }


    .tn-impact-strip div{
        padding:13px 8px;
    }


    .tn-work-card{
        flex-basis:88%;
    }


    .tn-work-image{
        height:170px;
    }


    .tn-mission-section{
        padding:40px 0;
    }


    .tn-mission-box{
        display:block;

        padding:25px 22px;
    }


    .tn-mission-icon{
        margin-bottom:18px;
    }


    .tn-mission-box h2{
        font-size:28px;
    }


    .tn-vision-values{
        grid-template-columns:
            repeat(2,1fr);
    }


    .tn-vision-circle{
        right:10px;

        width:58px;
        height:58px;

        border-width:5px;
    }


    .tn-belief-section{
        min-height:460px;
    }


    .tn-belief-image{
        background-position:62% center;
    }


    .tn-belief-overlay{
        background:
            rgba(48,14,63,.83);
    }


    .tn-belief-content{
        padding:50px 0;
    }


    .tn-belief-content h2{
        font-size:42px;
    }


    .tn-belief-content > p{
        font-size:14px;
    }

}

/* ==========================================================
THODU-NEEDA PROGRAMMES PAGE
========================================================== */

:root{

    --tn-purple:#512676;
    --tn-purple-dark:#30123f;
    --tn-purple-mid:#72388e;

    --tn-pink:#d63f80;
    --tn-pink-dark:#b72867;
    --tn-pink-soft:#fff0f6;

    --tn-dark:#23172a;
    --tn-text:#655d68;

    --tn-light:#faf7fb;
    --tn-white:#ffffff;

    --tn-shadow:
        0 24px 65px rgba(62,28,78,.12);

}


.tnp-intro *,
.tnp-section *,
.tnp-mission *{
    box-sizing:border-box;
}


.tnp-intro,
.tnp-section,
.tnp-mission{
    font-family:"DM Sans",sans-serif;
}


.tnp-container{
    width:min(1280px,92%);
    margin:auto;
}



/* ==========================================================
COMMON TYPOGRAPHY
========================================================== */

.tnp-kicker{

    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:13px;

    color:var(--tn-pink);

    font-size:11px;

    font-weight:800;

    letter-spacing:1.6px;

    text-transform:uppercase;

}


.tnp-kicker i{
    font-size:10px;
}


.tnp-content h2,
.tnp-mission-content h2{

    margin:0 0 16px;

    font-family:"Playfair Display",serif;

    font-size:clamp(30px,3.2vw,46px);

    line-height:1.12;

    color:var(--tn-dark);

    letter-spacing:-.7px;

}


.tnp-content h2 span,
.tnp-mission-content h2 span{
    color:var(--tn-purple);
}


.tnp-content > p{

    margin:0 0 11px;

    color:var(--tn-text);

    font-size:15px;

    line-height:1.73;

}



/* ==========================================================
INTRO
========================================================== */

.tnp-intro{

    position:relative;

    overflow:hidden;

    padding:65px 0;

    background:
        radial-gradient(
            circle at 10% 5%,
            rgba(214,63,128,.10),
            transparent 27%
        ),
        radial-gradient(
            circle at 90% 90%,
            rgba(81,38,118,.08),
            transparent 25%
        ),
        #fff;

}


.tnp-intro-grid{

    display:grid;

    grid-template-columns:
        1.05fr .95fr;

    align-items:center;

    gap:65px;

}


.tnp-intro-content h1{

    margin:0 0 18px;

    max-width:750px;

    font-family:"Playfair Display",serif;

    font-size:clamp(38px,4.8vw,65px);

    line-height:1.03;

    color:var(--tn-dark);

    letter-spacing:-1.5px;

}


.tnp-intro-content h1 span{

    display:block;

    color:var(--tn-purple);

}


.tnp-intro-content > p{

    max-width:720px;

    margin:0 0 11px;

    color:var(--tn-text);

    font-size:15px;

    line-height:1.75;

}


.tnp-intro-content p strong{
    color:var(--tn-purple);
}


.tnp-intro-tags{

    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-top:20px;

}


.tnp-intro-tags span{

    display:inline-flex;

    align-items:center;

    gap:7px;

    padding:9px 13px;

    border-radius:40px;

    background:#f7f1f9;

    color:var(--tn-purple);

    font-size:11px;

    font-weight:700;

}


.tnp-intro-tags i{
    color:var(--tn-pink);
}


.tnp-intro-image{

    position:relative;

    height:410px;

}


.tnp-intro-image::before{

    content:"";

    position:absolute;

    inset:-13px 13px 13px -13px;

    border:

        2px solid rgba(81,38,118,.13);

    border-radius:130px 25px 130px 25px;

}


.tnp-intro-image img{

    position:relative;

    z-index:2;

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    border-radius:130px 25px 130px 25px;

    box-shadow:var(--tn-shadow);

}


.tnp-image-floating{

    position:absolute;

    z-index:4;

    left:-30px;
    bottom:28px;

    display:flex;

    align-items:center;

    gap:12px;

    min-width:250px;

    padding:13px 18px 13px 12px;

    border-radius:50px;

    background:rgba(255,255,255,.95);

    box-shadow:
        0 18px 45px rgba(42,19,52,.18);

    backdrop-filter:blur(12px);

}


.tnp-image-floating > span{

    flex:0 0 45px;

    width:45px;
    height:45px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

}


.tnp-image-floating strong{

    display:block;

    color:var(--tn-purple-dark);

    font-size:12px;

}


.tnp-image-floating small{

    display:block;

    margin-top:2px;

    color:#938795;

    font-size:9.5px;

}



/* DECORATIONS */

.tnp-orb{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

}


.tnp-orb-one{

    width:220px;
    height:220px;

    left:-100px;
    top:-70px;

    border:
        42px solid rgba(214,63,128,.04);

}


.tnp-orb-two{

    width:180px;
    height:180px;

    right:-80px;
    bottom:-70px;

    background:
        rgba(81,38,118,.035);

}



/* ==========================================================
COMMON SPLIT SECTIONS
========================================================== */

.tnp-section{

    position:relative;

    overflow:hidden;

    padding:68px 0;

}


.tnp-white{
    background:#fff;
}


.tnp-soft{

    background:
        linear-gradient(
            135deg,
            #fbf8fc,
            #fff5f8
        );

}


.tnp-split{

    display:grid;

    grid-template-columns:
        .95fr 1.05fr;

    gap:65px;

    align-items:center;

}



/* ==========================================================
IMAGE STYLE
========================================================== */

.tnp-visual{

    position:relative;

    height:450px;

}


.tnp-visual::before{

    content:"";

    position:absolute;

    width:115px;
    height:115px;

    left:-22px;
    top:-22px;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    opacity:.11;

}


.tnp-visual img{

    position:relative;

    z-index:2;

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    border-radius:
        35px 10px 35px 10px;

    box-shadow:var(--tn-shadow);

}


.tnp-number{

    position:absolute;

    z-index:4;

    top:18px;
    right:18px;

    width:52px;
    height:52px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:var(--tn-purple);

    background:#fff;

    font-size:13px;

    font-weight:800;

    box-shadow:
        0 10px 30px rgba(0,0,0,.13);

}


.tnp-photo-label{

    position:absolute;

    z-index:4;

    left:25px;
    bottom:25px;

    max-width:290px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:13px 17px;

    border-radius:16px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(57,18,75,.94),
            rgba(190,42,108,.91)
        );

    box-shadow:
        0 12px 35px rgba(0,0,0,.18);

}


.tnp-photo-label > i{

    font-size:22px;

}


.tnp-photo-label strong{

    display:block;

    font-size:12px;

}


.tnp-photo-label small{

    display:block;

    margin-top:2px;

    opacity:.75;

    font-size:9.5px;

}



/* ==========================================================
CHECK GRID
========================================================== */

.tnp-check-grid{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:8px;

    margin-top:18px;

}


.tnp-check-grid > div{

    display:flex;

    align-items:center;

    gap:8px;

    min-height:42px;

    padding:8px 11px;

    border-radius:11px;

    background:#faf7fb;

    color:#56465d;

    font-size:11.5px;

    font-weight:600;

}


.tnp-check-grid i{

    flex:0 0 23px;

    width:23px;
    height:23px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:var(--tn-pink);

    font-size:8px;

}



/* ==========================================================
IMPACT NUMBERS
========================================================== */

.tnp-impact-row{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:8px;

    margin-top:18px;

}


.tnp-impact-row div{

    padding:13px 8px;

    text-align:center;

    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            #f9f4fa,
            #fff4f8
        );

}


.tnp-impact-row strong{

    display:block;

    color:var(--tn-pink);

    font-size:22px;

}


.tnp-impact-row span{

    display:block;

    margin-top:3px;

    color:#756878;

    font-size:9px;

    line-height:1.35;

}


.tnp-belief-box{

    margin-top:15px;

    padding:13px 16px;

    border-left:
        4px solid var(--tn-pink);

    border-radius:
        0 12px 12px 0;

    background:var(--tn-pink-soft);

}


.tnp-belief-box span{

    color:var(--tn-pink);

    font-size:9px;

    font-weight:800;

    letter-spacing:1.4px;

}


.tnp-belief-box p{

    margin:4px 0 0;

    color:var(--tn-purple-dark);

    font-size:12.5px;

    font-weight:700;

}



/* ==========================================================
GET-TOGETHER FEATURE LIST
========================================================== */

.tnp-feature-list{

    display:grid;

    gap:9px;

    margin-top:18px;

}


.tnp-feature-list > div{

    display:grid;

    grid-template-columns:
        48px 1fr;

    gap:12px;

    align-items:center;

    padding:10px 13px;

    border-radius:14px;

    background:#fff;

    border:
        1px solid rgba(81,38,118,.08);

}


.tnp-feature-list > div > span{

    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border-radius:14px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

}


.tnp-feature-list strong{

    display:block;

    color:var(--tn-purple-dark);

    font-size:12.5px;

}


.tnp-feature-list p{

    margin:2px 0 0;

    color:#7b707d;

    font-size:10.5px;

}


.tnp-quote{

    display:flex;

    gap:12px;

    margin-top:16px;

    padding:14px 17px;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            var(--tn-purple),
            var(--tn-purple-mid)
        );

    color:#fff;

}


.tnp-quote i{

    color:#ffc1dd;

    font-size:18px;

}


.tnp-quote p{

    margin:0;

    color:rgba(255,255,255,.85);

    font-size:11.5px;

    line-height:1.55;

}



/* ==========================================================
COUNSELLING
========================================================== */

.tnp-visual-icon{

    position:absolute;

    z-index:4;

    bottom:25px;
    right:-25px;

    width:75px;
    height:75px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    border:
        7px solid #fff;

    font-size:24px;

}


.tnp-choice-cards{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:8px;

    margin:19px 0;

}


.tnp-choice-cards div{

    min-height:83px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:7px;

    padding:10px;

    border-radius:14px;

    background:#f8f3fa;

    color:var(--tn-purple);

    text-align:center;

}


.tnp-choice-cards i{

    color:var(--tn-pink);

    font-size:18px;

}


.tnp-choice-cards span{

    font-size:10px;

    font-weight:700;

}


.tnp-small-heading{

    margin:0 0 9px;

    color:var(--tn-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:18px;

}


.tnp-personal-choice{

    margin-top:15px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:12px 15px;

    border-radius:14px;

    background:
        linear-gradient(
            90deg,
            #fff1f6,
            #f9f4fb
        );

}


.tnp-personal-choice > i{

    flex:0 0 40px;

    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;

}


.tnp-personal-choice strong{

    display:block;

    color:var(--tn-purple);

    font-size:12px;

}


.tnp-personal-choice p{

    margin:2px 0 0;

    color:#756978;

    font-size:10.5px;

}



/* ==========================================================
WELFARE DARK SECTION
========================================================== */

.tnp-purple-section{

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(225,96,158,.15),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #341344,
            #522475 58%,
            #722f78
        );

}


.tnp-content-light h2{
    color:#fff;
}


.tnp-content-light h2 span{
    color:#ffc1dc;
}


.tnp-content-light > p{

    color:rgba(255,255,255,.76);

}


.tnp-light-kicker{
    color:#ffc0dc;
}


.tnp-dark-features{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:8px;

    margin-top:18px;

}


.tnp-dark-features div{

    display:flex;

    align-items:center;

    gap:9px;

    padding:10px 12px;

    border-radius:12px;

    border:
        1px solid rgba(255,255,255,.11);

    background:
        rgba(255,255,255,.07);

    color:#fff;

    font-size:11px;

    font-weight:600;

}


.tnp-dark-features i{

    color:#ffc1dc;

}


.tnp-awareness-message{

    display:flex;

    align-items:center;

    gap:12px;

    margin-top:17px;

    padding:13px 15px;

    border-radius:15px;

    background:
        rgba(255,255,255,.10);

}


.tnp-awareness-message > span{

    width:40px;
    height:40px;

    flex:0 0 40px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;

    color:var(--tn-pink);

}


.tnp-awareness-message p{

    margin:0;

    color:rgba(255,255,255,.82);

    font-size:11.5px;

    line-height:1.55;

}


.tnp-dark-visual img{

    border:
        5px solid rgba(255,255,255,.08);

}


.tnp-number-light{

    background:var(--tn-pink);

    color:#fff;

}



/* ==========================================================
COMMUNITY SERVICE
========================================================== */

.tnp-community{

    background:
        linear-gradient(
            145deg,
            #fff,
            #fbf6fc
        );

}


.tnp-community-badge{

    position:absolute;

    z-index:4;

    left:25px;
    bottom:25px;

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:11px 16px;

    border-radius:40px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

    font-size:11px;

    font-weight:700;

}



/* ACCORDION */

.tnp-service-accordion{

    margin-top:18px;

    display:grid;

    gap:8px;

}


.tnp-service-item{

    overflow:hidden;

    border:
        1px solid rgba(81,38,118,.09);

    border-radius:13px;

    background:#fff;

}


.tnp-service-trigger{

    width:100%;

    min-height:55px;

    display:grid;

    grid-template-columns:
        37px 1fr 30px;

    align-items:center;

    gap:10px;

    padding:8px 12px;

    border:none;

    background:transparent;

    text-align:left;

    cursor:pointer;

}


.tnp-service-icon{

    width:37px;
    height:37px;

    display:grid;
    place-items:center;

    border-radius:11px;

    background:#f6eef8;

    color:var(--tn-pink);

}


.tnp-service-name{

    color:var(--tn-purple-dark);

    font-size:11.5px;

    font-weight:700;

}


.tnp-service-plus{

    color:var(--tn-purple);

    justify-self:center;

    transition:.3s ease;

}


.tnp-service-body{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}


.tnp-service-body p{

    margin:0;

    padding:
        0 16px 14px 59px;

    color:#786c79;

    font-size:10.8px;

    line-height:1.6;

}


.tnp-service-item.active .tnp-service-body{
    max-height:120px;
}


.tnp-service-item.active .tnp-service-plus{
    transform:rotate(45deg);
}


.tnp-service-item.active .tnp-service-icon{

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tn-pink),
            var(--tn-purple)
        );

}



/* ==========================================================
MISSION
========================================================== */

.tnp-mission{

    position:relative;

    overflow:hidden;

    padding:72px 0;

    background:#311142;

}


.tnp-mission-bg{

    position:absolute;

    inset:0;

    opacity:.2;

    background:
        radial-gradient(
            circle at 90% 30%,
            #d63f80,
            transparent 30%
        );

}


.tnp-mission .tnp-container{

    position:relative;

    z-index:2;

}


.tnp-mission-grid{

    display:grid;

    grid-template-columns:
        1.05fr .95fr;

    gap:65px;

    align-items:center;

}


.tnp-mission-content h2{

    color:#fff;

}


.tnp-mission-content h2 span{

    display:block;

    color:#ffc1dc;

}


.tnp-mission-content > p{

    margin:0 0 10px;

    color:rgba(255,255,255,.76);

    font-size:14px;

    line-height:1.7;

}


.tnp-mission-points{

    display:flex;
    flex-wrap:wrap;

    gap:7px;

    margin-top:18px;

}


.tnp-mission-points span{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:8px 12px;

    border-radius:40px;

    background:
        rgba(255,255,255,.09);

    border:
        1px solid rgba(255,255,255,.1);

    color:#fff;

    font-size:10px;

}


.tnp-mission-points i{
    color:#ffc1dc;
}


.tnp-final-message{

    display:flex;

    gap:11px;

    margin-top:19px;

    padding:13px 15px;

    border-left:
        3px solid #ffc1dc;

    background:
        rgba(255,255,255,.06);

}


.tnp-final-message i{

    color:#ffc1dc;

    font-size:18px;

}


.tnp-final-message p{

    margin:0;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:15px;

    line-height:1.5;

}


.tnp-contact-btn{

    display:inline-flex;

    align-items:center;

    gap:11px;

    margin-top:20px;

    padding:12px 12px 12px 20px;

    border-radius:50px;

    color:var(--tn-purple);

    background:#fff;

    text-decoration:none;

    font-size:11px;

    font-weight:800;

    transition:.3s ease;

}


.tnp-contact-btn i{

    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;

}


.tnp-contact-btn:hover{

    transform:translateY(-3px);

    box-shadow:
        0 14px 30px rgba(0,0,0,.2);

}


.tnp-mission-image{

    position:relative;

    height:430px;

}


.tnp-mission-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    border-radius:
        50% 50% 20px 20px;

    border:
        5px solid rgba(255,255,255,.12);

}


.tnp-mission-heart{

    position:absolute;

    left:-28px;
    bottom:50px;

    width:75px;
    height:75px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tn-pink);

    color:#fff;

    font-size:24px;

    border:
        7px solid #351448;

}



/* ==========================================================
TABLET
========================================================== */

@media(max-width:1050px){

    .tnp-intro-grid,
    .tnp-split,
    .tnp-mission-grid{

        gap:40px;

    }


    .tnp-choice-cards{

        grid-template-columns:
            repeat(2,1fr);

    }

}



/* ==========================================================
MOBILE
========================================================== */

@media(max-width:800px){

    .tnp-intro,
    .tnp-section,
    .tnp-mission{

        padding:45px 0;

    }


    .tnp-intro-grid,
    .tnp-split,
    .tnp-mission-grid{

        grid-template-columns:1fr;

    }


    /*
    Alternating desktop layout automatically becomes
    image/content vertically on mobile.
    */


    .tnp-intro-image{

        height:340px;

    }


    .tnp-image-floating{

        left:15px;

    }


    .tnp-visual{

        height:360px;

    }


    .tnp-mission-image{

        height:360px;

        max-width:550px;

    }


    .tnp-mission-heart{

        left:10px;

    }

}



/* ==========================================================
SMALL MOBILE
========================================================== */

@media(max-width:560px){

    .tnp-container{

        width:91%;

    }


    .tnp-intro-content h1{

        font-size:39px;

    }


    .tnp-content h2,
    .tnp-mission-content h2{

        font-size:30px;

    }


    .tnp-intro-content > p,
    .tnp-content > p{

        font-size:14px;

    }


    .tnp-intro-image{

        height:290px;

    }


    .tnp-intro-image img,
    .tnp-intro-image::before{

        border-radius:
            70px 15px 70px 15px;

    }


    .tnp-image-floating{

        left:10px;
        right:10px;
        bottom:12px;

        min-width:0;

    }


    .tnp-visual{

        height:300px;

    }


    .tnp-visual img{

        border-radius:
            25px 8px 25px 8px;

    }


    .tnp-photo-label{

        left:12px;
        right:12px;
        bottom:12px;

        max-width:none;

    }


    .tnp-number{

        width:43px;
        height:43px;

    }


    .tnp-check-grid{

        grid-template-columns:1fr;

    }


    .tnp-impact-row{

        grid-template-columns:
            repeat(3,1fr);

    }


    .tnp-impact-row strong{

        font-size:19px;

    }


    .tnp-impact-row span{

        font-size:8px;

    }


    .tnp-choice-cards{

        grid-template-columns:
            repeat(2,1fr);

    }


    .tnp-dark-features{

        grid-template-columns:1fr;

    }


    .tnp-visual-icon{

        right:10px;

        width:62px;
        height:62px;

    }


    .tnp-service-body p{

        padding-left:15px;

    }


    .tnp-mission-image{

        height:300px;

    }


    .tnp-mission-points{

        gap:5px;

    }

}

/* =========================================================
THODU-NEEDA FOUNDER PAGE
========================================================= */

:root{
    --tnf-purple:#522579;
    --tnf-purple-dark:#311142;
    --tnf-purple-light:#754098;

    --tnf-pink:#d64081;
    --tnf-pink-dark:#b62a68;
    --tnf-pink-soft:#fff0f6;

    --tnf-dark:#24172b;
    --tnf-text:#675d6b;

    --tnf-light:#faf7fb;
    --tnf-white:#fff;

    --tnf-shadow:
        0 25px 65px rgba(62,29,76,.12);
}


/* GLOBAL */

.tnf-section *,
.tnf-closing *{
    box-sizing:border-box;
}

.tnf-section,
.tnf-closing{
    font-family:"DM Sans",sans-serif;
}

.tnf-container{
    width:min(1280px,92%);
    margin:auto;
}

.tnf-section{
    position:relative;
    overflow:hidden;
    padding:65px 0;
}


/* GRID */

.tnf-grid{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:65px;
    align-items:center;
}


/* KICKER */

.tnf-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:12px;

    color:var(--tnf-pink);

    font-size:11px;
    font-weight:800;
    letter-spacing:1.6px;

    text-transform:uppercase;
}


/* HEADINGS */

.tnf-content h1,
.tnf-content h2{
    margin:0 0 16px;

    color:var(--tnf-dark);

    font-family:"Playfair Display",serif;

    font-size:clamp(32px,3.5vw,48px);
    line-height:1.1;

    letter-spacing:-.8px;
}

.tnf-content h1 span,
.tnf-content h2 span{
    display:block;
    color:var(--tnf-purple);
}

.tnf-content h4{
    margin:-5px 0 19px;

    color:var(--tnf-pink);

    font-size:13px;
    font-weight:700;
}


/* PARAGRAPHS */

.tnf-content > p{
    margin:0 0 11px;

    color:var(--tnf-text);

    font-size:15px;
    line-height:1.75;
}

.tnf-content p strong{
    color:var(--tnf-purple);
}


/* =========================================================
FOUNDER INTRO
========================================================= */

.tnf-founder-intro{
    background:
        radial-gradient(
            circle at 7% 10%,
            rgba(214,64,129,.10),
            transparent 25%
        ),
        #fff;
}


.tnf-founder-photo,
.tnf-image{
    position:relative;
    height:445px;
}


.tnf-founder-photo::before{
    content:"";

    position:absolute;

    width:140px;
    height:140px;

    left:-25px;
    top:-25px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--tnf-pink),
        var(--tnf-purple)
    );

    opacity:.12;
}


.tnf-founder-photo img,
.tnf-image img{
    position:relative;
    z-index:2;

    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:35px 10px 35px 10px;

/*    box-shadow:var(--tnf-shadow);*/
}


.tnf-photo-number{
    position:absolute;
    z-index:5;

    top:17px;
    right:17px;

    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;
    color:var(--tnf-purple);

    font-size:11px;
    font-weight:800;

    box-shadow:0 10px 25px rgba(0,0,0,.12);
}


.tnf-founder-badge{
    position:absolute;
    z-index:5;

    bottom:24px;
    right:-25px;

    min-width:235px;

    display:flex;
    align-items:center;

    gap:12px;

    padding:12px 17px 12px 11px;

    border-radius:50px;

    background:rgba(255,255,255,.96);

    box-shadow:0 17px 40px rgba(42,19,51,.18);
}


.tnf-founder-badge > span{
    flex:0 0 43px;

    width:43px;
    height:43px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnf-pink),
        var(--tnf-purple)
    );
}


.tnf-founder-badge strong{
    display:block;

    color:var(--tnf-purple-dark);

    font-size:12px;
}


.tnf-founder-badge small{
    display:block;

    color:#8c818e;

    font-size:9.5px;
}


/* EDUCATION */

.tnf-education{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin:20px 0 17px;
}


.tnf-education > div{
    min-height:95px;

    display:flex;
    align-items:center;

    gap:10px;

    padding:13px;

    border-radius:14px;

    background:#f8f3fa;
}


.tnf-education i{
    color:var(--tnf-pink);
    font-size:20px;
}


.tnf-education span{
    color:#776b7b;

    font-size:9.5px;
    line-height:1.4;
}


.tnf-education strong{
    display:block;

    color:var(--tnf-purple);

    font-size:12px;
}


.tnf-small-text{
    font-size:13px !important;
}


/* =========================================================
HER JOURNEY
========================================================= */

.tnf-soft{
    background:linear-gradient(
        135deg,
        #faf7fb,
        #fff4f8
    );
}


.tnf-impact{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin:20px 0;
}


.tnf-impact > div{
    padding:15px 8px;

    text-align:center;

    border-radius:14px;

    background:#fff;

    border:1px solid rgba(82,37,121,.08);
}


.tnf-impact strong{
    display:block;

    color:var(--tnf-pink);

    font-size:27px;
    line-height:1;
}


.tnf-impact span{
    display:block;

    margin-top:5px;

    color:#796d7c;

    font-size:9px;
    line-height:1.4;
}


.tnf-highlight{
    display:flex;
    align-items:center;

    gap:12px;

    padding:13px 15px;

    border-radius:15px;

    background:linear-gradient(
        135deg,
        var(--tnf-purple),
        #74358b
    );
}


.tnf-highlight i{
    color:#ffc3de;
    font-size:20px;
}


.tnf-highlight p{
    margin:0;

    color:rgba(255,255,255,.85);

    font-size:11.5px;
    line-height:1.5;
}


/* IMAGE CAPTION */

.tnf-image-caption{
    position:absolute;
    z-index:5;

    bottom:22px;
    left:22px;

    display:flex;
    align-items:center;

    gap:11px;

    padding:12px 15px;

    border-radius:14px;

    color:#fff;

    background:linear-gradient(
        135deg,
        rgba(64,21,83,.94),
        rgba(192,41,108,.92)
    );
}


.tnf-image-caption > i{
    font-size:20px;
}


.tnf-image-caption strong{
    display:block;
    font-size:11px;
}


.tnf-image-caption small{
    display:block;

    margin-top:2px;

    font-size:9px;

    opacity:.75;
}


/* =========================================================
COMMITMENT
========================================================= */

.tnf-commitment{
    background:#fff;
}


.tnf-round-heart{
    position:absolute;
    z-index:5;

    right:-25px;
    bottom:35px;

    width:72px;
    height:72px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--tnf-pink),
        var(--tnf-purple)
    );

    color:#fff;

    font-size:22px;

    border:7px solid #fff;
}


/* ROLE LIST */

.tnf-role-list{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:18px;
}


.tnf-role-list > div{
    display:grid;
    grid-template-columns:42px 1fr;

    gap:10px;
    align-items:center;

    padding:11px;

    border-radius:13px;

    background:#faf7fb;

    border:1px solid rgba(82,37,121,.07);
}


.tnf-role-list > div > span{
    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:12px;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnf-pink),
        var(--tnf-purple)
    );
}


.tnf-role-list p{
    margin:0;

    color:#776b7a;

    font-size:9.5px;
    line-height:1.4;
}


.tnf-role-list strong{
    display:block;

    color:var(--tnf-purple-dark);

    font-size:11px;
}


/* LEGAL */

.tnf-legal-box{
    margin-top:13px;

    display:flex;
    align-items:center;

    gap:12px;

    padding:12px 15px;

    border-radius:14px;

    background:var(--tnf-pink-soft);
}


.tnf-legal-box i{
    color:var(--tnf-pink);
    font-size:21px;
}


.tnf-legal-box p{
    margin:0;

    color:#665269;

    font-size:10.5px;
    line-height:1.5;
}


/* =========================================================
SOCIAL SERVICE DARK
========================================================= */

.tnf-social{
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(214,64,129,.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #321143,
            #522477 60%,
            #742f78
        );
}


.tnf-light-content h2{
    color:#fff;
}


.tnf-light-content h2 span{
    color:#ffc2dd;
}


.tnf-light-content > p{
    color:rgba(255,255,255,.76);
}


.tnf-light-kicker{
    color:#ffc2dd;
}


.tnf-social-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:8px;

    margin-top:20px;
}


.tnf-social-grid div{
    min-height:55px;

    display:flex;
    align-items:center;

    gap:10px;

    padding:10px 13px;

    border-radius:12px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.1);

    color:#fff;
}


.tnf-social-grid i{
    width:28px;

    color:#ffc1dc;

    font-size:16px;
}


.tnf-social-grid span{
    font-size:10.5px;
    font-weight:600;
}


.tnf-social-image img{
    border:5px solid rgba(255,255,255,.09);
}


.tnf-number-light{
    color:#fff;
    background:var(--tnf-pink);
}


/* =========================================================
AWARDS
========================================================= */

.tnf-awards{
    background:#fff;
}


.tnf-award-float{
    position:absolute;
    z-index:5;

    right:-20px;
    bottom:35px;

    width:70px;
    height:70px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    font-size:24px;

    background:linear-gradient(
        135deg,
        #efb94b,
        var(--tnf-pink)
    );

    border:7px solid #fff;
}


.tnf-awards-list{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:9px;

    margin-top:18px;
}


.tnf-awards-list article{
    display:grid;
    grid-template-columns:47px 1fr;

    gap:11px;

    padding:15px;

    border-radius:15px;

    background:#faf7fb;

    border:1px solid rgba(82,37,121,.08);
}


.tnf-awards-list article > span{
    width:45px;
    height:45px;

    display:grid;
    place-items:center;

    border-radius:14px;

    color:#fff;

    background:linear-gradient(
        135deg,
        #ecae39,
        var(--tnf-pink)
    );
}


.tnf-awards-list small{
    color:var(--tnf-pink);

    font-size:7.5px;
    font-weight:800;

    letter-spacing:.8px;
}


.tnf-awards-list h3{
    margin:3px 0;

    color:var(--tnf-purple-dark);

    font-size:12px;
}


.tnf-awards-list p{
    margin:0;

    color:#827585;

    font-size:9px;
    line-height:1.4;
}


/* TV */

.tnf-tv-feature{
    display:grid;
    grid-template-columns:50px 1fr;

    gap:12px;

    margin-top:10px;

    padding:13px;

    border-radius:15px;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnf-purple),
        #7b337d
    );
}


.tnf-tv-feature > span{
    width:47px;
    height:47px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.12);
}


.tnf-tv-feature small{
    display:block;

    color:#ffc3dd;

    font-size:7px;
    letter-spacing:1px;
}


.tnf-tv-feature strong{
    display:block;

    margin:2px 0;

    font-size:13px;
}


.tnf-tv-feature p{
    margin:0;

    color:rgba(255,255,255,.7);

    font-size:9px;
    line-height:1.45;
}


/* =========================================================
VISION
========================================================= */

.tnf-vision{
    background:linear-gradient(
        135deg,
        #fbf8fc,
        #fff4f8
    );
}


.tnf-vision-values{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:7px;

    margin:19px 0;
}


.tnf-vision-values div{
    min-height:75px;

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    gap:6px;

    text-align:center;

    border-radius:13px;

    background:#fff;

    color:var(--tnf-purple);
}


.tnf-vision-values i{
    color:var(--tnf-pink);
    font-size:17px;
}


.tnf-vision-values strong{
    font-size:9.5px;
}


.tnf-vision-quote{
    margin:0;

    display:flex;

    gap:12px;

    padding:14px 16px;

    border-left:4px solid var(--tnf-pink);

    border-radius:0 14px 14px 0;

    background:#fff;
}


.tnf-vision-quote i{
    color:var(--tnf-pink);
    font-size:18px;
}


.tnf-vision-quote p{
    margin:0;

    color:var(--tnf-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:15px;
    line-height:1.5;

    font-weight:600;
}


.tnf-vision-image-text{
    position:absolute;
    z-index:5;

    bottom:20px;
    left:20px;

    padding:11px 15px;

    border-radius:40px;

    background:rgba(255,255,255,.94);

    color:var(--tnf-purple);

    font-size:10px;
    font-weight:700;
}


.tnf-vision-image-text i{
    margin-right:6px;
    color:var(--tnf-pink);
}


/* =========================================================
CLOSING
========================================================= */

.tnf-closing{
    position:relative;

    overflow:hidden;

    padding:65px 0;

    text-align:center;

    background:var(--tnf-purple-dark);
}


.tnf-closing-bg{
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at 20% 50%,
            rgba(214,64,129,.22),
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 30%,
            rgba(131,70,164,.25),
            transparent 28%
        );
}


.tnf-closing .tnf-container{
    position:relative;
    z-index:2;
}


.tnf-closing-content{
    max-width:850px;
    margin:auto;
}


.tnf-closing-content > span{
    color:#ffc1dc;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}


.tnf-closing h2{
    margin:10px 0 15px;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:clamp(32px,4vw,52px);
    line-height:1.1;
}


.tnf-closing h2 em{
    color:#ffc1dc;
    font-style:normal;
}


.tnf-closing p{
    max-width:750px;
    margin:auto;

    color:rgba(255,255,255,.72);

    font-size:14px;
    line-height:1.75;
}


.tnf-closing-line{
    position:relative;

    width:200px;

    margin:25px auto 0;

    color:#ffc1dc;
}


.tnf-closing-line::before,
.tnf-closing-line::after{
    content:"";

    position:absolute;

    top:50%;

    width:75px;
    height:1px;

    background:rgba(255,255,255,.25);
}


.tnf-closing-line::before{
    left:0;
}

.tnf-closing-line::after{
    right:0;
}


/* =========================================================
TABLET
========================================================= */

@media(max-width:950px){

    .tnf-grid{
        gap:40px;
    }

    .tnf-role-list{
        grid-template-columns:1fr;
    }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:800px){

    .tnf-section{
        padding:45px 0;
    }

    .tnf-grid{
        grid-template-columns:1fr;
    }

    .tnf-founder-photo,
    .tnf-image{
        height:360px;
    }

    .tnf-founder-badge{
        right:12px;
    }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:560px){

    .tnf-container{
        width:91%;
    }

    .tnf-section{
        padding:40px 0;
    }

    .tnf-content h1,
    .tnf-content h2{
        font-size:30px;
    }

    .tnf-content > p{
        font-size:14px;
    }

    .tnf-founder-photo,
    .tnf-image{
        height:290px;
    }

    .tnf-founder-photo img,
    .tnf-image img{
        border-radius:25px 8px 25px 8px;
    }

    .tnf-founder-badge{
        left:12px;
        right:12px;
        bottom:12px;

        min-width:0;
    }

    .tnf-education{
        grid-template-columns:1fr;
    }

    .tnf-education > div{
        min-height:auto;
    }

    .tnf-impact{
        grid-template-columns:repeat(3,1fr);
    }

    .tnf-impact strong{
        font-size:22px;
    }

    .tnf-impact span{
        font-size:8px;
    }

    .tnf-role-list{
        grid-template-columns:1fr;
    }

    .tnf-social-grid{
        grid-template-columns:1fr 1fr;
    }

    .tnf-awards-list{
        grid-template-columns:1fr;
    }

    .tnf-vision-values{
        grid-template-columns:1fr 1fr;
    }

    .tnf-round-heart,
    .tnf-award-float{
        right:10px;

        width:60px;
        height:60px;

        border-width:5px;
    }

    .tnf-closing{
        padding:50px 0;
    }

    .tnf-closing h2{
        font-size:34px;
    }

}

/* =========================================================
THODU-NEEDA LEGAL SERVICES
========================================================= */

:root{
    --tnl-purple:#522579;
    --tnl-purple-dark:#301141;
    --tnl-purple-light:#78409a;

    --tnl-pink:#d64081;
    --tnl-pink-dark:#b82a68;
    --tnl-pink-soft:#fff0f6;

    --tnl-dark:#24172b;
    --tnl-text:#665d69;

    --tnl-light:#faf7fb;
    --tnl-white:#ffffff;

    --tnl-shadow:
        0 24px 65px rgba(61,29,75,.12);
}


.tnl-hero *,
.tnl-section *,
.tnl-act-section *,
.tnl-approach *,
.tnl-cta *{
    box-sizing:border-box;
}


.tnl-hero,
.tnl-section,
.tnl-act-section,
.tnl-approach,
.tnl-cta{
    font-family:"DM Sans",sans-serif;
}


.tnl-container{
    width:min(1280px,92%);
    margin:auto;
}


.tnl-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:65px;
    align-items:center;
}


/* TYPOGRAPHY */

.tnl-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:12px;

    color:var(--tnl-pink);

    font-size:11px;
    font-weight:800;
    letter-spacing:1.6px;
}


.tnl-content h1,
.tnl-content h2,
.tnl-approach-header h2{
    margin:0 0 16px;

    color:var(--tnl-dark);

    font-family:"Playfair Display",serif;

    font-size:clamp(32px,3.5vw,49px);
    line-height:1.1;

    letter-spacing:-.8px;
}


.tnl-content h1 span,
.tnl-content h2 span,
.tnl-approach-header h2 span{
    color:var(--tnl-purple);
}


.tnl-content > p{
    margin:0 0 11px;

    color:var(--tnl-text);

    font-size:15px;
    line-height:1.75;
}


.tnl-content p strong{
    color:var(--tnl-purple);
}


/* =========================================================
HERO
========================================================= */

.tnl-hero{
    padding:65px 0;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(214,64,129,.10),
            transparent 27%
        ),
        #fff;
}


.tnl-highlight{
    display:flex;
    align-items:flex-start;

    gap:12px;

    margin:18px 0;

    padding:14px 16px;

    border-left:4px solid var(--tnl-pink);

    border-radius:0 14px 14px 0;

    background:var(--tnl-pink-soft);
}


.tnl-highlight i{
    color:var(--tnl-pink);
    font-size:20px;
}


.tnl-highlight p{
    margin:0;

    color:#655064;

    font-size:12px;
    line-height:1.55;
}


.tnl-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}


.tnl-tags span{
    display:inline-flex;
    align-items:center;

    gap:6px;

    padding:8px 12px;

    border-radius:40px;

    background:#f7f1f9;

    color:var(--tnl-purple);

    font-size:10px;
    font-weight:700;
}


.tnl-tags i{
    color:var(--tnl-pink);
}


/* IMAGES */

.tnl-image,
.tnl-act-image{
    position:relative;
    height:430px;
}


.tnl-image img,
.tnl-act-image img{
    width:100%;
    height:100%;

    display:block;
    object-fit:cover;

    border-radius:35px 10px 35px 10px;

    box-shadow:var(--tnl-shadow);
}


.tnl-number{
    position:absolute;

    top:17px;
    right:17px;

    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;
    color:var(--tnl-purple);

    font-size:11px;
    font-weight:800;

    box-shadow:0 10px 30px rgba(0,0,0,.14);
}


.tnl-image-card{
    position:absolute;

    left:22px;
    bottom:22px;

    display:flex;
    align-items:center;

    gap:11px;

    padding:12px 15px;

    border-radius:15px;

    background:rgba(255,255,255,.95);

    box-shadow:0 12px 35px rgba(0,0,0,.16);
}


.tnl-image-card > span{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--tnl-pink),
        var(--tnl-purple)
    );

    color:#fff;
}


.tnl-image-card strong{
    display:block;

    color:var(--tnl-purple-dark);

    font-size:11px;
}


.tnl-image-card small{
    display:block;

    color:#897e8b;

    font-size:9px;
}


/* =========================================================
SECTIONS
========================================================= */

.tnl-section{
    padding:65px 0;
}


.tnl-soft{
    background:linear-gradient(
        135deg,
        #faf7fb,
        #fff4f8
    );
}


.tnl-white{
    background:#fff;
}


.tnl-floating-icon{
    position:absolute;

    right:-20px;
    bottom:30px;

    width:70px;
    height:70px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnl-pink),
        var(--tnl-purple)
    );

    border:7px solid #fff;

    font-size:22px;
}


/* FEATURE GRID */

.tnl-feature-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:9px;

    margin-top:18px;
}


.tnl-feature-grid > div{
    display:flex;
    align-items:center;

    gap:9px;

    padding:11px 12px;

    border-radius:13px;

    background:#fff;

    border:1px solid rgba(82,37,121,.08);

    color:#615267;

    font-size:11px;
    font-weight:600;
}


.tnl-feature-grid i{
    color:var(--tnl-pink);
}


/* GUIDANCE LIST */

.tnl-guidance-list{
    display:grid;
    gap:9px;

    margin-top:18px;
}


.tnl-guidance-list > div{
    display:grid;
    grid-template-columns:45px 1fr;

    align-items:center;

    gap:11px;

    padding:11px;

    border-radius:14px;

    background:#faf7fb;
}


.tnl-guidance-list span{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border-radius:13px;

    background:linear-gradient(
        135deg,
        var(--tnl-pink),
        var(--tnl-purple)
    );

    color:#fff;
}


.tnl-guidance-list strong{
    display:block;

    color:var(--tnl-purple-dark);

    font-size:12px;
}


.tnl-guidance-list p{
    margin:2px 0 0;

    color:#7c707e;

    font-size:10px;
    line-height:1.45;
}


/* =========================================================
ACT SECTION
========================================================= */

.tnl-act-section{
    padding:68px 0;

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(214,64,129,.18),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #321142,
            #522477 58%,
            #742f7a
        );
}


.tnl-light-content h2{
    color:#fff;
}


.tnl-light-content h2 span{
    color:#ffc1dc;
}


.tnl-light-content > p{
    color:rgba(255,255,255,.76);
}


.tnl-light-content p strong{
    color:#fff;
}


.tnl-light-kicker{
    color:#ffc1dc;
}


.tnl-number-light{
    background:var(--tnl-pink);
    color:#fff;
}


.tnl-act-image img{
    border:5px solid rgba(255,255,255,.09);
}


.tnl-act-badge{
    position:absolute;

    left:20px;
    bottom:20px;

    padding:10px 14px;

    border-radius:40px;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnl-pink),
        var(--tnl-purple)
    );

    font-size:10px;
    font-weight:700;
}


.tnl-act-badge i{
    margin-right:7px;
}


.tnl-dark-points{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:18px;
}


.tnl-dark-points div{
    display:flex;
    align-items:center;

    gap:8px;

    padding:10px 12px;

    border-radius:12px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.1);

    color:#fff;

    font-size:10.5px;
}


.tnl-dark-points i{
    width:21px;
    height:21px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tnl-pink);

    font-size:7px;
}


.tnl-act-note{
    display:flex;
    align-items:flex-start;

    gap:10px;

    margin-top:16px;

    padding:12px 14px;

    border-radius:13px;

    background:rgba(255,255,255,.08);
}


.tnl-act-note i{
    color:#ffc1dc;
}


.tnl-act-note p{
    margin:0;

    color:rgba(255,255,255,.75);

    font-size:10.5px;
    line-height:1.5;
}


/* =========================================================
COUNSELLING STEPS
========================================================= */

.tnl-support-steps{
    display:grid;
    gap:8px;

    margin-top:18px;
}


.tnl-support-steps > div{
    display:grid;
    grid-template-columns:45px 1fr;

    gap:11px;
    align-items:center;

    padding:10px 12px;

    border-radius:13px;

    background:#fff;
}


.tnl-support-steps > div > span{
    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tnl-pink-soft);

    color:var(--tnl-pink);

    font-size:10px;
    font-weight:800;
}


.tnl-support-steps strong{
    display:block;

    color:var(--tnl-purple-dark);

    font-size:12px;
}


.tnl-support-steps p{
    margin:2px 0 0;

    color:#7e7280;

    font-size:10px;
}


/* =========================================================
APPROACH
========================================================= */

.tnl-approach{
    padding:65px 0;

    background:#fff;
}


.tnl-approach-header{
    max-width:700px;
    margin:0 auto 30px;

    text-align:center;
}


.tnl-approach-header p{
    margin:0 auto;

    max-width:620px;

    color:var(--tnl-text);

    font-size:14px;
    line-height:1.65;
}


.tnl-approach-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:14px;
}


.tnl-approach-grid article{
    position:relative;

    padding:25px 20px;

    min-height:220px;

    border-radius:20px;

    background:linear-gradient(
        145deg,
        #fff,
        #faf7fb
    );

    border:1px solid rgba(82,37,121,.08);

    box-shadow:0 12px 35px rgba(62,29,75,.06);
}


.tnl-approach-grid article > span{
    position:absolute;

    top:15px;
    right:17px;

    color:rgba(82,37,121,.08);

    font-size:28px;
    font-weight:800;
}


.tnl-approach-icon{
    width:50px;
    height:50px;

    display:grid;
    place-items:center;

    margin-bottom:16px;

    border-radius:16px;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--tnl-pink),
        var(--tnl-purple)
    );
}


.tnl-approach-grid h3{
    margin:0 0 7px;

    color:var(--tnl-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:19px;
}


.tnl-approach-grid p{
    margin:0;

    color:var(--tnl-text);

    font-size:12px;
    line-height:1.6;
}


/* =========================================================
CTA
========================================================= */

.tnl-cta{
    position:relative;

    padding:65px 0;

    overflow:hidden;

    background-image:
        url("https://images.pexels.com/photos/12196743/pexels-photo-12196743.jpeg?auto=compress&cs=tinysrgb&w=1600");

    background-size:cover;
    background-position:center;
}


.tnl-cta-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(42,13,55,.96),
        rgba(70,22,91,.88),
        rgba(44,13,58,.47)
    );
}


.tnl-cta .tnl-container{
    position:relative;
    z-index:2;
}


.tnl-cta-box{
    max-width:700px;
}


.tnl-cta-box > span{
    color:#ffc1dc;

    font-size:10px;
    font-weight:800;

    letter-spacing:1.8px;
}


.tnl-cta h2{
    margin:9px 0 15px;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:clamp(34px,4vw,53px);
    line-height:1.08;
}


.tnl-cta h2 em{
    display:block;

    color:#ffc1dc;
    font-style:normal;
}


.tnl-cta p{
    max-width:620px;

    margin:0;

    color:rgba(255,255,255,.76);

    font-size:14px;
    line-height:1.7;
}


.tnl-btn{
    display:inline-flex;
    align-items:center;

    gap:10px;

    margin-top:20px;

    padding:11px 11px 11px 19px;

    border-radius:50px;

    background:#fff;

    color:var(--tnl-purple);

    text-decoration:none;

    font-size:11px;
    font-weight:800;
}


.tnl-btn i{
    width:34px;
    height:34px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:var(--tnl-pink);

    color:#fff;
}


/* =========================================================
RESPONSIVE
========================================================= */

@media(max-width:950px){

    .tnl-grid{
        gap:40px;
    }

    .tnl-approach-grid{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:800px){

    .tnl-hero,
    .tnl-section,
    .tnl-act-section,
    .tnl-approach,
    .tnl-cta{
        padding:45px 0;
    }

    .tnl-grid{
        grid-template-columns:1fr;
    }

    .tnl-image,
    .tnl-act-image{
        height:350px;
    }

}


@media(max-width:560px){

    .tnl-container{
        width:91%;
    }

    .tnl-content h1,
    .tnl-content h2,
    .tnl-approach-header h2{
        font-size:30px;
    }

    .tnl-content > p{
        font-size:14px;
    }

    .tnl-image,
    .tnl-act-image{
        height:290px;
    }

    .tnl-feature-grid,
    .tnl-dark-points,
    .tnl-approach-grid{
        grid-template-columns:1fr;
    }

    .tnl-floating-icon{
        right:10px;

        width:58px;
        height:58px;

        border-width:5px;
    }

    .tnl-cta{
        background-position:62% center;
    }

    .tnl-cta-overlay{
        background:rgba(47,14,62,.87);
    }

    .tnl-cta h2{
        font-size:35px;
    }

}

/* =========================================================
THODU-NEEDA CONTACT PAGE
========================================================= */

:root{

    --tnc-purple:#522579;
    --tnc-purple-dark:#301141;
    --tnc-purple-light:#754097;

    --tnc-pink:#d64081;
    --tnc-pink-dark:#b82a68;
    --tnc-pink-soft:#fff0f6;

    --tnc-dark:#24172b;
    --tnc-text:#655c69;

    --tnc-white:#ffffff;
    --tnc-light:#faf7fb;

    --tnc-shadow:
        0 24px 65px rgba(61,29,75,.12);

}


.tnc-contact *,
.tnc-support *{
    box-sizing:border-box;
}


.tnc-contact,
.tnc-support{
    font-family:"DM Sans",sans-serif;
}


.tnc-container{
    width:min(1280px,92%);
    margin:auto;
}



/* =========================================================
CONTACT MAIN
========================================================= */

.tnc-contact{

    position:relative;

    overflow:hidden;

    padding:65px 0;

    background:
        radial-gradient(
            circle at 5% 5%,
            rgba(214,64,129,.10),
            transparent 25%
        ),
        radial-gradient(
            circle at 95% 90%,
            rgba(82,37,121,.07),
            transparent 27%
        ),
        #fff;

}


/* HEADING */

.tnc-heading{

    max-width:760px;

    margin:
        0 auto 35px;

    text-align:center;

}


.tnc-kicker{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin-bottom:11px;

    color:var(--tnc-pink);

    font-size:11px;

    font-weight:800;

    letter-spacing:1.6px;

}


.tnc-heading h1{

    margin:0 0 12px;

    color:var(--tnc-dark);

    font-family:"Playfair Display",serif;

    font-size:
        clamp(34px,4vw,52px);

    line-height:1.08;

}


.tnc-heading h1 span{

    color:var(--tnc-purple);

}


.tnc-heading p{

    max-width:670px;

    margin:auto;

    color:var(--tnc-text);

    font-size:14.5px;

    line-height:1.7;

}



/* =========================================================
MAIN GRID
========================================================= */

.tnc-main-grid{

    display:grid;

    grid-template-columns:
        .93fr 1.07fr;

    gap:25px;

    align-items:stretch;

}



/* =========================================================
LEFT PANEL
========================================================= */

.tnc-contact-panel{

    overflow:hidden;

    border-radius:28px;

    background:#fff;

    border:
        1px solid rgba(82,37,121,.08);

    box-shadow:var(--tnc-shadow);

}


.tnc-image{

    position:relative;

    height:235px;

    overflow:hidden;

}


.tnc-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

}


.tnc-image-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(41,14,53,.05),
            rgba(47,14,62,.72)
        );

}


.tnc-image-content{

    position:absolute;

    left:20px;
    bottom:18px;

    display:flex;

    align-items:center;

    gap:11px;

    color:#fff;

}


.tnc-image-content > span{

    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:var(--tnc-pink);

}


.tnc-image-content strong{

    display:block;

    font-size:13px;

}


.tnc-image-content small{

    display:block;

    margin-top:2px;

    font-size:9.5px;

    opacity:.75;

}



/* DETAILS */

.tnc-details{

    padding:24px;

}


.tnc-organisation{

    margin-bottom:18px;

    padding-bottom:17px;

    border-bottom:
        1px solid rgba(82,37,121,.08);

}


.tnc-small-title{

    display:block;

    margin-bottom:5px;

    color:var(--tnc-pink);

    font-size:9px;

    font-weight:800;

    letter-spacing:1.3px;

}


.tnc-organisation h2{

    margin:0;

    color:var(--tnc-purple-dark);

    font-family:"Playfair Display",serif;

    font-size:22px;

}


.tnc-organisation p{

    margin:3px 0 0;

    color:#827584;

    font-size:11px;

}



/* INFO ROW */

.tnc-info-row{

    display:grid;

    grid-template-columns:
        44px 1fr;

    gap:11px;

    align-items:start;

    padding:10px 0;

}


.tnc-info-icon{

    width:42px;
    height:42px;

    display:grid;

    place-items:center;

    border-radius:13px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tnc-pink),
            var(--tnc-purple)
        );

}


.tnc-info-row small{

    display:block;

    margin-bottom:3px;

    color:var(--tnc-pink);

    font-size:8.5px;

    font-weight:800;

    letter-spacing:1px;

}


.tnc-info-row p{

    margin:0;

    color:#695e6c;

    font-size:11.5px;

    line-height:1.55;

}


.tnc-info-row a{

    color:#695e6c;

    text-decoration:none;

    transition:.25s;

}


.tnc-info-row a:hover{

    color:var(--tnc-pink);

}



/* QUICK ACTIONS */

.tnc-actions{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:14px;

}


.tnc-actions a{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    padding:10px;

    border-radius:40px;

    text-decoration:none;

    color:var(--tnc-purple);

    background:#f8f2fa;

    font-size:10.5px;

    font-weight:700;

    transition:.25s;

}


.tnc-actions a:hover{

    background:var(--tnc-purple);

    color:#fff;

}



/* =========================================================
FORM CARD
========================================================= */

.tnc-form-card{

    position:relative;

    padding:35px;

    border-radius:28px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fcf8fd
        );

    border:
        1px solid rgba(82,37,121,.08);

    box-shadow:var(--tnc-shadow);

}


.tnc-form-label{

    display:inline-block;

    margin-bottom:8px;

    color:var(--tnc-pink);

    font-size:9.5px;

    font-weight:800;

    letter-spacing:1.5px;

}


.tnc-form-card > h2{

    margin:0 0 10px;

    color:var(--tnc-dark);

    font-family:"Playfair Display",serif;

    font-size:
        clamp(28px,3vw,40px);

    line-height:1.1;

}


.tnc-form-card > h2 span{

    color:var(--tnc-purple);

}


.tnc-form-intro{

    margin:0 0 23px;

    color:var(--tnc-text);

    font-size:12.5px;

    line-height:1.65;

}



/* FORM */

.tnc-form{

    display:grid;

    gap:13px;

}


.tnc-field-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

}


.tnc-field label{

    display:block;

    margin-bottom:6px;

    color:var(--tnc-purple-dark);

    font-size:10px;

    font-weight:700;

}


.tnc-input-wrap{

    position:relative;

}


.tnc-input-wrap > i{

    position:absolute;

    left:14px;

    top:50%;

    transform:translateY(-50%);

    color:var(--tnc-pink);

    font-size:12px;

    pointer-events:none;

}


.tnc-input-wrap input,
.tnc-input-wrap select,
.tnc-input-wrap textarea{

    width:100%;

    outline:none;

    border:
        1px solid #e7dfe9;

    border-radius:12px;

    background:#fff;

    color:#534b56;

    font-family:"DM Sans",sans-serif;

    font-size:11.5px;

    transition:.25s;

}


.tnc-input-wrap input,
.tnc-input-wrap select{

    height:48px;

    padding:
        0 14px 0 40px;

}


.tnc-input-wrap textarea{

    min-height:125px;

    resize:vertical;

    padding:
        14px 14px 14px 40px;

}


.tnc-textarea-wrap > i{

    top:17px;

    transform:none;

}


.tnc-input-wrap input:focus,
.tnc-input-wrap select:focus,
.tnc-input-wrap textarea:focus{

    border-color:
        rgba(214,64,129,.55);

    box-shadow:
        0 0 0 3px rgba(214,64,129,.07);

}



/* BUTTON */

.tnc-submit{

    width:100%;

    min-height:49px;

    margin-top:3px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    border:none;

    border-radius:50px;

    cursor:pointer;

    background:
        linear-gradient(
            135deg,
            var(--tnc-pink),
            var(--tnc-purple)
        );

    color:#fff;

    font-family:"DM Sans",sans-serif;

    font-size:11px;

    font-weight:800;

    box-shadow:
        0 12px 25px rgba(156,44,115,.19);

    transition:.3s;

}


.tnc-submit i{

    transition:.3s;

}


.tnc-submit:hover{

    transform:translateY(-2px);

    box-shadow:
        0 17px 32px rgba(156,44,115,.27);

}


.tnc-submit:hover i{

    transform:translateX(4px);

}



/* PRIVACY NOTE */

.tnc-form-note{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:6px;

    color:#918592;

    font-size:9.5px;

}


.tnc-form-note i{

    color:var(--tnc-pink);

}



/* SUCCESS */

.tnc-success{

    display:none;

    padding:11px 13px;

    border-radius:12px;

    background:#eef9f1;

    color:#2f7b45;

    text-align:center;

    font-size:10.5px;

    font-weight:700;

}


.tnc-success.show{

    display:block;

}



/* =========================================================
SUPPORT CTA
========================================================= */

.tnc-support{

    position:relative;

    overflow:hidden;

    min-height:390px;

    display:flex;

    align-items:center;

    background-image:
        url("https://images.pexels.com/photos/12196743/pexels-photo-12196743.jpeg?auto=compress&cs=tinysrgb&w=1600");

    background-size:cover;

    background-position:center;

}


.tnc-support-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(44,13,58,.96) 0%,
            rgba(70,23,90,.87) 50%,
            rgba(52,15,66,.30) 100%
        );

}


.tnc-support .tnc-container{

    position:relative;

    z-index:2;

}


.tnc-support-content{

    max-width:670px;

    padding:55px 0;

}


.tnc-support-content > span{

    color:#ffc2dd;

    font-size:9px;

    font-weight:800;

    letter-spacing:1.7px;

}


.tnc-support h2{

    margin:9px 0 14px;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:
        clamp(34px,4vw,52px);

    line-height:1.08;

}


.tnc-support h2 em{

    display:block;

    color:#ffc1dc;

    font-style:normal;

}


.tnc-support p{

    max-width:620px;

    margin:0;

    color:rgba(255,255,255,.78);

    font-size:14px;

    line-height:1.7;

}


.tnc-support-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:9px;

    margin-top:20px;

}


.tnc-support-buttons a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:11px 18px;

    border-radius:40px;

    text-decoration:none;

    font-size:10.5px;

    font-weight:800;

}


.tnc-primary-btn{

    color:var(--tnc-purple);

    background:#fff;

}


.tnc-outline-btn{

    color:#fff;

    border:
        1px solid rgba(255,255,255,.4);

    background:
        rgba(255,255,255,.08);

    backdrop-filter:blur(8px);

}



/* =========================================================
TABLET
========================================================= */

@media(max-width:950px){

    .tnc-main-grid{

        grid-template-columns:1fr;

    }


    .tnc-contact-panel{

        display:grid;

        grid-template-columns:.8fr 1.2fr;

    }


    .tnc-image{

        height:100%;

        min-height:430px;

    }

}



/* =========================================================
MOBILE
========================================================= */

@media(max-width:700px){

    .tnc-contact{

        padding:45px 0;

    }


    .tnc-heading{

        margin-bottom:25px;

    }


    .tnc-contact-panel{

        display:block;

    }


    .tnc-image{

        height:230px;

        min-height:0;

    }


    .tnc-form-card{

        padding:25px 20px;

    }


    .tnc-field-row{

        grid-template-columns:1fr;

    }


    .tnc-support{

        min-height:420px;

    }

}



/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:500px){

    .tnc-container{

        width:91%;

    }


    .tnc-heading h1{

        font-size:34px;

    }


    .tnc-heading p{

        font-size:13.5px;

    }


    .tnc-details{

        padding:20px;

    }


    .tnc-organisation h2{

        font-size:20px;

    }


    .tnc-actions{

        grid-template-columns:1fr;

    }


    .tnc-form-card > h2{

        font-size:29px;

    }


    .tnc-support{

        background-position:65% center;

    }


    .tnc-support-overlay{

        background:
            rgba(48,14,62,.86);

    }


    .tnc-support h2{

        font-size:35px;

    }


    .tnc-support-buttons{

        flex-direction:column;

        align-items:flex-start;

    }

}	

/* =========================================
THODU-NEEDA CONTACT PAGE
FONT SIZE FIX
ADD AT VERY END OF CSS
========================================= */

.tnc-heading h1{
    font-size: clamp(40px, 4.5vw, 58px) !important;
}

.tnc-heading p{
    font-size: 17px !important;
    line-height: 1.8 !important;
}

.tnc-kicker{
    font-size: 13px !important;
    letter-spacing: 1.5px;
}


/* LEFT CONTACT PANEL */

.tnc-small-title{
    font-size: 11px !important;
}

.tnc-organisation h2{
    font-size: 26px !important;
}

.tnc-organisation p{
    font-size: 14px !important;
}

.tnc-info-row small{
    font-size: 10px !important;
}

.tnc-info-row p,
.tnc-info-row a{
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.tnc-image-content strong{
    font-size: 16px !important;
}

.tnc-image-content small{
    font-size: 12px !important;
}

.tnc-actions a{
    font-size: 13px !important;
    padding: 12px 14px !important;
}


/* FORM */

.tnc-form-label{
    font-size: 11px !important;
}

.tnc-form-card > h2{
    font-size: clamp(34px, 3.5vw, 46px) !important;
}

.tnc-form-intro{
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.tnc-field label{
    font-size: 13px !important;
    margin-bottom: 7px !important;
}

.tnc-input-wrap input,
.tnc-input-wrap select,
.tnc-input-wrap textarea{
    font-size: 14px !important;
}

.tnc-input-wrap input,
.tnc-input-wrap select{
    height: 52px !important;
}

.tnc-input-wrap textarea{
    min-height: 140px !important;
}

.tnc-input-wrap > i{
    font-size: 14px !important;
}

.tnc-submit{
    font-size: 14px !important;
    min-height: 52px !important;
}

.tnc-form-note{
    font-size: 11px !important;
}

.tnc-success{
    font-size: 13px !important;
}


/* BOTTOM CTA */

.tnc-support-content > span{
    font-size: 11px !important;
}

.tnc-support h2{
    font-size: clamp(40px, 4.5vw, 58px) !important;
}

.tnc-support p{
    font-size: 16px !important;
    line-height: 1.8 !important;
}

.tnc-support-buttons a{
    font-size: 13px !important;
    padding: 13px 20px !important;
}


/* =========================================
TABLET
========================================= */

@media(max-width: 900px){

    .tnc-heading p{
        font-size: 16px !important;
    }

    .tnc-info-row p,
    .tnc-info-row a{
        font-size: 14px !important;
    }

    .tnc-form-intro{
        font-size: 14px !important;
    }
}


/* =========================================
MOBILE
========================================= */

@media(max-width: 600px){

    .tnc-heading h1{
        font-size: 36px !important;
    }

    .tnc-heading p{
        font-size: 15px !important;
    }

    .tnc-kicker{
        font-size: 11px !important;
    }

    .tnc-organisation h2{
        font-size: 23px !important;
    }

    .tnc-organisation p{
        font-size: 13px !important;
    }

    .tnc-info-row p,
    .tnc-info-row a{
        font-size: 14px !important;
    }

    .tnc-image-content strong{
        font-size: 15px !important;
    }

    .tnc-image-content small{
        font-size: 11px !important;
    }

    .tnc-form-card > h2{
        font-size: 31px !important;
    }

    .tnc-form-intro{
        font-size: 14px !important;
    }

    .tnc-field label{
        font-size: 13px !important;
    }

    .tnc-input-wrap input,
    .tnc-input-wrap select,
    .tnc-input-wrap textarea{
        font-size: 14px !important;
    }

    .tnc-submit{
        font-size: 13px !important;
    }

    .tnc-support h2{
        font-size: 35px !important;
    }

    .tnc-support p{
        font-size: 15px !important;
    }

    .tnc-support-buttons a{
        font-size: 13px !important;
    }
}

/* =========================================================
THODU-NEEDA GALLERY PAGE
========================================================= */

:root{

    --tng-purple:#522579;
    --tng-purple-dark:#301141;
    --tng-purple-light:#754097;

    --tng-pink:#d64081;
    --tng-pink-dark:#b82969;

    --tng-dark:#24172b;
    --tng-text:#675d6a;

    --tng-light:#faf7fb;
    --tng-white:#fff;

    --tng-shadow:
        0 22px 55px rgba(61,29,75,.12);

}


.tng-gallery *,
.tng-cta *,
.tng-lightbox *{
    box-sizing:border-box;
}


.tng-gallery,
.tng-cta,
.tng-lightbox{
    font-family:"DM Sans",sans-serif;
}


.tng-container{
    width:min(1280px,92%);
    margin:auto;
}


/* =========================================================
MAIN
========================================================= */

.tng-gallery{

    position:relative;

    overflow:hidden;

    padding:65px 0;

    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(214,64,129,.09),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 90%,
            rgba(82,37,121,.06),
            transparent 25%
        ),
        #fff;

}


/* HEADING */

.tng-heading{

    max-width:780px;

    margin:0 auto 30px;

    text-align:center;

}


.tng-kicker{

    display:inline-flex;

    align-items:center;

    gap:7px;

    margin-bottom:11px;

    color:var(--tng-pink);

    font-size:12px;

    font-weight:800;

    letter-spacing:1.6px;

}


.tng-heading h1{

    margin:0 0 13px;

    color:var(--tng-dark);

    font-family:"Playfair Display",serif;

    font-size:clamp(38px,4.5vw,56px);

    line-height:1.07;

}


.tng-heading h1 span{

    color:var(--tng-purple);

}


.tng-heading p{

    max-width:700px;

    margin:auto;

    color:var(--tng-text);

    font-size:16px;

    line-height:1.75;

}



/* =========================================================
FILTER
========================================================= */

.tng-filter{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:8px;

    margin-bottom:30px;

}


.tng-filter button{

    border:none;

    cursor:pointer;

    padding:10px 17px;

    border-radius:40px;

    color:var(--tng-purple);

    background:#f7f1f9;

    font-family:"DM Sans",sans-serif;

    font-size:12px;

    font-weight:700;

    transition:.25s ease;

}


.tng-filter button:hover,
.tng-filter button.active{

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--tng-pink),
            var(--tng-purple)
        );

    box-shadow:
        0 10px 22px rgba(173,43,112,.18);

}



/* =========================================================
GALLERY GRID
========================================================= */

.tng-grid{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    grid-auto-rows:270px;

    gap:16px;

}


.tng-item{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    cursor:pointer;

    box-shadow:var(--tng-shadow);

    transition:
        transform .35s ease,
        opacity .3s ease;

}


.tng-item.tng-wide{

    grid-column:span 2;

}


.tng-item.tng-tall{

    grid-row:span 2;

}


.tng-item.hide{

    display:none;

}


.tng-item img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .7s ease;

}


.tng-item:hover img{

    transform:scale(1.07);

}



/* OVERLAY */

.tng-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:20px;

    padding:22px;

    background:
        linear-gradient(
            180deg,
            transparent 35%,
            rgba(43,15,55,.88) 100%
        );

    opacity:.94;

}


.tng-overlay span{

    display:block;

    margin-bottom:4px;

    color:#ffc1dc;

    font-size:10px;

    font-weight:800;

    letter-spacing:1px;

    text-transform:uppercase;

}


.tng-overlay h3{

    margin:0;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:21px;

}


.tng-view{

    flex:0 0 44px;

    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#fff;

    color:var(--tng-purple);

    font-size:14px;

    transition:.3s ease;

}


.tng-item:hover .tng-view{

    transform:rotate(90deg);

    color:#fff;

    background:var(--tng-pink);

}



/* =========================================================
CTA
========================================================= */

.tng-cta{

    position:relative;

    min-height:380px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background-image:
        url("https://images.pexels.com/photos/12196743/pexels-photo-12196743.jpeg?auto=compress&cs=tinysrgb&w=1600");

    background-size:cover;

    background-position:center;

}


.tng-cta-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(45,13,59,.97),
            rgba(72,23,91,.88),
            rgba(47,14,59,.35)
        );

}


.tng-cta .tng-container{

    position:relative;

    z-index:2;

}


.tng-cta-content{

    max-width:670px;

    padding:55px 0;

}


.tng-cta-content > span{

    color:#ffc1dc;

    font-size:10px;

    font-weight:800;

    letter-spacing:1.7px;

}


.tng-cta h2{

    margin:8px 0 15px;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:clamp(36px,4vw,52px);

    line-height:1.08;

}


.tng-cta h2 em{

    display:block;

    color:#ffc1dc;

    font-style:normal;

}


.tng-cta p{

    margin:0;

    max-width:600px;

    color:rgba(255,255,255,.78);

    font-size:15px;

    line-height:1.7;

}


.tng-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:20px;

    padding:11px 11px 11px 19px;

    border-radius:50px;

    color:var(--tng-purple);

    background:#fff;

    text-decoration:none;

    font-size:12px;

    font-weight:800;

}


.tng-btn i{

    width:35px;
    height:35px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:var(--tng-pink);

    color:#fff;

}



/* =========================================================
LIGHTBOX
========================================================= */

.tng-lightbox{

    position:fixed;

    inset:0;

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:30px;

    background:rgba(24,8,30,.94);

    backdrop-filter:blur(10px);

    opacity:0;

    visibility:hidden;

    transition:.3s ease;

}


.tng-lightbox.active{

    opacity:1;

    visibility:visible;

}


.tng-lightbox-inner{

    width:min(1000px,82vw);

    max-height:88vh;

    text-align:center;

}


.tng-lightbox-inner img{

    display:block;

    width:100%;

    max-height:75vh;

    object-fit:contain;

    border-radius:18px;

}


.tng-lightbox-caption{

    margin-top:13px;

    color:#fff;

}


.tng-lightbox-caption span{

    color:#ffc1dc;

    font-size:10px;

    font-weight:800;

    letter-spacing:1.2px;

}


.tng-lightbox-caption h3{

    margin:4px 0 0;

    font-family:"Playfair Display",serif;

    font-size:22px;

}


.tng-close{

    position:absolute;

    top:25px;
    right:25px;

    width:46px;
    height:46px;

    display:grid;

    place-items:center;

    border:none;

    border-radius:50%;

    background:#fff;

    color:var(--tng-purple);

    cursor:pointer;

    font-size:17px;

}


.tng-nav{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:50px;
    height:50px;

    display:grid;

    place-items:center;

    border:none;

    border-radius:50%;

    background:#fff;

    color:var(--tng-purple);

    cursor:pointer;

    font-size:16px;

}


.tng-prev{
    left:30px;
}

.tng-next{
    right:30px;
}



/* =========================================================
TABLET
========================================================= */

@media(max-width:900px){

    .tng-grid{

        grid-template-columns:
            repeat(2,1fr);

    }

}



/* =========================================================
MOBILE
========================================================= */

@media(max-width:600px){

    .tng-gallery{

        padding:45px 0;

    }


    .tng-heading h1{

        font-size:36px;

    }


    .tng-heading p{

        font-size:15px;

    }


    .tng-filter{

        justify-content:flex-start;

        flex-wrap:nowrap;

        overflow-x:auto;

        padding-bottom:7px;

        scrollbar-width:none;

    }


    .tng-filter::-webkit-scrollbar{

        display:none;

    }


    .tng-filter button{

        flex:0 0 auto;

    }


    .tng-grid{

        grid-template-columns:1fr;

        grid-auto-rows:285px;

    }


    .tng-item.tng-wide{

        grid-column:span 1;

    }


    .tng-item.tng-tall{

        grid-row:span 1;

    }


    .tng-overlay{

        padding:18px;

    }


    .tng-overlay h3{

        font-size:20px;

    }


    .tng-cta{

        min-height:420px;

        background-position:65% center;

    }


    .tng-cta-overlay{

        background:
            rgba(48,14,62,.86);

    }


    .tng-cta h2{

        font-size:35px;

    }


    .tng-nav{

        width:42px;
        height:42px;

    }


    .tng-prev{

        left:8px;

    }


    .tng-next{

        right:8px;

    }


    .tng-lightbox-inner{

        width:88vw;

    }

}

/* ======================================================
THODU-NEEDA COMMON PAGE BANNER
====================================================== */

:root{
    --tn-purple:#522579;
    --tn-purple-dark:#301141;
    --tn-purple-light:#754097;
    --tn-pink:#d64081;
    --tn-white:#ffffff;
}

.tn-page-banner{
    position:relative;
    min-height:320px;
    display:flex;
    align-items:center;
    overflow:hidden;

    background-size:cover;
    background-position:center;

    font-family:"DM Sans",sans-serif;
}

.tn-page-banner *,
.tn-page-banner *::before,
.tn-page-banner *::after{
    box-sizing:border-box;
}

.tn-banner-container{
    position:relative;
    z-index:3;

    width:min(1280px,92%);
    margin:auto;
}

.tn-banner-overlay{
    position:absolute;
    inset:0;
    z-index:1;

    background:
        linear-gradient(
            90deg,
            rgba(42,13,55,.96) 0%,
            rgba(70,24,91,.87) 46%,
            rgba(58,18,75,.48) 75%,
            rgba(37,11,48,.22) 100%
        );
}

.tn-banner-content{
    max-width:700px;
    padding:55px 0;
    color:#fff;
}

.tn-banner-label{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:10px;

    color:#ffc4de;

    font-size:11px;
    font-weight:800;
    letter-spacing:1.8px;
}

.tn-banner-label::before{
    content:"";
    width:32px;
    height:2px;
    background:var(--tn-pink);
}

.tn-banner-content h1{
    margin:0 0 10px;

    color:#fff;

    font-family:"Playfair Display",serif;
    font-size:clamp(38px,5vw,62px);
    line-height:1.03;

    letter-spacing:-1px;
}

.tn-banner-content p{
    max-width:600px;

    margin:0 0 18px;

    color:rgba(255,255,255,.82);

    font-size:15px;
    line-height:1.65;
}


/* BREADCRUMB */

.tn-breadcrumb{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:8px 13px;

    border-radius:30px;

    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.13);

    backdrop-filter:blur(9px);
}

.tn-breadcrumb a,
.tn-breadcrumb strong{
    color:#fff;
    text-decoration:none;

    font-size:11px;
    font-weight:600;
}

.tn-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.tn-breadcrumb a:hover{
    color:#ffc4de;
}

.tn-breadcrumb > span{
    color:#ffc4de;
    font-size:8px;
}


/* DECORATIVE SHAPES */

.tn-banner-shape{
    position:absolute;
    z-index:2;

    border-radius:50%;

    pointer-events:none;
}

.tn-banner-shape-1{
    width:150px;
    height:150px;

    top:-60px;
    right:12%;

    border:28px solid rgba(255,255,255,.07);
}

.tn-banner-shape-2{
    width:90px;
    height:90px;

    bottom:-30px;
    right:28%;

    background:rgba(214,64,129,.22);
}


/* ======================================================
DIFFERENT IMAGE FOR EACH PAGE
====================================================== */

/* ABOUT PAGE */
.banner-about{
    background-image:
        url("images/gallery-2.avif");
}


/* PROGRAMMES PAGE */
.banner-programmes{
    background-image:
        url("images/gallery-2.avif");
}


/* FOUNDER PAGE */
.banner-founder{
    background-image:
        url("images/gallery-2.avif");
}


/* LEGAL SERVICES */
.banner-legal{
    background-image:
        url("images/gallery-2.avif");
}


/* GALLERY */
.banner-gallery{
    background-image:
        url("images/gallery-2.avif");
}


/* CONTACT */
.banner-contact{
    background-image:
        url("images/gallery-2.avif");
}


/* HOME / GENERAL */
.banner-home{
    background-image:
        url("images/gallery-2.avif");
}


/* ======================================================
RESPONSIVE
====================================================== */

@media(max-width:768px){

    .tn-page-banner{
        min-height:280px;
        background-position:center;
    }

    .tn-banner-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(42,13,55,.94),
                rgba(65,20,83,.76)
            );
    }

    .tn-banner-content{
        padding:45px 0;
        max-width:620px;
    }

    .tn-banner-content h1{
        font-size:40px;
    }

    .tn-banner-content p{
        font-size:14px;
    }
}


@media(max-width:500px){

    .tn-page-banner{
        min-height:245px;
    }

    .tn-banner-container{
        width:91%;
    }

    .tn-banner-content{
        padding:38px 0;
    }

    .tn-banner-label{
        font-size:9px;
    }

    .tn-banner-content h1{
        font-size:34px;
    }

    .tn-banner-content p{
        font-size:13.5px;
        margin-bottom:14px;
    }

    .tn-breadcrumb{
        padding:7px 11px;
    }

    .tn-breadcrumb a,
    .tn-breadcrumb strong{
        font-size:10px;
    }

}

/* =========================================================
THODU-NEEDA FOUNDER SECTION - TEXT VISIBILITY FIX
ADD THIS AT THE VERY END OF YOUR CSS
========================================================= */

/* Main founder section */
.founder-section,
.tn-founder-section,
.founder-about,
.founder-wrapper{
    color:#403646 !important;
}


/* MAIN HEADING */
.founder-section h1,
.founder-section h2,
.tn-founder-section h1,
.tn-founder-section h2,
.founder-about h1,
.founder-about h2{
    color:#351443 !important;
}


/* FOUNDER NAME */
.founder-section h1,
.tn-founder-section h1{
    color:#351443 !important;
    opacity:1 !important;
}


/* PINK DESIGNATION */
.founder-section h3,
.tn-founder-section h3,
.founder-section .designation,
.tn-founder-section .designation{
    color:#d64081 !important;
    opacity:1 !important;
}


/* ALL NORMAL PARAGRAPHS */
.founder-section p,
.tn-founder-section p,
.founder-about p,
.founder-content p{
    color:#665c6a !important;
    opacity:1 !important;
    font-size:15px !important;
    line-height:1.8 !important;
}


/* STRONG / BOLD TEXT */
.founder-section p strong,
.tn-founder-section p strong,
.founder-content strong{
    color:#442451 !important;
    font-weight:700 !important;
}


/* SMALL RED TOP LABEL */
.founder-section .section-label,
.founder-section .subtitle,
.founder-section .kicker,
.tn-founder-section .section-label,
.tn-founder-section .subtitle,
.tn-founder-section .kicker{
    color:#e52f57 !important;
    opacity:1 !important;
}


/* QUALIFICATION PILLS */
.founder-section .tag,
.founder-section .badge,
.founder-section .qualification,
.tn-founder-section .tag,
.tn-founder-section .badge,
.tn-founder-section .qualification{
    color:#522579 !important;
}


/* =========================================================
IMPORTANT:
KEEP TEXT INSIDE PURPLE VISION BOX WHITE
========================================================= */

.founder-section .vision-box,
.founder-section .vision-card,
.tn-founder-section .vision-box,
.tn-founder-section .vision-card{
    background:#672783 !important;
    color:#fff !important;
}


.founder-section .vision-box *,
.founder-section .vision-card *,
.tn-founder-section .vision-box *,
.tn-founder-section .vision-card *{
    color:#fff !important;
}


.founder-section .vision-box small,
.founder-section .vision-card small,
.tn-founder-section .vision-box small,
.tn-founder-section .vision-card small{
    color:#ffb8d4 !important;
}


/* =========================================================
IF YOUR SECTION HAS WHITE TEXT SET DIRECTLY ON DIVS
========================================================= */

.founder-content,
.founder-content div{
    opacity:1;
}


.founder-content > p,
.founder-content > div:not(.vision-box):not(.vision-card){
    color:#665c6a !important;
}


/* =========================================================
FONT SIZE IMPROVEMENT
========================================================= */

.founder-content h1,
.founder-content h2{
    font-size:clamp(36px,4vw,52px) !important;
    line-height:1.1 !important;
}


.founder-content h3{
    font-size:15px !important;
}


.founder-content p{
    font-size:15px !important;
}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px){

    .founder-content h1,
    .founder-content h2{
        font-size:34px !important;
    }

    .founder-content p,
    .founder-section p,
    .tn-founder-section p{
        font-size:14px !important;
        line-height:1.75 !important;
    }

}

/* =========================================================
THODU-NEEDA FOUNDER SECTION - TEXT VISIBILITY FIX
ADD THIS AT THE VERY END OF YOUR CSS
========================================================= */

/* Main founder section */
.founder-section,
.tn-founder-section,
.founder-about,
.founder-wrapper{
    color:#403646 !important;
}


/* MAIN HEADING */
.founder-section h1,
.founder-section h2,
.tn-founder-section h1,
.tn-founder-section h2,
.founder-about h1,
.founder-about h2{
    color:#351443 !important;
}


/* FOUNDER NAME */
.founder-section h1,
.tn-founder-section h1{
    color:#351443 !important;
    opacity:1 !important;
}


/* PINK DESIGNATION */
.founder-section h3,
.tn-founder-section h3,
.founder-section .designation,
.tn-founder-section .designation{
    color:#d64081 !important;
    opacity:1 !important;
}


/* ALL NORMAL PARAGRAPHS */
.founder-section p,
.tn-founder-section p,
.founder-about p,
.founder-content p{
    color:#665c6a !important;
    opacity:1 !important;
    font-size:15px !important;
    line-height:1.8 !important;
}


/* STRONG / BOLD TEXT */
.founder-section p strong,
.tn-founder-section p strong,
.founder-content strong{
    color:#442451 !important;
    font-weight:700 !important;
}


/* SMALL RED TOP LABEL */
.founder-section .section-label,
.founder-section .subtitle,
.founder-section .kicker,
.tn-founder-section .section-label,
.tn-founder-section .subtitle,
.tn-founder-section .kicker{
    color:#e52f57 !important;
    opacity:1 !important;
}


/* QUALIFICATION PILLS */
.founder-section .tag,
.founder-section .badge,
.founder-section .qualification,
.tn-founder-section .tag,
.tn-founder-section .badge,
.tn-founder-section .qualification{
    color:#522579 !important;
}


/* =========================================================
IMPORTANT:
KEEP TEXT INSIDE PURPLE VISION BOX WHITE
========================================================= */

.founder-section .vision-box,
.founder-section .vision-card,
.tn-founder-section .vision-box,
.tn-founder-section .vision-card{
    background:#672783 !important;
    color:#fff !important;
}


.founder-section .vision-box *,
.founder-section .vision-card *,
.tn-founder-section .vision-box *,
.tn-founder-section .vision-card *{
    color:#fff !important;
}


.founder-section .vision-box small,
.founder-section .vision-card small,
.tn-founder-section .vision-box small,
.tn-founder-section .vision-card small{
    color:#ffb8d4 !important;
}


/* =========================================================
IF YOUR SECTION HAS WHITE TEXT SET DIRECTLY ON DIVS
========================================================= */

.founder-content,
.founder-content div{
    opacity:1;
}


.founder-content > p,
.founder-content > div:not(.vision-box):not(.vision-card){
    color:#665c6a !important;
}


/* =========================================================
FONT SIZE IMPROVEMENT
========================================================= */

.founder-content h1,
.founder-content h2{
    font-size:clamp(36px,4vw,52px) !important;
    line-height:1.1 !important;
}


.founder-content h3{
    font-size:15px !important;
}


.founder-content p{
    font-size:15px !important;
}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px){

    .founder-content h1,
    .founder-content h2{
        font-size:34px !important;
    }

    .founder-content p,
    .founder-section p,
    .tn-founder-section p{
        font-size:14px !important;
        line-height:1.75 !important;
    }

}

/* =========================================================
   THODU-NEEDA FOUNDER SECTION FIX
   Scoped only to founder section
========================================================= */

.tn-founder-section {
    overflow: hidden;
}

/* Main heading */
.tn-founder-section h1,
.tn-founder-section h2,
.tn-founder-section .founder-title {
    color: #ffffff !important;
    font-size: clamp(32px, 3.5vw, 50px) !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

/* Small top title - OUR FOUNDER */
.tn-founder-section .section-subtitle,
.tn-founder-section .founder-label,
.tn-founder-section .eyebrow {
    color: #ffd6e7 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
}

/* Founder designation */
.tn-founder-section .founder-designation,
.tn-founder-section .designation {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
}

/* IMPORTANT: paragraph visibility fix */
.tn-founder-section p {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    font-weight: 400 !important;
}

/* Bold text inside paragraphs */
.tn-founder-section p strong,
.tn-founder-section p b {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Founder info cards */
.tn-founder-section .founder-card,
.tn-founder-section .info-card,
.tn-founder-section .stat-card {
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 16px !important;
    padding: 18px 14px !important;
    min-height: 112px;
    transition: all 0.3s ease;
}

.tn-founder-section .founder-card:hover,
.tn-founder-section .info-card:hover,
.tn-founder-section .stat-card:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    transform: translateY(-3px);
}

/* Card icon */
.tn-founder-section .founder-card i,
.tn-founder-section .info-card i,
.tn-founder-section .stat-card i {
    color: #ffd0e4 !important;
    font-size: 21px !important;
    margin-bottom: 12px;
}

/* Card title */
.tn-founder-section .founder-card h3,
.tn-founder-section .founder-card h4,
.tn-founder-section .info-card h3,
.tn-founder-section .info-card h4,
.tn-founder-section .stat-card h3,
.tn-founder-section .stat-card h4 {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
}

/* Card small text */
.tn-founder-section .founder-card p,
.tn-founder-section .info-card p,
.tn-founder-section .stat-card p {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}

/* Founder image */
.tn-founder-section .founder-image img,
.tn-founder-section .image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0 18px 70px 18px;
}

/* Content spacing */
.tn-founder-section .founder-content,
.tn-founder-section .content-box {
    padding-left: 30px;
}

/* Prevent text becoming too wide */
.tn-founder-section .founder-content > p,
.tn-founder-section .content-box > p {
    max-width: 760px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .tn-founder-section .founder-content,
    .tn-founder-section .content-box {
        padding-left: 0 !important;
        padding-top: 30px;
    }

    .tn-founder-section h1,
    .tn-founder-section h2,
    .tn-founder-section .founder-title {
        font-size: 36px !important;
    }

    .tn-founder-section p {
        font-size: 16px !important;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .tn-founder-section {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

    .tn-founder-section h1,
    .tn-founder-section h2,
    .tn-founder-section .founder-title {
        font-size: 30px !important;
        line-height: 1.2 !important;
    }

    .tn-founder-section p {
        font-size: 15.5px !important;
        line-height: 1.75 !important;
    }

    .tn-founder-section .founder-content,
    .tn-founder-section .content-box {
        padding: 25px 5px 0 !important;
    }

    .tn-founder-section .founder-image img,
    .tn-founder-section .image-box img {
        max-height: 450px;
        object-position: top center;
        border-radius: 18px 18px 45px 18px;
    }

    .tn-founder-section .founder-card,
    .tn-founder-section .info-card,
    .tn-founder-section .stat-card {
        min-height: auto;
        padding: 17px 14px !important;
    }
}

/* Small phones */
@media (max-width: 480px) {

    .tn-founder-section h1,
    .tn-founder-section h2,
    .tn-founder-section .founder-title {
        font-size: 27px !important;
    }

    .tn-founder-section p {
        font-size: 15px !important;
    }
}

/* ==========================================================
   THODU-NEEDA PREMIUM FOUNDER PROFILE
   UNIQUE PREFIX: tnfp-
   DOES NOT TARGET GLOBAL H1/H2/P/DIV
========================================================== */

#tnfp-founder-profile.tnfp-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 58px 20px;
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(235, 141, 190, 0.15),
            transparent 27%
        ),
        radial-gradient(
            circle at 8% 90%,
            rgba(255, 255, 255, 0.08),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #361346 0%,
            #4e1d63 48%,
            #6a2f78 100%
        );
}

#tnfp-founder-profile .tnfp-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* =========================
   MAIN GRID
========================= */

#tnfp-founder-profile .tnfp-grid {
    display: grid;
    grid-template-columns: 0.86fr 1.35fr;
    gap: 64px;
    align-items: center;
}


/* =========================
   IMAGE
========================= */

#tnfp-founder-profile .tnfp-image-wrap {
    position: relative;
    width: 100%;
}

#tnfp-founder-profile .tnfp-image-frame {
    position: relative;
    height: 525px;
    overflow: hidden;
    border-radius: 85px 24px 85px 24px;

    background: rgba(255, 255, 255, 0.08);

    border: 1px solid rgba(255, 255, 255, 0.18);

    box-shadow:
        0 28px 55px rgba(24, 5, 30, 0.28);
}

#tnfp-founder-profile .tnfp-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s ease;
}

#tnfp-founder-profile .tnfp-image-frame:hover .tnfp-image {
    transform: scale(1.035);
}


/* IMAGE BADGE */

#tnfp-founder-profile .tnfp-image-badge {
    position: absolute;
    right: -1px;
    bottom: 20px;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 12px 19px;

    border-radius: 30px 0 0 30px;

    background: #ffffff;

    color: #4e1d63;

    font-size: 12px;
    font-weight: 800;

    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

#tnfp-founder-profile .tnfp-badge-dot {
    width: 8px;
    height: 8px;

    flex: 0 0 8px;

    border-radius: 50%;

    background: #d54280;
}


/* DECORATIVE SHAPES */

#tnfp-founder-profile .tnfp-image-decoration {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

#tnfp-founder-profile .tnfp-decoration-one {
    width: 82px;
    height: 82px;

    top: -22px;
    left: -25px;

    border: 1px solid rgba(255, 255, 255, 0.18);
}

#tnfp-founder-profile .tnfp-decoration-two {
    width: 36px;
    height: 36px;

    right: -17px;
    top: 90px;

    background: rgba(244, 160, 202, 0.18);
}


/* =========================
   CONTENT
========================= */

#tnfp-founder-profile .tnfp-content {
    width: 100%;
    min-width: 0;
}


/* SMALL LABEL */

#tnfp-founder-profile .tnfp-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 12px;

    color: #ffd4e6;

    font-size: 12px;
    line-height: 1.3;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}

#tnfp-founder-profile .tnfp-kicker-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.12);

    color: #ffd4e6;

    font-size: 11px;
}


/* TITLE */

#tnfp-founder-profile .tnfp-title {
    margin: 0 0 7px;

    color: #ffffff;

    font-size: clamp(35px, 4vw, 52px);

    line-height: 1.08;

    font-weight: 800;

    letter-spacing: -1px;
}


/* ROLE */

#tnfp-founder-profile .tnfp-role {
    display: inline-block;

    margin-bottom: 16px;

    color: #ffd4e6;

    font-size: 14px;

    line-height: 1.5;

    font-weight: 700;
}


/* INTRO */

#tnfp-founder-profile .tnfp-intro {
    max-width: 760px;

    margin: 0 0 22px;

    color: rgba(255, 255, 255, 0.82);

    font-size: 15.5px;

    line-height: 1.8;

    font-weight: 400;
}

#tnfp-founder-profile .tnfp-intro strong {
    color: #ffffff;

    font-weight: 700;
}


/* =========================
   CARDS
========================= */

#tnfp-founder-profile .tnfp-stats {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 22px;
}

#tnfp-founder-profile .tnfp-stat-card {
    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

    min-height: 126px;

    padding: 18px;

    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.13),
            rgba(255, 255, 255, 0.07)
        );

    border: 1px solid rgba(255, 255, 255, 0.16);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

#tnfp-founder-profile .tnfp-stat-card:hover {
    transform: translateY(-5px);

    background: rgba(255, 255, 255, 0.15);

    border-color: rgba(255, 255, 255, 0.28);
}


/* CARD ICON */

#tnfp-founder-profile .tnfp-stat-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 37px;

    height: 37px;

    margin-bottom: 12px;

    border-radius: 11px;

    background: rgba(255, 211, 230, 0.13);

    color: #ffd3e6;

    font-size: 18px;
}


/* CARD TITLE */

#tnfp-founder-profile .tnfp-stat-content h4 {
    margin: 0 0 4px;

    color: #ffffff;

    font-size: 15px;

    line-height: 1.35;

    font-weight: 800;
}


/* CARD TEXT */

#tnfp-founder-profile .tnfp-stat-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.68);

    font-size: 11.5px;

    line-height: 1.55;

    font-weight: 400;
}


/* =========================
   BOTTOM CONTENT
========================= */

#tnfp-founder-profile .tnfp-bottom-content {
    max-width: 770px;
}

#tnfp-founder-profile .tnfp-bottom-content p {
    margin: 0 0 9px;

    color: rgba(255, 255, 255, 0.77);

    font-size: 15px;

    line-height: 1.75;
}


/* =========================
   SIGNATURE LINE
========================= */

#tnfp-founder-profile .tnfp-signature-line {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 18px;
}

#tnfp-founder-profile .tnfp-line {
    display: block;

    width: 55px;

    height: 2px;

    border-radius: 4px;

    background: linear-gradient(
        90deg,
        #ffd0e4,
        rgba(255, 208, 228, 0.15)
    );
}

#tnfp-founder-profile .tnfp-signature-text {
    color: rgba(255, 255, 255, 0.72);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.3px;

    text-transform: uppercase;
}


/* ==========================================================
   RESPONSIVE TABLET
========================================================== */

@media (max-width: 991px) {

    #tnfp-founder-profile.tnfp-section {
        padding: 48px 18px;
    }

    #tnfp-founder-profile .tnfp-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    #tnfp-founder-profile .tnfp-image-wrap {
        max-width: 580px;
        margin: 0 auto;
    }

    #tnfp-founder-profile .tnfp-image-frame {
        height: 500px;
    }

    #tnfp-founder-profile .tnfp-content {
        max-width: 760px;
        margin: 0 auto;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    #tnfp-founder-profile.tnfp-section {
        padding: 38px 15px;
    }

    #tnfp-founder-profile .tnfp-grid {
        gap: 28px;
    }

    #tnfp-founder-profile .tnfp-image-frame {
        height: 420px;

        border-radius: 55px 18px 55px 18px;
    }

    #tnfp-founder-profile .tnfp-title {
        font-size: 31px;

        line-height: 1.15;

        letter-spacing: -0.5px;
    }

    #tnfp-founder-profile .tnfp-intro {
        font-size: 15px;

        line-height: 1.72;
    }

    #tnfp-founder-profile .tnfp-stats {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    #tnfp-founder-profile .tnfp-stat-card {
        min-height: auto;

        display: grid;

        grid-template-columns: 44px 1fr;

        gap: 12px;

        align-items: center;

        padding: 15px;
    }

    #tnfp-founder-profile .tnfp-stat-icon {
        margin-bottom: 0;
    }

    #tnfp-founder-profile .tnfp-bottom-content p {
        font-size: 14.5px;

        line-height: 1.7;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 480px) {

    #tnfp-founder-profile .tnfp-image-frame {
        height: 365px;
    }

    #tnfp-founder-profile .tnfp-title {
        font-size: 27px;
    }

    #tnfp-founder-profile .tnfp-role {
        font-size: 13px;
    }

    #tnfp-founder-profile .tnfp-image-badge {
        bottom: 14px;

        padding: 10px 15px;

        font-size: 11px;
    }
}

/* =========================================================
   THODU-NEEDA PUBLIC GALLERY
========================================================= */

:root{
    --tn-blue:#173e83;
    --tn-blue-dark:#0c285e;
    --tn-purple:#75236f;
    --tn-red:#e1262f;
    --tn-light:#f6f7fb;
    --tn-text:#263248;
    --tn-muted:#6f7788;
}


/* SECTION */

.tn-public-gallery{
    width:100%;

    padding:65px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f7f8fc
        );

    overflow:hidden;
}


.tn-gallery-container{
    width:min(1320px, calc(100% - 40px));

    margin:0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.tn-public-gallery-heading{
    max-width:760px;

    margin:0 auto 35px;

    text-align:center;
}


.tn-gallery-subtitle{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:9px;

    color:var(--tn-purple);

    font-size:13px;
    font-weight:800;

    letter-spacing:1.4px;

    text-transform:uppercase;
}


.tn-gallery-subtitle:before,
.tn-gallery-subtitle:after{
    content:"";

    width:25px;
    height:2px;

    border-radius:10px;

    background:
        linear-gradient(
            90deg,
            var(--tn-blue),
            var(--tn-purple),
            var(--tn-red)
        );
}


.tn-public-gallery-heading h2{
    margin:0;

    color:var(--tn-blue-dark);

    font-size:38px;
    line-height:1.2;

    font-weight:800;
}


.tn-public-gallery-heading h2 span{
    color:var(--tn-purple);
}


.tn-public-gallery-heading p{
    max-width:650px;

    margin:12px auto 0;

    color:var(--tn-muted);

    font-size:15px;
    line-height:1.7;
}


/* =========================================================
   4 IMAGES PER ROW
========================================================= */

.tn-public-gallery-grid{
    display:grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    gap:18px;
}


/* IMAGE CARD */

.tn-public-gallery-item{
    position:relative;

    min-width:0;

    overflow:hidden;

    border-radius:16px;

    background:#fff;

    box-shadow:
        0 8px 28px rgba(23,62,131,.10);

    transition:
        transform .28s ease,
        box-shadow .28s ease;
}


.tn-public-gallery-item:hover{
    transform:translateY(-5px);

    box-shadow:
        0 15px 36px rgba(23,62,131,.16);
}


.tn-gallery-image-btn{
    position:relative;

    width:100%;
    height:255px;

    display:block;

    padding:0;

    border:0;

    background:#eef1f6;

    cursor:pointer;

    overflow:hidden;
}


.tn-gallery-image-btn img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .45s ease,
        filter .35s ease;
}


.tn-public-gallery-item:hover
.tn-gallery-image-btn img{
    transform:scale(1.07);

    filter:brightness(.78);
}


/* =========================================================
   HOVER OVERLAY
========================================================= */

.tn-gallery-overlay{
    position:absolute;

    inset:0;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:9px;

    opacity:0;

    background:
        linear-gradient(
            135deg,
            rgba(12,40,94,.70),
            rgba(117,35,111,.60)
        );

    transition:.3s ease;
}


.tn-public-gallery-item:hover
.tn-gallery-overlay{
    opacity:1;
}


.tn-gallery-view-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    color:var(--tn-purple);

    font-size:17px;

    transform:translateY(12px);

    transition:.3s ease;
}


.tn-public-gallery-item:hover
.tn-gallery-view-icon{
    transform:translateY(0);
}


.tn-gallery-overlay strong{
    color:#fff;

    font-size:13px;
    font-weight:700;

    letter-spacing:.3px;
}


/* =========================================================
   EMPTY STATE
========================================================= */

.tn-gallery-empty{
    grid-column:1 / -1;

    min-height:260px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

    padding:30px;

    border:1px dashed #d6dce8;

    border-radius:18px;

    background:#fff;
}


.tn-gallery-empty i{
    margin-bottom:12px;

    color:var(--tn-purple);

    font-size:42px;
}


.tn-gallery-empty h3{
    margin:0 0 6px;

    color:var(--tn-blue-dark);

    font-size:20px;
    font-weight:750;
}


.tn-gallery-empty p{
    margin:0;

    color:#7c8493;

    font-size:14px;
}


/* =========================================================
   LIGHTBOX
========================================================= */

.tn-gallery-lightbox{
    position:fixed;

    inset:0;

    z-index:999999;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:25px;

    background:
        rgba(6,15,38,.93);

    opacity:0;

    visibility:hidden;

    transition:.3s ease;
}


.tn-gallery-lightbox.active{
    opacity:1;

    visibility:visible;
}


.tn-gallery-lightbox-content{
    max-width:1100px;
    max-height:88vh;

    display:flex;
    align-items:center;
    justify-content:center;
}


.tn-gallery-lightbox-content img{
    display:block;

    max-width:100%;
    max-height:85vh;

    object-fit:contain;

    border-radius:13px;

    background:#fff;

    box-shadow:
        0 20px 60px rgba(0,0,0,.40);
}


/* CLOSE */

.tn-gallery-lightbox-close{
    position:absolute;

    top:22px;
    right:25px;

    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.20);

    border-radius:50%;

    background:
        rgba(255,255,255,.10);

    color:#fff;

    font-size:18px;

    cursor:pointer;

    transition:.25s ease;
}


.tn-gallery-lightbox-close:hover{
    background:#e1262f;

    border-color:#e1262f;

    transform:rotate(90deg);
}


/* =========================================================
   RESPONSIVE
========================================================= */

/* TABLET - 3 PER ROW */

@media(max-width:1100px){

    .tn-public-gallery-grid{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


/* SMALL TABLET - 2 PER ROW */

@media(max-width:767px){

    .tn-public-gallery{
        padding:45px 0;
    }


    .tn-gallery-container{
        width:min(
            100% - 28px,
            1320px
        );
    }


    .tn-public-gallery-heading{
        margin-bottom:25px;
    }


    .tn-public-gallery-heading h2{
        font-size:29px;
    }


    .tn-public-gallery-heading p{
        font-size:14px;
    }


    .tn-public-gallery-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:12px;
    }


    .tn-gallery-image-btn{
        height:210px;
    }

}


/* MOBILE - 1 PER ROW */

@media(max-width:480px){

    .tn-public-gallery-grid{
        grid-template-columns:1fr;
    }


    .tn-gallery-image-btn{
        height:245px;
    }


    .tn-public-gallery-heading h2{
        font-size:26px;
    }

}

/* =========================================================
   THODU-NEEDA DYNAMIC VIDEO SECTION
========================================================= */

:root{
    --tn-blue:#173e83;
    --tn-blue-dark:#0c285e;
    --tn-purple:#75236f;
    --tn-red:#e1262f;
    --tn-text:#273247;
    --tn-muted:#6f7788;
}


/* SECTION */

.tn-video-section{
    width:100%;

    padding:65px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f7f8fc
        );

    overflow:hidden;
}


.tn-video-container{
    width:min(1320px, calc(100% - 40px));

    margin:0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.tn-video-heading{
    max-width:760px;

    margin:0 auto 34px;

    text-align:center;
}


.tn-video-subtitle{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:9px;

    color:var(--tn-purple);

    font-size:13px;
    font-weight:800;

    letter-spacing:1.4px;

    text-transform:uppercase;
}


.tn-video-subtitle:before,
.tn-video-subtitle:after{
    content:"";

    width:25px;
    height:2px;

    border-radius:10px;

    background:
        linear-gradient(
            90deg,
            var(--tn-blue),
            var(--tn-purple),
            var(--tn-red)
        );
}


.tn-video-heading h2{
    margin:0;

    color:var(--tn-blue-dark);

    font-size:38px;
    line-height:1.2;

    font-weight:800;
}


.tn-video-heading h2 span{
    color:var(--tn-purple);
}


.tn-video-heading p{
    max-width:650px;

    margin:12px auto 0;

    color:var(--tn-muted);

    font-size:15px;
    line-height:1.7;
}


/* =========================================================
   VIDEO GRID
   3 VIDEOS PER ROW
========================================================= */

.tn-video-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:20px;
}


/* CARD */

.tn-video-card{
    min-width:0;

    overflow:hidden;

    border:1px solid #e2e6ef;

    border-radius:17px;

    background:#fff;

    box-shadow:
        0 8px 28px rgba(23,62,131,.10);

    transition:
        transform .28s ease,
        box-shadow .28s ease;
}


.tn-video-card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 15px 36px rgba(23,62,131,.16);
}


/* =========================================================
   YOUTUBE FRAME
========================================================= */

.tn-video-frame{
    position:relative;

    width:100%;

    aspect-ratio:16 / 9;

    overflow:hidden;

    background:#0b1020;
}


.tn-video-frame iframe{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    border:0;

    display:block;
}


/* top accent */

.tn-video-frame:before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    z-index:2;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            var(--tn-blue),
            var(--tn-purple),
            var(--tn-red)
        );
}


/* =========================================================
   CARD BOTTOM
========================================================= */

.tn-video-card-bottom{
    display:flex;
    align-items:center;

    gap:11px;

    padding:14px 15px;

    background:#fff;
}


.tn-video-icon{
    width:39px;
    height:39px;

    flex:0 0 39px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:10px;

    background:#fff0f1;

    color:var(--tn-red);

    font-size:17px;
}


.tn-video-card-bottom strong{
    display:block;

    margin-bottom:2px;

    color:var(--tn-blue-dark);

    font-size:14px;
    font-weight:750;
}


.tn-video-card-bottom span{
    display:block;

    color:#848c9b;

    font-size:11px;
}


/* =========================================================
   EMPTY STATE
========================================================= */

.tn-video-empty{
    grid-column:1 / -1;

    min-height:260px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    padding:30px;

    border:1px dashed #d5dce8;

    border-radius:18px;

    background:#fff;

    text-align:center;
}


.tn-video-empty-icon{
    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:12px;

    border-radius:16px;

    background:#fff0f1;

    color:var(--tn-red);

    font-size:25px;
}


.tn-video-empty h3{
    margin:0 0 6px;

    color:var(--tn-blue-dark);

    font-size:20px;
    font-weight:750;
}


.tn-video-empty p{
    margin:0;

    color:#7d8594;

    font-size:14px;
}


/* =========================================================
   TABLET
   2 VIDEOS PER ROW
========================================================= */

@media(max-width:900px){

    .tn-video-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


/* =========================================================
   MOBILE
   1 VIDEO PER ROW
========================================================= */

@media(max-width:600px){

    .tn-video-section{
        padding:45px 0;
    }


    .tn-video-container{
        width:calc(100% - 28px);
    }


    .tn-video-heading{
        margin-bottom:25px;
    }


    .tn-video-heading h2{
        font-size:28px;
    }


    .tn-video-heading p{
        font-size:14px;
    }


    .tn-video-grid{
        grid-template-columns:1fr;

        gap:15px;
    }

}




/* =========================================
   THODU NEEDA - GALLERY DROPDOWN
========================================= */

.tn-has-dropdown {
    position: relative;
}

.tn-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tn-dropdown-toggle i {
    font-size: 11px;
    transition: transform 0.3s ease;
}

/* Dropdown */
.tn-dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;

    width: 350px;
    padding: 8px;

    margin: 0;
    list-style: none;

    background: #ffffff;
    border-radius: 12px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.14);

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition: all 0.3s ease;

    z-index: 9999;
}

/* Small arrow */
.tn-dropdown-menu::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 25px;

    width: 12px;
    height: 12px;

    background: #ffffff;
    transform: rotate(45deg);
}

/* Show Dropdown */
.tn-has-dropdown:hover .tn-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tn-has-dropdown:hover > .tn-dropdown-toggle i {
    transform: rotate(180deg);
}

/* Dropdown Links */
.tn-dropdown-menu li {
    margin: 0;
    padding: 0;
}

.tn-dropdown-menu li a {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 11px;

    width: 100%;
    padding: 11px 13px;

    color: #333;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;

    border-radius: 8px;

    transition: all 0.25s ease;
}

.tn-dropdown-menu li a i {
    width: 20px;
    text-align: center;
    font-size: 15px;
    color: #E1262F;
}

/* Hover */
.tn-dropdown-menu li a:hover {
    color: #ffffff;
    background: #571B5B;
    padding-left: 17px;
}

.tn-dropdown-menu li a:hover i {
    color: #ffffff;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

    .tn-has-dropdown {
        width: 100%;
    }

    .tn-dropdown-toggle {
        width: 100%;
        justify-content: space-between;
    }

    .tn-dropdown-menu {
        position: static;

        width: 100%;
        max-height: 0;

        padding: 0 8px;
        margin: 0;

        opacity: 1;
        visibility: visible;

        overflow: hidden;

        transform: none;
        box-shadow: none;

        background: #f8f5f1;
        border-radius: 8px;

        transition:
            max-height 0.35s ease,
            padding 0.35s ease,
            margin 0.35s ease;
    }

    .tn-dropdown-menu::before {
        display: none;
    }

    /* Don't open automatically on mobile */
    .tn-has-dropdown:hover .tn-dropdown-menu {
        max-height: 0;
        padding: 0 8px;
    }

    /* JS Open */
    .tn-has-dropdown.tn-dropdown-open .tn-dropdown-menu {
        max-height: 250px;
        padding: 7px 8px;
        margin-top: 5px;
    }

    .tn-has-dropdown.tn-dropdown-open
    > .tn-dropdown-toggle i {
        transform: rotate(180deg);
    }

    .tn-dropdown-menu li a {
        padding: 11px 12px;
        font-size: 15px;
    }
}

/* =========================================
   THODU NEEDA - GALLERY ACTIVE MENU
========================================= */

/* Main Gallery Active */
.tn-has-dropdown.active > .tn-dropdown-toggle {
    color: #E1262F !important;
}

/* Optional underline */
.tn-has-dropdown.active > .tn-dropdown-toggle::after {
    width: 100%;
}


/* Active Dropdown Item */
.tn-dropdown-menu li a.active,
.tn-dropdown-menu li.active > a {
    background: #571B5B !important;
    color: #ffffff !important;
    padding-left: 17px;
}

.tn-dropdown-menu li a.active i,
.tn-dropdown-menu li.active > a i {
    color: #ffffff !important;
}


/* Keep Gallery arrow highlighted */
.tn-has-dropdown.active > .tn-dropdown-toggle i {
    color: #E1262F;
}

/* =========================================
   THODU-NEEDA - DASHBOARD MENU BUTTON
========================================= */

.tn-dashboard-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 10px 16px !important;

    background: #601E61 !important;

    color: #ffffff !important;

    border-radius: 10px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;

    box-shadow: 0 6px 18px rgba(139, 30, 45, 0.20);

    transition: all 0.3s ease;
}


/* ICON */

.tn-dashboard-menu i {
    font-size: 14px;
    color: #ffffff !important;
}


/* HOVER */

.tn-dashboard-menu:hover {
    color: #ffffff !important;

    transform: translateY(-2px);

    background: linear-gradient(
        135deg,
        #a7283a,
        #c34a59
    );

    box-shadow: 0 9px 24px rgba(139, 30, 45, 0.28);
}


/* REMOVE NORMAL MENU UNDERLINE IF ANY */

.tn-dashboard-menu::before,
.tn-dashboard-menu::after {
    display: none !important;
}


/* =========================================
   OPTIONAL ACTIVE LOOK
========================================= */

.tn-dashboard-menu.active {
    background: #c58a2d !important;
    color: #ffffff !important;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

    .tn-dashboard-menu {
        width: 100%;

        justify-content: flex-start;

        padding: 12px 15px !important;

        margin-top: 6px;

        border-radius: 9px;

        font-size: 15px;
    }

    .tn-dashboard-menu i {
        width: 20px;
        text-align: center;
    }
}




/* =====================================================
   THODU-NEEDA MAGAZINE SECTION
===================================================== */

.tn-magazine-section {
    width: 100%;
    padding: 55px 20px;
    background:
        radial-gradient(
            circle at 90% 20%,
            rgba(197, 138, 45, 0.12),
            transparent 30%
        ),
        #faf8f5;

    overflow: hidden;
}

.tn-magazine-container {
    width: 100%;
    max-width: 1200px;
    margin: auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: center;
    gap: 55px;
}


/* =========================
   CONTENT
========================= */

.tn-magazine-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 13px;

    color: #a97928;
    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.tn-magazine-label i {
    font-size: 15px;
}

.tn-magazine-content h2 {
    margin: 0 0 17px;

    color: #252525;

    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.12;
    font-weight: 800;
}

.tn-magazine-content h2 span {
    display: block;
    color: #8b1e2d;
}

.tn-magazine-content > p {
    max-width: 650px;

    margin: 0 0 11px;

    color: #626262;

    font-size: 16px;
    line-height: 1.75;
}

.tn-magazine-content .tn-magazine-small {
    color: #777;
    font-size: 15px;
}


/* =========================
   BUTTONS
========================= */

.tn-magazine-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 24px;
}

.tn-magazine-download {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    padding: 8px 20px 8px 8px;

    background: linear-gradient(
        135deg,
        #8b1e2d,
        #b73648
    );

    color: #fff !important;

    border-radius: 12px;

    text-decoration: none !important;

    box-shadow: 0 10px 25px rgba(139, 30, 45, 0.20);

    transition: 0.3s ease;
}

.tn-btn-icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(255,255,255,0.14);

    font-size: 17px;
}

.tn-magazine-download span:last-child {
    display: flex;
    flex-direction: column;

    font-size: 14px;
    font-weight: 700;
}

.tn-magazine-download small {
    margin-bottom: 1px;

    color: rgba(255,255,255,0.72);

    font-size: 10px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.tn-magazine-download:hover {
    transform: translateY(-3px);

    box-shadow: 0 14px 30px rgba(139, 30, 45, 0.28);
}


/* VIEW BUTTON */

.tn-magazine-view {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 14px 18px;

    background: #fff;

    color: #8b1e2d !important;

    border: 1px solid #e7dddd;
    border-radius: 10px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;

    transition: 0.3s ease;
}

.tn-magazine-view:hover {
    background: #8b1e2d;
    border-color: #8b1e2d;
    color: #fff !important;
}


/* =====================================================
   MAGAZINE VISUAL
===================================================== */

.tn-magazine-visual {
    position: relative;

    min-height: 330px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.tn-magazine-decoration {
    position: absolute;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background: rgba(197, 138, 45, 0.10);
}


/* BOOK */

.tn-magazine-book {
    position: relative;
    z-index: 2;

    width: 215px;
    height: 295px;

    transform: rotate(4deg);

    border-radius: 5px 12px 12px 5px;

    box-shadow:
        -10px 15px 30px rgba(0,0,0,0.15),
        10px 18px 35px rgba(0,0,0,0.12);

    transition: 0.35s ease;
}

.tn-magazine-book:hover {
    transform: rotate(0deg) translateY(-5px);
}


/* COVER */

.tn-magazine-cover {
    width: 100%;
    height: 100%;

    padding: 25px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    color: #fff;

    border-radius: 5px 12px 12px 5px;

    background:
        radial-gradient(
            circle at top right,
            rgba(255,255,255,0.15),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #6f1421,
            #9d2638 55%,
            #c18a32
        );

    border-left: 7px solid rgba(0,0,0,0.12);
}

.tn-cover-top {
    position: absolute;
    top: 22px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
}

.tn-cover-icon {
    width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 16px;

    border: 1px solid rgba(255,255,255,0.30);
    border-radius: 50%;

    background: rgba(255,255,255,0.10);

    font-size: 28px;
}

.tn-magazine-cover h3 {
    margin: 0;

    color: #fff;

    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
}

.tn-magazine-cover h3 span {
    display: block;
    color: #ffd58b;
}

.tn-magazine-cover p {
    margin-top: 12px;

    color: rgba(255,255,255,0.80);

    font-size: 11px;
}

.tn-cover-bottom {
    position: absolute;
    bottom: 20px;

    padding-top: 10px;

    border-top: 1px solid rgba(255,255,255,0.25);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1.4px;
}


/* PDF FLOATING BADGE */

.tn-pdf-badge {
    position: absolute;
    z-index: 4;

    right: 25px;
    bottom: 35px;

    display: flex;
    align-items: center;
    gap: 9px;

    padding: 10px 14px;

    background: #fff;

    border-radius: 10px;

    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

.tn-pdf-badge > i {
    color: #c62828;
    font-size: 25px;
}

.tn-pdf-badge span {
    display: flex;
    flex-direction: column;

    color: #777;

    font-size: 10px;
}

.tn-pdf-badge strong {
    color: #333;
    font-size: 13px;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {

    .tn-magazine-container {
        grid-template-columns: 1fr;
        gap: 30px;

        text-align: center;
    }

    .tn-magazine-content > p {
        margin-left: auto;
        margin-right: auto;
    }

    .tn-magazine-actions {
        justify-content: center;
    }

    .tn-magazine-visual {
        min-height: 320px;
    }
}


@media (max-width: 575px) {

    .tn-magazine-section {
        padding: 38px 16px;
    }

    .tn-magazine-content h2 {
        font-size: 29px;
    }

    .tn-magazine-content > p {
        font-size: 15px;
        line-height: 1.65;
    }

    .tn-magazine-actions {
        flex-direction: column;
    }

    .tn-magazine-download,
    .tn-magazine-view {
        width: 100%;
        justify-content: center;
    }

    .tn-magazine-visual {
        min-height: 310px;
    }

    .tn-magazine-book {
        width: 195px;
        height: 275px;
    }

    .tn-pdf-badge {
        right: 5px;
    }
}



/* =====================================================
   THODU-NEEDA LEGAL PAGE
===================================================== */

.tn-legal-banner,
.tn-legal-content {
    box-sizing: border-box;
}

.tn-legal-banner *,
.tn-legal-content * {
    box-sizing: border-box;
}


/* =====================================================
   PAGE BANNER
===================================================== */

.tn-legal-banner {
    position: relative;
    width: 100%;
    padding: 65px 20px;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(212, 166, 78, 0.20),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #67141f 0%,
            #861e2c 50%,
            #a02c3b 100%
        );

    overflow: hidden;
}

.tn-legal-banner-container {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1200px;
    margin: auto;

    text-align: center;
}

.tn-legal-banner-icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 15px;

    background: rgba(255,255,255,0.10);

    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 50%;

    color: #efc06c;
    font-size: 23px;
}

.tn-legal-banner-label {
    display: block;

    margin-bottom: 8px;

    color: #efc06c;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.tn-legal-banner h1 {
    margin: 0;

    color: #fff;

    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.1;
    font-weight: 800;
}

.tn-legal-banner h1 span {
    color: #efc06c;
}

.tn-legal-banner p {
    max-width: 700px;

    margin: 14px auto 0;

    color: rgba(255,255,255,0.82);

    font-size: 16px;
    line-height: 1.65;
}


/* BREADCRUMB */

.tn-legal-breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;

    color: rgba(255,255,255,0.70);

    font-size: 13px;
}

.tn-legal-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #fff;

    text-decoration: none;
}

.tn-legal-breadcrumb > i {
    color: #efc06c;
    font-size: 9px;
}


/* DECORATION */

.tn-legal-banner-shape {
    position: absolute;

    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 50%;
}

.tn-shape-one {
    width: 300px;
    height: 300px;

    right: -80px;
    top: -130px;
}

.tn-shape-two {
    width: 190px;
    height: 190px;

    left: -70px;
    bottom: -100px;
}


/* =====================================================
   CONTENT
===================================================== */

.tn-legal-content {
    width: 100%;

    padding: 55px 20px;

    background: #f9f7f4;
}

.tn-legal-container {
    width: 100%;
    max-width: 1200px;

    margin: auto;
}


/* =====================================================
   INTRO
===================================================== */

.tn-legal-intro {
    display: grid;
    grid-template-columns: 75px 1fr;
    gap: 22px;

    align-items: flex-start;

    margin-bottom: 28px;
    padding: 28px 30px;

    background: #fff;

    border: 1px solid #eee7df;
    border-radius: 18px;

    box-shadow: 0 8px 30px rgba(0,0,0,0.045);
}

.tn-legal-intro-icon {
    width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f8ecee;

    color: #8b1e2d;

    border-radius: 16px;

    font-size: 25px;
}

.tn-legal-intro-text > span {
    display: block;

    margin-bottom: 5px;

    color: #b17b2a;

    font-size: 12px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.tn-legal-intro h2 {
    margin: 0 0 12px;

    color: #252525;

    font-size: 30px;
    line-height: 1.2;
}

.tn-legal-intro h2 strong {
    color: #8b1e2d;
}

.tn-legal-intro p {
    margin: 5px 0;

    color: #666;

    font-size: 16px;
    line-height: 1.7;
}


/* =====================================================
   LEGAL BLOCK
===================================================== */

.tn-legal-block {
    position: relative;

    display: grid;
    grid-template-columns: 75px 1fr;

    margin-bottom: 20px;

    background: #fff;

    border: 1px solid #eee7df;
    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 7px 25px rgba(0,0,0,0.04);
}

.tn-legal-alt {
    background: #fffdf9;
}


/* NUMBER */

.tn-legal-number {
    display: flex;
    justify-content: center;

    padding-top: 31px;

    background: #8b1e2d;

    color: rgba(255,255,255,0.92);

    font-size: 20px;
    font-weight: 800;

    letter-spacing: 1px;
}


/* CONTENT */

.tn-legal-block-content {
    padding: 27px 30px 30px;
}


/* TITLE */

.tn-legal-title-row {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 14px;
}

.tn-legal-title-icon {
    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: #f8ecee;

    color: #8b1e2d;

    border-radius: 13px;

    font-size: 19px;
}

.tn-legal-title-row span {
    display: block;

    margin-bottom: 3px;

    color: #b17b2a;

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.tn-legal-title-row h2 {
    margin: 0;

    color: #282828;

    font-size: 25px;
    line-height: 1.25;
    font-weight: 800;
}


/* DESCRIPTION */

.tn-legal-description {
    margin: 0 0 20px;

    color: #626262;

    font-size: 16px;
    line-height: 1.72;
}


/* =====================================================
   LEGAL POINTS
===================================================== */

.tn-legal-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}

.tn-legal-points.tn-two-column {
    grid-template-columns: repeat(2, 1fr);
}

.tn-legal-point {
    display: flex;
    align-items: flex-start;

    gap: 12px;

    padding: 17px;

    background: #faf8f5;

    border: 1px solid #eee8e2;
    border-radius: 13px;

    transition: 0.3s ease;
}

.tn-legal-point > i {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: #fff;

    color: #a87327;

    border-radius: 10px;

    box-shadow: 0 3px 10px rgba(0,0,0,0.05);

    font-size: 15px;
}

.tn-legal-point h3 {
    margin: 0 0 6px;

    color: #353535;

    font-size: 16px;
    line-height: 1.35;
    font-weight: 750;
}

.tn-legal-point p {
    margin: 0;

    color: #707070;

    font-size: 14px;
    line-height: 1.6;
}

.tn-legal-point:hover {
    border-color: rgba(139,30,45,0.20);

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(0,0,0,0.05);
}


/* =====================================================
   DISCLAIMER
===================================================== */

.tn-legal-note {
    display: flex;
    align-items: flex-start;

    gap: 15px;

    margin-top: 25px;

    padding: 20px 23px;

    background: #fff8e9;

    border: 1px solid #f0dfb9;
    border-left: 4px solid #b17b2a;

    border-radius: 12px;
}

.tn-legal-note-icon {
    color: #a87327;

    font-size: 21px;
}

.tn-legal-note strong {
    display: block;

    margin-bottom: 5px;

    color: #5d431c;

    font-size: 15px;
}

.tn-legal-note p {
    margin: 0;

    color: #70644f;

    font-size: 14px;
    line-height: 1.6;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .tn-legal-points,
    .tn-legal-points.tn-two-column {
        grid-template-columns: 1fr;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .tn-legal-banner {
        padding: 48px 16px;
    }

    .tn-legal-banner h1 {
        font-size: 34px;
    }

    .tn-legal-content {
        padding: 35px 14px;
    }

    .tn-legal-intro {
        grid-template-columns: 1fr;

        padding: 22px 18px;
    }

    .tn-legal-intro-icon {
        width: 55px;
        height: 55px;
    }

    .tn-legal-intro h2 {
        font-size: 25px;
    }


    /* LEGAL CARDS */

    .tn-legal-block {
        grid-template-columns: 1fr;
    }

    .tn-legal-number {
        justify-content: flex-start;

        padding: 9px 18px;

        font-size: 15px;
    }

    .tn-legal-block-content {
        padding: 21px 17px;
    }

    .tn-legal-title-row {
        align-items: flex-start;
    }

    .tn-legal-title-icon {
        width: 44px;
        height: 44px;

        font-size: 17px;
    }

    .tn-legal-title-row h2 {
        font-size: 21px;
    }

    .tn-legal-description {
        font-size: 15px;
    }

    .tn-legal-point {
        padding: 14px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .tn-legal-banner h1 span {
        display: block;
    }

    .tn-legal-banner p {
        font-size: 15px;
    }

    .tn-legal-title-row {
        gap: 10px;
    }

    .tn-legal-point {
        gap: 10px;
    }

}



/* =====================================================
   THODU-NEEDA ABOUT STORY
===================================================== */

.tn-about-story,
.tn-about-story * {
    box-sizing: border-box;
}

.tn-about-story {
    width: 100%;
    padding: 58px 20px;
    background: #f8f6f2;
    overflow: hidden;
}

.tn-about-container {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}


/* =====================================================
   MAIN GRID
===================================================== */

.tn-about-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    align-items: center;
    gap: 52px;
}


/* IMAGE */

.tn-about-image-wrap {
    position: relative;
    min-height: 520px;
}

.tn-about-main-image {
    width: 100%;
    height: 520px;
    display: block;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
}

.tn-about-year-card {
    position: absolute;
    top: 22px;
    left: -20px;

    min-width: 125px;

    padding: 17px 20px;

    background: #8b1e2d;
    color: #fff;

    border-radius: 14px;

    box-shadow: 0 12px 28px rgba(139,30,45,.25);
}

.tn-about-year-card strong {
    display: block;
    color: #efc06c;
    font-size: 28px;
    line-height: 1;
}

.tn-about-year-card span {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
}

.tn-about-image-badge {
    position: absolute;
    right: -20px;
    bottom: 25px;

    display: flex;
    align-items: center;
    gap: 9px;

    padding: 13px 17px;

    background: #fff;
    color: #8b1e2d;

    border-radius: 12px;

    font-size: 13px;
    font-weight: 800;

    box-shadow: 0 12px 30px rgba(0,0,0,.13);
}


/* CONTENT */

.tn-about-eyebrow,
.tn-founder-heading > span,
.tn-about-second-title > span,
.tn-about-process-head > span,
.tn-beyond-content > span {
    display: block;
    margin-bottom: 8px;

    color: #b07b29;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.tn-about-content h2,
.tn-founder-heading h2,
.tn-about-second-title h2,
.tn-about-process-head h2,
.tn-beyond-content h2 {
    margin: 0 0 17px;

    color: #272727;

    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.15;
    font-weight: 800;
}

.tn-about-content h2 span,
.tn-founder-heading h2 strong,
.tn-about-second-title h2 strong,
.tn-about-process-head h2 strong,
.tn-beyond-content h2 strong {
    color: #8b1e2d;
}

.tn-about-content p,
.tn-founder-columns p,
.tn-about-second-title p,
.tn-beyond-content p {
    margin: 0 0 13px;

    color: #656565;

    font-size: 16px;
    line-height: 1.75;
}

.tn-about-lead {
    color: #444 !important;
    font-size: 17px !important;
}


/* QUOTE */

.tn-about-highlight {
    position: relative;

    margin-top: 22px;
    padding: 20px 22px 20px 55px;

    background: #fff;

    border-left: 4px solid #b07b29;
    border-radius: 13px;

    box-shadow: 0 7px 23px rgba(0,0,0,.05);
}

.tn-about-highlight > i {
    position: absolute;
    left: 19px;
    top: 21px;

    color: #b07b29;
    font-size: 22px;
}

.tn-about-highlight p {
    margin: 0;
    font-style: italic;
}


/* =====================================================
   FACTS
===================================================== */

.tn-about-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;

    margin: 38px 0;
}

.tn-about-fact {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 20px 14px;

    text-align: center;

    background: #fff;
    border: 1px solid #ece5de;
    border-radius: 15px;
}

.tn-about-fact i {
    margin-bottom: 9px;
    color: #b07b29;
    font-size: 22px;
}

.tn-about-fact strong {
    color: #8b1e2d;
    font-size: 22px;
}

.tn-about-fact span {
    margin-top: 4px;
    color: #727272;
    font-size: 13px;
    font-weight: 600;
}


/* =====================================================
   FOUNDER
===================================================== */

.tn-about-founder {
    padding: 34px;

    background: #fff;

    border: 1px solid #eee6df;
    border-radius: 20px;
}

.tn-founder-heading {
    max-width: 750px;
    margin-bottom: 22px;
}

.tn-founder-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}


/* =====================================================
   SECOND INNINGS
===================================================== */

.tn-about-second {
    margin-top: 28px;
    padding: 34px;

    background:
        linear-gradient(
            135deg,
            #711723,
            #962738
        );

    border-radius: 20px;
}

.tn-about-second-title {
    max-width: 800px;
}

.tn-about-second-title > span {
    color: #efc06c;
}

.tn-about-second-title h2,
.tn-about-second-title h2 strong {
    color: #fff;
}

.tn-about-second-title p {
    color: rgba(255,255,255,.82);
}

.tn-about-support-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 12px;

    margin-top: 24px;
}

.tn-about-support-card {
    padding: 18px;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
}

.tn-support-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 12px;

    background: rgba(255,255,255,.12);
    border-radius: 10px;

    color: #efc06c;
}

.tn-about-support-card h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 17px;
}

.tn-about-support-card p {
    margin: 0;
    color: rgba(255,255,255,.75);
    font-size: 14px;
    line-height: 1.6;
}


/* =====================================================
   PROCESS
===================================================== */

.tn-about-process {
    margin-top: 28px;
}

.tn-about-process-head {
    max-width: 750px;
    margin-bottom: 20px;
}

.tn-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.tn-process-card {
    position: relative;

    padding: 23px 18px;

    background: #fff;

    border: 1px solid #ebe4dd;
    border-radius: 15px;
}

.tn-process-card > span {
    display: block;

    margin-bottom: 11px;

    color: rgba(139,30,45,.16);

    font-size: 31px;
    font-weight: 900;
}

.tn-process-card h3 {
    margin: 0 0 8px;

    color: #303030;

    font-size: 17px;
}

.tn-process-card p {
    margin: 0;

    color: #707070;

    font-size: 14px;
    line-height: 1.6;
}


/* =====================================================
   BEYOND
===================================================== */

.tn-about-beyond {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 28px;

    margin-top: 28px;
    padding: 33px;

    background: #fff;

    border: 1px solid #ece5de;
    border-radius: 20px;
}

.tn-beyond-list {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-top: 17px;
}

.tn-beyond-list div {
    display: flex;
    align-items: center;
    gap: 9px;

    color: #555;

    font-size: 14px;
    font-weight: 650;
}

.tn-beyond-list i {
    width: 25px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    background: #8b1e2d;

    border-radius: 50%;

    font-size: 10px;
}

.tn-beyond-quote {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 26px;

    background: #f8eee9;

    border-radius: 16px;
}

.tn-beyond-quote > i {
    margin-bottom: 11px;

    color: #b07b29;
    font-size: 27px;
}

.tn-beyond-quote h3 {
    margin: 0 0 14px;

    color: #5f1a24;

    font-size: 20px;
    line-height: 1.45;
}

.tn-beyond-quote span {
    color: #7a6a64;

    font-size: 13px;
    font-weight: 700;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 991px) {

    .tn-about-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .tn-about-image-wrap {
        min-height: 440px;
    }

    .tn-about-main-image {
        height: 440px;
    }

    .tn-about-facts,
    .tn-about-support-grid,
    .tn-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tn-about-beyond {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 767px) {

    .tn-about-story {
        padding: 38px 15px;
    }

    .tn-about-main-image,
    .tn-about-image-wrap {
        height: 360px;
        min-height: 360px;
    }

    .tn-about-year-card {
        left: 12px;
        top: 12px;
    }

    .tn-about-image-badge {
        right: 12px;
        bottom: 12px;
    }

    .tn-about-content h2,
    .tn-founder-heading h2,
    .tn-about-second-title h2,
    .tn-about-process-head h2,
    .tn-beyond-content h2 {
        font-size: 28px;
    }

    .tn-founder-columns {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .tn-about-founder,
    .tn-about-second,
    .tn-about-beyond {
        padding: 23px 18px;
    }
}


@media (max-width: 575px) {

    .tn-about-facts,
    .tn-about-support-grid,
    .tn-process-grid,
    .tn-beyond-list {
        grid-template-columns: 1fr;
    }

    .tn-about-main-image,
    .tn-about-image-wrap {
        height: 320px;
        min-height: 320px;
    }

    .tn-about-image-badge {
        max-width: 210px;
        font-size: 12px;
    }

    .tn-about-highlight {
        padding: 18px 16px 18px 48px;
    }
}



/* =====================================================
   THODU-NEEDA ABOUT SECTION
   PRIMARY COLOR UPDATE: #5A1C5D
===================================================== */

:root {
    --tn-primary: #5A1C5D;
    --tn-primary-dark: #431445;
    --tn-primary-light: #743077;
    --tn-gold: #E73640;
    --tn-gold-light: #efc978;
}


/* MAIN HEADINGS */

.tn-about-content h2 span,
.tn-founder-heading h2 strong,
.tn-about-second-title h2 strong,
.tn-about-process-head h2 strong,
.tn-beyond-content h2 strong {
    color: var(--tn-primary);
}


/* EYEBROWS */

.tn-about-eyebrow,
.tn-founder-heading > span,
.tn-about-second-title > span,
.tn-about-process-head > span,
.tn-beyond-content > span {
    color: var(--tn-gold);
}


/* YEAR CARD */

.tn-about-year-card {
    background: linear-gradient(
        135deg,
        var(--tn-primary-dark),
        var(--tn-primary)
    );

    box-shadow: 0 12px 28px rgba(90, 28, 93, 0.25);
}

.tn-about-year-card strong {
    color: var(--tn-gold-light);
}


/* IMAGE BADGE */

.tn-about-image-badge {
    color: var(--tn-primary);
}


/* QUOTE HIGHLIGHT */

.tn-about-highlight {
    border-left-color: var(--tn-primary);
}

.tn-about-highlight > i {
    color: var(--tn-primary);
}


/* FACT CARDS */

.tn-about-fact i {
    color: var(--tn-gold);
}

.tn-about-fact strong {
    color: var(--tn-primary);
}


/* =====================================================
   SECOND INNINGS DARK SECTION
===================================================== */

.tn-about-second {
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255, 255, 255, 0.08),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--tn-primary-dark) 0%,
            var(--tn-primary) 55%,
            var(--tn-primary-light) 100%
        );
}

.tn-about-second-title > span {
    color: var(--tn-gold-light);
}

.tn-about-second-title h2,
.tn-about-second-title h2 strong {
    color: #ffffff;
}


/* SECOND INNINGS ICONS */

.tn-support-icon {
    color: var(--tn-gold-light);

    background: rgba(255, 255, 255, 0.12);

    border: 1px solid rgba(255, 255, 255, 0.12);
}


/* =====================================================
   PROCESS CARDS
===================================================== */

.tn-process-card > span {
    color: rgba(90, 28, 93, 0.16);
}

.tn-process-card:hover {
    border-color: rgba(90, 28, 93, 0.20);

    box-shadow: 0 10px 25px rgba(90, 28, 93, 0.08);

    transform: translateY(-3px);
}


/* =====================================================
   BEYOND COMPANIONSHIP
===================================================== */

.tn-beyond-list i {
    background: var(--tn-primary);
}

.tn-beyond-quote {
    background: #f5edf6;

    border: 1px solid rgba(90, 28, 93, 0.10);
}

.tn-beyond-quote > i {
    color: var(--tn-primary);
}

.tn-beyond-quote h3 {
    color: var(--tn-primary-dark);
}

/* =====================================================
   THODU-NEEDA ABOUT - FULL WIDTH FIX
===================================================== */

.tn-about-story {
    width: 100% !important;
    max-width: none !important;

    padding-left: 30px !important;
    padding-right: 30px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    overflow: hidden;
}

.tn-about-container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* MAIN ABOUT AREA FULL WIDTH */

.tn-about-grid {
    width: 100%;
    grid-template-columns: 42% 1fr;
    gap: 50px;
}


/* OTHER ABOUT SECTIONS */

.tn-about-facts,
.tn-about-founder,
.tn-about-second,
.tn-about-process,
.tn-about-beyond {
    width: 100%;
    max-width: none !important;
}


/* =====================================================
   LARGE DESKTOP
===================================================== */

@media (min-width: 1400px) {

    .tn-about-story {
        padding-left: 50px !important;
        padding-right: 50px !important;
    }

    .tn-about-grid {
        gap: 65px;
    }
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .tn-about-story {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .tn-about-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .tn-about-story {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

}




/* =====================================================
   THODU-NEEDA ABOUT
   FULL-WIDTH BACKGROUND + ALIGNED INNER CONTENT
===================================================== */

/* FULL WIDTH SECTION BACKGROUND */
.tn-about-story {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding: 55px 0 !important;

    background: #f8f6f2 !important;

    overflow: hidden;
}


/* CONTENT CONTAINER */
.tn-about-container {
    width: calc(100% - 60px) !important;
    max-width: 1200px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}


/* MAIN ABOUT GRID */
.tn-about-grid {
    width: 100%;
    grid-template-columns: 42% 1fr;
    gap: 50px;
}


/* REMOVE PREVIOUS EDGE-TO-EDGE SETTINGS */
.tn-about-main-image {
    width: 100%;
    border-radius: 24px !important;
}

.tn-about-content {
    padding: 0 !important;
}


/* OTHER SECTIONS */
.tn-about-facts,
.tn-about-founder,
.tn-about-second,
.tn-about-process,
.tn-about-beyond {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* KEEP PREMIUM ROUNDED CARDS */
.tn-about-founder,
.tn-about-second,
.tn-about-beyond {
    border-radius: 20px !important;
}


/* =====================================================
   LARGE DESKTOP
===================================================== */

@media (min-width: 1400px) {

    .tn-about-container {
        max-width: 1320px !important;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .tn-about-story {
        padding: 45px 0 !important;
    }

    .tn-about-container {
        width: calc(100% - 40px) !important;
    }

    .tn-about-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .tn-about-story {
        padding: 35px 0 !important;
    }

    .tn-about-container {
        width: calc(100% - 30px) !important;
    }

}



/* =====================================================
   THODU-NEEDA SUPPORT US PAGE
   PRIMARY: #5A1C5D
===================================================== */

.tn-support-banner,
.tn-support-banner *,
.tn-support-section,
.tn-support-section * {
    box-sizing: border-box;
}

:root {
    --tn-support-primary: #5A1C5D;
    --tn-support-dark: #3f1042;
    --tn-support-light: #76337a;
    --tn-support-gold: #bd8a38;
    --tn-support-gold-light: #f0ca7b;
    --tn-support-bg: #f8f5f8;
    --tn-support-text: #323232;
    --tn-support-muted: #696469;
}


/* =====================================================
   PAGE BANNER
===================================================== */

.tn-support-banner {
    position: relative;
    width: 100%;

    padding: 62px 20px;

    background:
        linear-gradient(
            130deg,
            #3f1042 0%,
            #5A1C5D 58%,
            #743079 100%
        );

    overflow: hidden;
}

.tn-support-banner-container {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1200px;

    margin: auto;

    text-align: center;
}


.tn-support-banner-shape {
    position: absolute;

    border-radius: 50%;

    background: rgba(255,255,255,.05);
}

.tn-support-shape-1 {
    width: 330px;
    height: 330px;

    top: -160px;
    left: -90px;
}

.tn-support-shape-2 {
    width: 430px;
    height: 430px;

    right: -170px;
    bottom: -250px;

    border: 1px solid rgba(255,255,255,.08);
}


.tn-support-banner-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 12px;
    padding: 8px 15px;

    color: var(--tn-support-gold-light);
    background: rgba(255,255,255,.09);

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 30px;

    font-size: 13px;
    font-weight: 700;
}


.tn-support-banner h1 {
    margin: 0 0 12px;

    color: #fff;

    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 800;
}

.tn-support-banner h1 span {
    color: var(--tn-support-gold-light);
}


.tn-support-banner p {
    max-width: 720px;

    margin: 0 auto 19px;

    color: rgba(255,255,255,.82);

    font-size: 16px;
    line-height: 1.7;
}


.tn-support-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    color: rgba(255,255,255,.65);

    font-size: 13px;
}

.tn-support-breadcrumb a {
    display: inline-flex;
    gap: 6px;

    color: #fff;

    text-decoration: none;
}

.tn-support-breadcrumb > i {
    font-size: 9px;
}


/* =====================================================
   MAIN SECTION
===================================================== */

.tn-support-section {
    width: 100%;

    padding: 55px 0;

    background: var(--tn-support-bg);
}

.tn-support-container {
    width: calc(100% - 60px);
    max-width: 1200px;

    margin: auto;
}


/* =====================================================
   INTRO
===================================================== */

.tn-support-intro {
    display: grid;
    grid-template-columns: 85px 1fr;
    gap: 25px;

    padding: 30px;

    background: #fff;

    border: 1px solid rgba(90,28,93,.09);
    border-radius: 20px;

    box-shadow: 0 12px 35px rgba(52,20,54,.06);
}


.tn-support-intro-icon {
    width: 72px;
    height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        var(--tn-support-primary),
        var(--tn-support-light)
    );

    color: #fff;

    border-radius: 19px;

    font-size: 28px;

    box-shadow: 0 10px 25px rgba(90,28,93,.19);
}


.tn-support-small-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: var(--tn-support-gold);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}


.tn-support-intro h2,
.tn-donation-content h2 {
    margin: 0 0 12px;

    color: var(--tn-support-text);

    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.15;
    font-weight: 800;
}

.tn-support-intro h2 span,
.tn-donation-content h2 span {
    color: var(--tn-support-primary);
}


.tn-support-intro p,
.tn-donation-content p {
    margin: 0 0 9px;

    color: var(--tn-support-muted);

    font-size: 15.5px;
    line-height: 1.7;
}


/* =====================================================
   SECTION TITLE
===================================================== */

.tn-certificates-section {
    margin-top: 40px;
}


.tn-section-heading {
    max-width: 700px;
    margin-bottom: 22px;
}

.tn-section-heading > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: var(--tn-support-gold);

    font-size: 12px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1.3px;
}


.tn-section-heading h2 {
    margin: 0 0 8px;

    color: #292729;

    font-size: clamp(29px, 3vw, 40px);
    font-weight: 800;
}

.tn-section-heading h2 strong {
    color: var(--tn-support-primary);
}


.tn-section-heading p {
    margin: 0;

    color: #777;

    font-size: 15px;
    line-height: 1.65;
}


/* =====================================================
   CERTIFICATE CARDS
===================================================== */

.tn-certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}


.tn-certificate-card {
    overflow: hidden;

    background: #fff;

    border: 1px solid rgba(90,28,93,.09);
    border-radius: 18px;

    box-shadow: 0 8px 25px rgba(50,24,53,.05);

    transition: .3s ease;
}

.tn-certificate-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(90,28,93,.11);
}


/* PREVIEW */

.tn-certificate-preview {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 220px;

    padding: 25px;

    background:
        linear-gradient(
            135deg,
            #f3eaf4,
            #faf7fb
        );

    border-bottom: 1px solid #eee7ef;
}


.tn-certificate-paper {
    width: 160px;
    min-height: 170px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 20px;

    text-align: center;

    background: #fff;

    border: 1px solid #e4dbe5;
    border-radius: 8px;

    box-shadow: 0 12px 25px rgba(65,30,67,.11);

    transform: rotate(-2deg);
}


.tn-paper-icon {
    margin-bottom: 8px;

    color: var(--tn-support-primary);

    font-size: 27px;
}

.tn-certificate-paper span {
    color: #928492;

    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.tn-certificate-paper strong {
    display: block;

    margin: 4px 0;

    color: var(--tn-support-primary);

    font-size: 34px;
}

.tn-certificate-paper small {
    color: #5d575d;

    font-size: 10px;
    line-height: 1.3;
}


.tn-certificate-badge {
    position: absolute;
    top: 17px;
    right: 17px;

    min-width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 9px;

    background: var(--tn-support-primary);
    color: #fff;

    border-radius: 50%;

    font-size: 12px;
    font-weight: 800;

    box-shadow: 0 7px 18px rgba(90,28,93,.2);
}


/* CARD CONTENT */

.tn-certificate-content {
    padding: 21px;
}

.tn-certificate-content h3 {
    margin: 0 0 7px;

    color: var(--tn-support-primary);

    font-size: 19px;
    font-weight: 800;
}

.tn-certificate-content p {
    min-height: 68px;

    margin: 0 0 16px;

    color: #747074;

    font-size: 14px;
    line-height: 1.6;
}


/* ACTION BUTTONS */

.tn-certificate-actions {
    display: flex;
    gap: 8px;
}


.tn-cert-btn {
    flex: 1;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 42px;
    padding: 10px 13px;

    border-radius: 9px;

    font-size: 12px;
    font-weight: 750;

    text-decoration: none;

    transition: .25s ease;
}


.tn-cert-view {
    background: var(--tn-support-primary);
    color: #fff;
}

.tn-cert-view:hover {
    background: var(--tn-support-dark);
    color: #fff;
}


.tn-cert-download {
    background: #f5edf6;
    color: var(--tn-support-primary);

    border: 1px solid rgba(90,28,93,.12);
}

.tn-cert-download:hover {
    background: var(--tn-support-primary);
    color: #fff;
}


/* =====================================================
   DONATION SECTION
===================================================== */

.tn-donation-section {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 30px;

    margin-top: 42px;
    padding: 35px;

    background: #fff;

    border: 1px solid rgba(90,28,93,.09);
    border-radius: 20px;
}


.tn-donation-content {
    align-self: center;
}


.tn-donation-points {
    display: grid;
    gap: 9px;

    margin-top: 17px;
}

.tn-donation-points div {
    display: flex;
    align-items: center;
    gap: 9px;

    color: #565056;

    font-size: 14px;
    font-weight: 650;
}

.tn-donation-points i {
    color: var(--tn-support-primary);
}


.tn-donation-note {
    display: flex;
    gap: 10px;

    margin-top: 20px;
    padding: 14px;

    background: #f7f1f8;

    border-left: 3px solid var(--tn-support-primary);
    border-radius: 9px;
}

.tn-donation-note > i {
    margin-top: 4px;

    color: var(--tn-support-primary);
}

.tn-donation-note p {
    margin: 0;

    font-size: 13px;
}


/* =====================================================
   BANK CARD
===================================================== */

.tn-bank-card {
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            var(--tn-support-dark),
            var(--tn-support-primary)
        );

    border-radius: 18px;

    box-shadow: 0 17px 40px rgba(90,28,93,.2);
}


.tn-bank-card-head {
    display: flex;
    align-items: center;
    gap: 13px;

    padding: 21px;

    border-bottom: 1px solid rgba(255,255,255,.12);
}


.tn-bank-icon {
    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.1);

    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;

    color: var(--tn-support-gold-light);

    font-size: 21px;
}


.tn-bank-card-head span {
    display: block;

    color: rgba(255,255,255,.58);

    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}


.tn-bank-card-head h3 {
    margin: 2px 0 0;

    color: #fff;

    font-size: 21px;
}


.tn-bank-details {
    padding: 8px 21px 12px;
}


.tn-bank-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    padding: 12px 0;

    border-bottom: 1px solid rgba(255,255,255,.1);
}

.tn-bank-row:last-child {
    border-bottom: 0;
}


.tn-bank-row span {
    color: rgba(255,255,255,.62);

    font-size: 12px;
}

.tn-bank-row strong {
    max-width: 60%;

    color: #fff;

    font-size: 13px;
    text-align: right;
}


.tn-bank-footer {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 14px 21px;

    background: rgba(0,0,0,.1);

    color: var(--tn-support-gold-light);

    font-size: 12px;
    font-weight: 700;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (min-width: 1400px) {

    .tn-support-container,
    .tn-support-banner-container {
        max-width: 1320px;
    }

}


@media (max-width: 991px) {

    .tn-support-container {
        width: calc(100% - 40px);
    }

    .tn-certificates-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tn-donation-section {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .tn-support-banner {
        padding: 48px 16px;
    }

    .tn-support-section {
        padding: 40px 0;
    }

    .tn-support-intro {
        grid-template-columns: 1fr;

        padding: 23px;
    }

    .tn-support-intro-icon {
        width: 58px;
        height: 58px;

        font-size: 22px;
    }

    .tn-certificates-grid {
        grid-template-columns: 1fr;
    }

    .tn-certificate-content p {
        min-height: 0;
    }

    .tn-donation-section {
        padding: 23px;
    }

}


@media (max-width: 575px) {

    .tn-support-container {
        width: calc(100% - 30px);
    }

    .tn-support-banner h1 {
        font-size: 34px;
    }

    .tn-support-banner p {
        font-size: 14px;
    }

    .tn-certificate-actions {
        flex-direction: column;
    }

    .tn-bank-row {
        display: block;
    }

    .tn-bank-row span {
        display: block;
        margin-bottom: 4px;
    }

    .tn-bank-row strong {
        display: block;

        max-width: 100%;

        text-align: left;
    }

}




/* =====================================================
   THODU-NEEDA SUPPORT US
   FINAL COLOR OVERRIDE
   PRIMARY: #5A1C5D
   ACCENT:  #E5303A
===================================================== */

:root {
    --tn-support-primary: #5A1C5D;
    --tn-support-dark: #401342;
    --tn-support-light: #763079;

    --tn-support-accent: #E5303A;
    --tn-support-accent-dark: #c8232c;
    --tn-support-accent-light: #ff646c;

    --tn-support-bg: #f8f5f8;
    --tn-support-text: #302c31;
    --tn-support-muted: #6d676e;
}


/* =====================================================
   BANNER
===================================================== */

.tn-support-banner {
    background:
        radial-gradient(
            circle at 85% 25%,
            rgba(229, 48, 58, 0.22),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #401342 0%,
            #5A1C5D 55%,
            #6e2372 100%
        ) !important;
}

.tn-support-banner-label {
    color: #ffffff !important;

    background: rgba(229, 48, 58, 0.18) !important;

    border-color: rgba(229, 48, 58, 0.45) !important;
}

.tn-support-banner-label i {
    color: #ff747b !important;
}

.tn-support-banner h1 span {
    color: #ff646c !important;
}


/* =====================================================
   INTRO
===================================================== */

.tn-support-intro-icon {
    background:
        linear-gradient(
            135deg,
            #5A1C5D,
            #E5303A
        ) !important;

    box-shadow:
        0 10px 25px rgba(90, 28, 93, 0.18) !important;
}

.tn-support-small-title {
    color: #E5303A !important;
}

.tn-support-intro h2 span,
.tn-donation-content h2 span {
    color: #5A1C5D !important;
}


/* =====================================================
   CERTIFICATE HEADING
===================================================== */

.tn-section-heading > span {
    color: #E5303A !important;
}

.tn-section-heading h2 strong {
    color: #5A1C5D !important;
}


/* =====================================================
   CERTIFICATE CARDS
===================================================== */

.tn-certificate-preview {
    background:
        linear-gradient(
            135deg,
            #f5eef6 0%,
            #fff4f4 100%
        ) !important;
}

.tn-paper-icon {
    color: #E5303A !important;
}

.tn-certificate-paper strong {
    color: #5A1C5D !important;
}

.tn-certificate-badge {
    background:
        linear-gradient(
            135deg,
            #5A1C5D,
            #E5303A
        ) !important;

    color: #ffffff !important;

    box-shadow:
        0 7px 18px rgba(90, 28, 93, 0.22) !important;
}

.tn-certificate-content h3 {
    color: #5A1C5D !important;
}

.tn-certificate-card:hover {
    border-color: rgba(229, 48, 58, 0.22) !important;

    box-shadow:
        0 15px 35px rgba(90, 28, 93, 0.12) !important;
}


/* =====================================================
   CERTIFICATE BUTTONS
===================================================== */

.tn-cert-view {
    background: #5A1C5D !important;
    color: #ffffff !important;
}

.tn-cert-view:hover {
    background: #E5303A !important;
    color: #ffffff !important;
}

.tn-cert-download {
    background: #fff1f2 !important;
    color: #E5303A !important;

    border-color: rgba(229, 48, 58, 0.18) !important;
}

.tn-cert-download:hover {
    background: #E5303A !important;
    color: #ffffff !important;

    border-color: #E5303A !important;
}


/* =====================================================
   DONATION SECTION
===================================================== */

.tn-donation-points i {
    color: #E5303A !important;
}

.tn-donation-note {
    background:
        linear-gradient(
            90deg,
            #f7eef8,
            #fff3f3
        ) !important;

    border-left-color: #E5303A !important;
}

.tn-donation-note > i {
    color: #E5303A !important;
}


/* =====================================================
   BANK CARD
===================================================== */

.tn-bank-card {
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(229, 48, 58, 0.28),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #401342,
            #5A1C5D
        ) !important;

    box-shadow:
        0 17px 40px rgba(90, 28, 93, 0.24) !important;
}

.tn-bank-icon {
    color: #ffffff !important;

    background: rgba(229, 48, 58, 0.18) !important;

    border-color: rgba(229, 48, 58, 0.35) !important;
}

.tn-bank-footer {
    color: #ffffff !important;

    background: rgba(229, 48, 58, 0.16) !important;

    border-top: 1px solid rgba(229, 48, 58, 0.18);
}

.tn-bank-footer i {
    color: #ff6a72 !important;
}


/* =====================================================
   GENERAL ACCENT DETAILS
===================================================== */

.tn-support-section a:focus,
.tn-support-section button:focus {
    outline: 2px solid rgba(229, 48, 58, 0.35);
    outline-offset: 2px;
}

.tn-support-section ::selection,
.tn-support-banner ::selection {
    background: #E5303A;
    color: #ffffff;
}




/* =========================================================
   THODU NEEDA - ABOUT SECTION VERSION 2
========================================================= */

.tn-about2-section{
    position:relative;
    padding:75px 0 55px;
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 15%, rgba(90,28,93,.06), transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#fcf8fc 100%);
}

.tn-about2-container{
    width:min(1180px, calc(100% - 40px));
    margin:auto;
}


/* ================= GRID ================= */

.tn-about2-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
}


/* ================= LEFT ================= */

.tn-about2-content{
    position:relative;
    padding-left:28px;
}

.tn-about2-content:before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:4px;
    height:92px;
    border-radius:10px;
    background:linear-gradient(
        to bottom,
        #E5303A,
        #5A1C5D
    );
}

.tn-about2-label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:13px;

    color:#E5303A;
    font-size:14px;
    font-weight:800;
    letter-spacing:1.1px;
}

.tn-about2-label-line{
    width:32px;
    height:2px;
    background:#E5303A;
}

.tn-about2-content h2{
    margin:0 0 20px;

    color:#351038;
    font-size:44px;
    font-weight:800;
    line-height:1.12;
}

.tn-about2-content h2 span{
    display:block;
    color:#5A1C5D;
}

.tn-about2-content > p{
    margin:0 0 14px;

    color:#5d5860;
    font-size:16px;
    line-height:1.82;
}

.tn-about2-content > p strong{
    color:#351038;
}


/* ================= MISSION BOX ================= */

.tn-about2-mission{
    display:flex;
    align-items:flex-start;
    gap:15px;

    margin-top:23px;
    padding:18px;

    background:#fff;
    border:1px solid rgba(90,28,93,.12);
    border-radius:16px;

    box-shadow:0 12px 35px rgba(53,16,56,.07);
}

.tn-about2-mission-icon{
    width:48px;
    height:48px;
    min-width:48px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:13px;

    background:rgba(229,48,58,.09);
    color:#E5303A;

    font-size:21px;
}

.tn-about2-mission span{
    display:block;
    margin-bottom:4px;

    color:#5A1C5D;
    font-size:14px;
    font-weight:800;
}

.tn-about2-mission p{
    margin:0;

    color:#666067;
    font-size:14px;
    line-height:1.7;
}


/* ================= BOTTOM ================= */

.tn-about2-bottom{
    display:flex;
    align-items:center;
    gap:25px;
    margin-top:24px;
}

.tn-about2-btn{
    display:inline-flex;
    align-items:center;
    gap:15px;

    padding:7px 7px 7px 20px;

    text-decoration:none;
    color:#fff;

    background:#5A1C5D;

    border-radius:50px;

    font-size:14px;
    font-weight:800;

    transition:.3s ease;
}

.tn-about2-btn > span{
    width:38px;
    height:38px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#E5303A;
}

.tn-about2-btn:hover{
    transform:translateY(-2px);
    background:#351038;
}

.tn-about2-small-note{
    display:flex;
    align-items:center;
    gap:10px;

    color:#6c676d;
    font-size:13px;
    line-height:1.4;
}

.tn-about2-small-note i{
    color:#E5303A;
    font-size:21px;
}

.tn-about2-small-note strong{
    display:block;
    color:#5A1C5D;
}


/* ================= IMAGE ================= */

.tn-about2-visual{
    position:relative;
    min-height:500px;
}

.tn-about2-main-image{
    position:absolute;
    inset:0 0 30px 40px;

    overflow:hidden;

    border-radius:
        80px 22px 80px 22px;

    box-shadow:0 20px 60px rgba(53,16,56,.18);

    z-index:2;
}

.tn-about2-main-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.tn-about2-image-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(53,16,56,.78) 0%,
            rgba(53,16,56,.1) 50%,
            transparent 100%
        );
}

.tn-about2-image-text{
    position:absolute;
    left:28px;
    bottom:30px;

    max-width:300px;

    color:#fff;
}

.tn-about2-image-text i{
    margin-bottom:7px;

    color:#ffbac0;
    font-size:23px;
}

.tn-about2-image-text p{
    margin:0;

    font-size:20px;
    font-weight:700;
    line-height:1.45;
}


/* ================= FLOATING CARD ================= */

.tn-about2-floating-card{
    position:absolute;
    left:0;
    top:58px;

    width:250px;

    display:flex;
    align-items:center;
    gap:13px;

    padding:15px 17px;

    background:#fff;

    border-radius:15px;

    box-shadow:0 15px 40px rgba(53,16,56,.18);

    z-index:4;
}

.tn-about2-floating-icon{
    width:47px;
    height:47px;
    min-width:47px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#E5303A;
    color:#fff;

    font-size:20px;
}

.tn-about2-floating-card strong{
    display:block;

    margin-bottom:3px;

    color:#351038;
    font-size:15px;
}

.tn-about2-floating-card span{
    display:block;

    color:#777177;
    font-size:11px;
    line-height:1.4;
}


/* ================= DECORATION ================= */

.tn-about2-shape{
    position:absolute;
    right:-35px;
    bottom:-20px;

    width:180px;
    height:180px;

    border-radius:50%;

    border:32px solid rgba(229,48,58,.07);

    z-index:1;
}


/* =========================================================
   FEATURE STRIP
========================================================= */

.tn-about2-feature-strip{
    position:relative;
    z-index:5;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    margin-top:50px;

    overflow:hidden;

    background:#fff;

    border:1px solid rgba(90,28,93,.12);
    border-radius:18px;

    box-shadow:0 12px 40px rgba(53,16,56,.07);
}

.tn-about2-feature{
    display:flex;
    align-items:center;
    gap:12px;

    padding:19px 20px;

    border-right:1px solid rgba(90,28,93,.1);
}

.tn-about2-feature:last-child{
    border-right:none;
}

.tn-about2-feature > i{
    width:43px;
    height:43px;
    min-width:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:rgba(90,28,93,.08);
    color:#5A1C5D;

    font-size:18px;
}

.tn-about2-feature strong,
.tn-about2-feature span{
    display:block;
}

.tn-about2-feature strong{
    margin-bottom:3px;

    color:#351038;
    font-size:14px;
}

.tn-about2-feature span{
    color:#777178;
    font-size:11px;
    line-height:1.4;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .tn-about2-section{
        padding:60px 0 45px;
    }

    .tn-about2-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .tn-about2-content{
        padding-left:22px;
    }

    .tn-about2-content h2{
        font-size:38px;
    }

    .tn-about2-visual{
        min-height:460px;
        max-width:700px;
        width:100%;
        margin:auto;
    }

    .tn-about2-main-image{
        left:35px;
    }

    .tn-about2-feature-strip{
        grid-template-columns:repeat(2,1fr);
    }

    .tn-about2-feature:nth-child(2){
        border-right:none;
    }

    .tn-about2-feature:nth-child(1),
    .tn-about2-feature:nth-child(2){
        border-bottom:1px solid rgba(90,28,93,.1);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .tn-about2-section{
        padding:48px 0 38px;
    }

    .tn-about2-container{
        width:calc(100% - 28px);
    }

    .tn-about2-content{
        padding-left:17px;
    }

    .tn-about2-content:before{
        height:70px;
    }

    .tn-about2-content h2{
        font-size:30px;
    }

    .tn-about2-content > p{
        font-size:15px;
        line-height:1.72;
    }

    .tn-about2-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:17px;
    }

    .tn-about2-visual{
        min-height:380px;
    }

    .tn-about2-main-image{
        inset:0 0 20px 18px;

        border-radius:
            50px 16px 50px 16px;
    }

    .tn-about2-floating-card{
        top:20px;
        left:0;

        width:220px;
    }

    .tn-about2-image-text{
        left:22px;
        bottom:22px;
    }

    .tn-about2-image-text p{
        font-size:17px;
    }

    .tn-about2-feature-strip{
        grid-template-columns:1fr;
        margin-top:35px;
    }

    .tn-about2-feature{
        border-right:none;
        border-bottom:1px solid rgba(90,28,93,.1);
    }

    .tn-about2-feature:last-child{
        border-bottom:none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .tn-about2-content h2{
        font-size:27px;
    }

    .tn-about2-visual{
        min-height:340px;
    }

    .tn-about2-main-image{
        left:8px;
    }

    .tn-about2-floating-card{
        position:relative;
        top:auto;
        left:auto;

        width:calc(100% - 30px);

        margin:0 auto -45px;https://images.pexels.com/photos/3768114/pexels-photo-3768114.jpeg?auto=compress&cs=tinysrgb&w=1600

        transform:translateY(-18px);
    }

    .tn-about2-image-text{
        max-width:230px;
    }

}





/* =========================================================
   THODU NEEDA - COMPLETE ABOUT US PAGE CSS
   SAFE MASTER CLASS: .tnx-about-page-master

   COLOR PALETTE
   Purple: #5A1C5D
   Dark Purple: #351038
   Red: #E5303A
========================================================= */


/* =========================================================
   MASTER
========================================================= */

.tnx-about-page-master{
    --tnx-purple:#5A1C5D;
    --tnx-purple-dark:#351038;
    --tnx-red:#E5303A;
    --tnx-red-dark:#be2029;

    --tnx-text:#5e5860;
    --tnx-dark:#2e292f;

    --tnx-white:#ffffff;
    --tnx-light:#faf7fb;
    --tnx-light-2:#fff9fa;

    --tnx-border:rgba(90,28,93,.12);

    width:100%;

    overflow:hidden;

    background:#fff;

    box-sizing:border-box;
}


.tnx-about-page-master *,
.tnx-about-page-master *::before,
.tnx-about-page-master *::after{
    box-sizing:border-box;
}


.tnx-about-page-master img{
    max-width:100%;
}


.tnx-about-page-master a{
    text-decoration:none;
}


/* =========================================================
   COMMON CONTAINER
========================================================= */

.tnx-about-page-master .tnx-about-page-container{
    width:min(1180px, calc(100% - 40px));

    margin:0 auto;
}


/* =========================================================
   COMMON LABEL
========================================================= */

.tnx-about-page-master .tnx-about-page-label{
    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:13px;

    color:var(--tnx-red);

    font-size:13px;

    font-weight:800;

    letter-spacing:1.15px;
}


.tnx-about-page-master .tnx-about-page-label > span{
    width:34px;

    height:2px;

    display:block;

    background:var(--tnx-red);
}


.tnx-about-page-master .tnx-about-page-label i{
    font-size:14px;
}


.tnx-about-page-master .tnx-about-page-label--light{
    color:#ffd4d7;
}


.tnx-about-page-master .tnx-about-page-label--light > span{
    background:#ffd4d7;
}


/* =========================================================
   COMMON SECTION HEADING
========================================================= */

.tnx-about-page-master .tnx-about-page-heading{
    max-width:780px;

    margin:0 auto 36px;

    text-align:center;
}


.tnx-about-page-master .tnx-about-page-heading .tnx-about-page-label{
    justify-content:center;
}


.tnx-about-page-master .tnx-about-page-heading h2{
    margin:0 0 13px;

    color:var(--tnx-purple-dark);

    font-size:38px;

    font-weight:800;

    line-height:1.18;
}


.tnx-about-page-master .tnx-about-page-heading h2 span{
    color:var(--tnx-red);
}


.tnx-about-page-master .tnx-about-page-heading > p{
    max-width:700px;

    margin:0 auto;

    color:var(--tnx-text);

    font-size:16px;

    line-height:1.75;
}


/* =========================================================
   PAGE BANNER
========================================================= */

.tnx-about-page-master .tnx-about-page-banner{
    position:relative;

    min-height:390px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:
        url("images/gallery-2.avif")
        center 40% / cover no-repeat;
}


.tnx-about-page-master
.tnx-about-page-banner__overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(45,10,48,.97) 0%,
            rgba(90,28,93,.91) 42%,
            rgba(90,28,93,.52) 70%,
            rgba(53,16,56,.28) 100%
        );
}


.tnx-about-page-master
.tnx-about-page-banner__content{
    position:relative;

    z-index:2;

    max-width:780px;

    padding:58px 0;

    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-banner__label{
    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:9px 15px;

    margin-bottom:16px;

    color:#fff;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.23);

    border-radius:50px;

    font-size:14px;

    font-weight:700;
}


.tnx-about-page-master
.tnx-about-page-banner__content h1{
    margin:0 0 14px;

    color:#fff;

    font-size:47px;

    font-weight:850;

    line-height:1.1;
}


.tnx-about-page-master
.tnx-about-page-banner__content h1 span{
    color:#ffd0d4;
}


.tnx-about-page-master
.tnx-about-page-banner__content > p{
    max-width:690px;

    margin:0 0 20px;

    color:rgba(255,255,255,.9);

    font-size:17px;

    line-height:1.72;
}


.tnx-about-page-master
.tnx-about-page-banner__breadcrumb{
    display:flex;

    align-items:center;

    gap:10px;

    color:rgba(255,255,255,.85);

    font-size:14px;

    font-weight:600;
}


.tnx-about-page-master
.tnx-about-page-banner__breadcrumb a{
    display:inline-flex;

    align-items:center;

    gap:6px;

    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-banner__breadcrumb > i{
    font-size:9px;

    opacity:.65;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.tnx-about-page-master .tnx-about-page-intro{
    padding:70px 0;

    background:
        radial-gradient(
            circle at 4% 15%,
            rgba(90,28,93,.055),
            transparent 28%
        ),
        #fff;
}


.tnx-about-page-master
.tnx-about-page-intro__grid{
    display:grid;

    grid-template-columns:.92fr 1.08fr;

    align-items:center;

    gap:65px;
}


/* IMAGE AREA */

.tnx-about-page-master
.tnx-about-page-intro__visual{
    position:relative;

    min-height:500px;
}


.tnx-about-page-master
.tnx-about-page-intro__image-box{
    position:absolute;

    top:0;
    right:0;
    bottom:25px;
    left:38px;

    overflow:hidden;

    border-radius:
        82px 22px 82px 22px;

    box-shadow:
        0 24px 60px rgba(53,16,56,.17);
}


.tnx-about-page-master
.tnx-about-page-intro__image-box img{
    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;
}


.tnx-about-page-master
.tnx-about-page-intro__image-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(53,16,56,.80) 0%,
            rgba(53,16,56,.18) 45%,
            transparent 72%
        );
}


.tnx-about-page-master
.tnx-about-page-intro__image-caption{
    position:absolute;

    left:28px;
    right:28px;
    bottom:28px;

    z-index:2;

    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-intro__image-caption i{
    margin-bottom:7px;

    color:#ffc7cb;

    font-size:24px;
}


.tnx-about-page-master
.tnx-about-page-intro__image-caption p{
    max-width:330px;

    margin:0;

    color:#fff;

    font-size:19px;

    font-weight:700;

    line-height:1.45;
}


/* SINCE CARD */

.tnx-about-page-master
.tnx-about-page-intro__since-card{
    position:absolute;

    left:0;
    top:45px;

    z-index:4;

    width:235px;

    display:flex;

    align-items:center;

    gap:13px;

    padding:16px;

    background:#fff;

    border:1px solid var(--tnx-border);

    border-radius:16px;

    box-shadow:
        0 16px 42px rgba(53,16,56,.18);
}


.tnx-about-page-master
.tnx-about-page-intro__since-icon{
    width:47px;

    height:47px;

    min-width:47px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--tnx-red),
            var(--tnx-red-dark)
        );

    color:#fff;

    font-size:19px;
}


.tnx-about-page-master
.tnx-about-page-intro__since-card span{
    display:block;

    color:#7b747c;

    font-size:10px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.7px;
}


.tnx-about-page-master
.tnx-about-page-intro__since-card strong{
    display:block;

    margin:1px 0;

    color:var(--tnx-purple);

    font-size:26px;

    font-weight:900;

    line-height:1;
}


.tnx-about-page-master
.tnx-about-page-intro__since-card small{
    display:block;

    color:#817b82;

    font-size:10px;

    line-height:1.4;
}


/* INTRO CONTENT */

.tnx-about-page-master
.tnx-about-page-intro__content h2{
    margin:0 0 18px;

    color:var(--tnx-purple-dark);

    font-size:40px;

    font-weight:820;

    line-height:1.16;
}


.tnx-about-page-master
.tnx-about-page-intro__content h2 span{
    display:block;

    color:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-intro__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;

    line-height:1.8;
}


.tnx-about-page-master
.tnx-about-page-intro__content > p strong{
    color:var(--tnx-purple-dark);
}


/* INTRO FEATURES */

.tnx-about-page-master
.tnx-about-page-intro__features{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:10px;

    margin-top:21px;
}


.tnx-about-page-master
.tnx-about-page-intro__features > div{
    display:flex;

    align-items:center;

    gap:10px;

    padding:12px 13px;

    background:var(--tnx-light);

    border:1px solid var(--tnx-border);

    border-radius:11px;

    color:var(--tnx-purple-dark);

    font-size:14px;

    font-weight:700;
}


.tnx-about-page-master
.tnx-about-page-intro__features i{
    width:35px;

    height:35px;

    min-width:35px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:10px;

    background:rgba(90,28,93,.08);

    color:var(--tnx-purple);
}


/* =========================================================
   STORY SECTION
========================================================= */

.tnx-about-page-master .tnx-about-page-story{
    padding:68px 0;

    background:var(--tnx-light);
}


.tnx-about-page-master
.tnx-about-page-story__grid{
    display:grid;

    grid-template-columns:1.05fr .95fr;

    align-items:center;

    gap:58px;
}


.tnx-about-page-master
.tnx-about-page-story__content h2{
    margin:0 0 17px;

    color:var(--tnx-purple-dark);

    font-size:38px;

    font-weight:820;

    line-height:1.17;
}


.tnx-about-page-master
.tnx-about-page-story__content h2 span{
    display:block;

    color:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-story__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;

    line-height:1.78;
}


/* STORY QUOTE */

.tnx-about-page-master
.tnx-about-page-story__quote{
    position:relative;

    margin-top:21px;

    padding:18px 18px 18px 55px;

    background:#fff;

    border-left:4px solid var(--tnx-red);

    border-radius:6px 13px 13px 6px;
}


.tnx-about-page-master
.tnx-about-page-story__quote > i{
    position:absolute;

    left:18px;
    top:20px;

    color:var(--tnx-purple);

    font-size:23px;
}


.tnx-about-page-master
.tnx-about-page-story__quote p{
    margin:0 0 7px;

    color:var(--tnx-purple-dark);

    font-size:15px;

    font-weight:700;

    line-height:1.6;
}


.tnx-about-page-master
.tnx-about-page-story__quote span{
    color:var(--tnx-red);

    font-size:12px;

    font-weight:700;
}


/* STORY IMAGE */

.tnx-about-page-master
.tnx-about-page-story__visual{
    position:relative;
}


.tnx-about-page-master
.tnx-about-page-story__visual > img{
    width:100%;

    height:425px;

    display:block;

    object-fit:cover;

    border-radius:23px;
}


.tnx-about-page-master
.tnx-about-page-story__floating{
    position:absolute;

    left:20px;
    right:20px;
    bottom:20px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 15px;

    background:rgba(255,255,255,.95);

    border-radius:13px;

    box-shadow:
        0 12px 35px rgba(0,0,0,.13);
}


.tnx-about-page-master
.tnx-about-page-story__floating > i{
    width:44px;

    height:44px;

    min-width:44px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--tnx-red);

    color:#fff;

    font-size:18px;
}


.tnx-about-page-master
.tnx-about-page-story__floating strong{
    display:block;

    margin-bottom:2px;

    color:var(--tnx-purple);

    font-size:14px;
}


.tnx-about-page-master
.tnx-about-page-story__floating span{
    display:block;

    color:#716b72;

    font-size:11px;

    line-height:1.45;
}


/* =========================================================
   JOURNEY / STATS
========================================================= */

.tnx-about-page-master .tnx-about-page-journey{
    padding:58px 0;

    background:
        linear-gradient(
            135deg,
            var(--tnx-purple-dark),
            var(--tnx-purple)
        );
}


.tnx-about-page-master
.tnx-about-page-journey .tnx-about-page-heading h2{
    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-journey .tnx-about-page-heading h2 span{
    color:#ffc7cb;
}


.tnx-about-page-master
.tnx-about-page-journey__grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:15px;
}


.tnx-about-page-master
.tnx-about-page-journey__item{
    padding:23px 18px;

    text-align:center;

    color:#fff;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.13);

    border-radius:15px;
}


.tnx-about-page-master
.tnx-about-page-journey__item i{
    display:block;

    margin-bottom:11px;

    color:#ffc0c5;

    font-size:24px;
}


.tnx-about-page-master
.tnx-about-page-journey__item strong{
    display:block;

    margin-bottom:4px;

    color:#fff;

    font-size:27px;

    font-weight:850;
}


.tnx-about-page-master
.tnx-about-page-journey__item span{
    color:rgba(255,255,255,.78);

    font-size:13px;

    line-height:1.5;
}


/* =========================================================
   SOCIAL ATTITUDES
========================================================= */

.tnx-about-page-master .tnx-about-page-attitude{
    padding:68px 0;

    background:#fff;
}


.tnx-about-page-master
.tnx-about-page-attitude__grid{
    display:grid;

    grid-template-columns:.9fr 1.1fr;

    align-items:center;

    gap:58px;
}


.tnx-about-page-master
.tnx-about-page-attitude__image img{
    width:100%;

    height:430px;

    display:block;

    object-fit:cover;

    border-radius:23px;
}


.tnx-about-page-master
.tnx-about-page-attitude__content h2{
    margin:0 0 17px;

    color:var(--tnx-purple-dark);

    font-size:38px;

    font-weight:820;

    line-height:1.17;
}


.tnx-about-page-master
.tnx-about-page-attitude__content h2 span{
    display:block;

    color:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-attitude__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;

    line-height:1.78;
}


/* ATTITUDE LIST */

.tnx-about-page-master
.tnx-about-page-attitude__list{
    display:grid;

    gap:8px;

    margin-top:18px;
}


.tnx-about-page-master
.tnx-about-page-attitude__list > div{
    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 12px;

    background:var(--tnx-light);

    border-radius:9px;

    color:#514b52;

    font-size:14px;

    font-weight:600;
}


.tnx-about-page-master
.tnx-about-page-attitude__list i{
    color:var(--tnx-red);
}


/* =========================================================
   COMPANIONSHIP PROCESS
========================================================= */

.tnx-about-page-master .tnx-about-page-process{
    padding:68px 0;

    background:var(--tnx-light);
}


.tnx-about-page-master
.tnx-about-page-process__grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:16px;
}


.tnx-about-page-master
.tnx-about-page-process__card{
    position:relative;

    padding:24px 20px;

    background:#fff;

    border:1px solid var(--tnx-border);

    border-radius:17px;

    box-shadow:
        0 10px 30px rgba(53,16,56,.05);

    transition:
        transform .28s ease,
        box-shadow .28s ease;
}


.tnx-about-page-master
.tnx-about-page-process__card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(53,16,56,.10);
}


.tnx-about-page-master
.tnx-about-page-process__number{
    position:absolute;

    top:16px;
    right:18px;

    color:rgba(90,28,93,.10);

    font-size:31px;

    font-weight:900;
}


.tnx-about-page-master
.tnx-about-page-process__icon{
    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:16px;

    border-radius:14px;

    background:rgba(90,28,93,.08);

    color:var(--tnx-purple);

    font-size:21px;
}


.tnx-about-page-master
.tnx-about-page-process__card h3{
    margin:0 0 8px;

    color:var(--tnx-purple-dark);

    font-size:19px;
}


.tnx-about-page-master
.tnx-about-page-process__card p{
    margin:0;

    color:#6b656c;

    font-size:14px;

    line-height:1.68;
}


/* =========================================================
   CHOICE SECTION
========================================================= */

.tnx-about-page-master .tnx-about-page-choice{
    padding:48px 0;

    background:#fff;
}


.tnx-about-page-master
.tnx-about-page-choice__box{
    display:grid;

    grid-template-columns:90px 1fr;

    align-items:center;

    gap:24px;

    padding:30px 34px;

    background:
        linear-gradient(
            115deg,
            #fff7f8,
            #faf6fb
        );

    border:1px solid var(--tnx-border);

    border-radius:21px;
}


.tnx-about-page-master
.tnx-about-page-choice__icon{
    width:76px;

    height:76px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--tnx-red);

    color:#fff;

    font-size:29px;
}


.tnx-about-page-master
.tnx-about-page-choice__content > span{
    color:var(--tnx-red);

    font-size:13px;

    font-weight:800;
}


.tnx-about-page-master
.tnx-about-page-choice__content h2{
    margin:6px 0 10px;

    color:var(--tnx-purple-dark);

    font-size:27px;

    line-height:1.25;
}


.tnx-about-page-master
.tnx-about-page-choice__content p{
    margin:0 0 8px;

    color:var(--tnx-text);

    font-size:15px;

    line-height:1.7;
}


/* =========================================================
   FOUNDER
========================================================= */

.tnx-about-page-master .tnx-about-page-founder{
    padding:68px 0;

    background:var(--tnx-light);
}


.tnx-about-page-master
.tnx-about-page-founder__grid{
    display:grid;

    grid-template-columns:1.05fr .95fr;

    align-items:center;

    gap:58px;
}


.tnx-about-page-master
.tnx-about-page-founder__content h2{
    margin:0 0 17px;

    color:var(--tnx-purple-dark);

    font-size:38px;

    line-height:1.17;
}


.tnx-about-page-master
.tnx-about-page-founder__content h2 span{
    display:block;

    color:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-founder__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;

    line-height:1.78;
}


.tnx-about-page-master
.tnx-about-page-founder__image img{
    width:100%;

    height:425px;

    display:block;

    object-fit:cover;

    border-radius:23px;
}


/* FOUNDER NOTE */

.tnx-about-page-master
.tnx-about-page-founder__note{
    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-top:19px;

    padding:15px;

    background:#fff;

    border-left:4px solid var(--tnx-red);

    border-radius:5px 12px 12px 5px;
}


.tnx-about-page-master
.tnx-about-page-founder__note i{
    margin-top:3px;

    color:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-founder__note p{
    margin:0;

    color:var(--tnx-purple-dark);

    font-size:14px;

    font-weight:600;

    line-height:1.65;
}


/* =========================================================
   BEYOND COMPANIONSHIP
========================================================= */

.tnx-about-page-master .tnx-about-page-beyond{
    padding:68px 0;

    background:#fff;
}


.tnx-about-page-master
.tnx-about-page-beyond__grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;
}


.tnx-about-page-master
.tnx-about-page-beyond__card{
    display:block;

    padding:26px;

    background:#fff;

    border:1px solid var(--tnx-border);

    border-radius:17px;

    box-shadow:
        0 10px 30px rgba(53,16,56,.055);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}


.tnx-about-page-master
.tnx-about-page-beyond__card:hover{
    transform:translateY(-6px);

    border-color:rgba(90,28,93,.28);

    box-shadow:
        0 18px 40px rgba(53,16,56,.11);
}


.tnx-about-page-master
.tnx-about-page-beyond__icon{
    width:54px;

    height:54px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:17px;

    border-radius:14px;

    background:rgba(90,28,93,.08);

    color:var(--tnx-purple);

    font-size:22px;
}


.tnx-about-page-master
.tnx-about-page-beyond__card h3{
    margin:0 0 9px;

    color:var(--tnx-purple-dark);

    font-size:20px;
}


.tnx-about-page-master
.tnx-about-page-beyond__card p{
    margin:0 0 14px;

    color:#69636a;

    font-size:14px;

    line-height:1.7;
}


.tnx-about-page-master
.tnx-about-page-beyond__card > span{
    display:inline-flex;

    align-items:center;

    gap:7px;

    color:var(--tnx-red);

    font-size:13px;

    font-weight:800;
}


/* =========================================================
   BELIEF SECTION
========================================================= */

.tnx-about-page-master .tnx-about-page-belief{
    padding:60px 0;

    background:
        linear-gradient(
            135deg,
            var(--tnx-purple-dark),
            var(--tnx-purple)
        );
}


.tnx-about-page-master
.tnx-about-page-belief__wrap{
    max-width:900px;

    margin:0 auto;

    text-align:center;

    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-belief__wrap > span{
    display:inline-flex;

    align-items:center;

    gap:7px;

    padding:7px 14px;

    margin-bottom:13px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.12);

    border-radius:50px;

    color:#fff;

    font-size:13px;

    font-weight:700;
}


.tnx-about-page-master
.tnx-about-page-belief__wrap h2{
    margin:0 0 14px;

    color:#fff;

    font-size:38px;

    line-height:1.18;
}


.tnx-about-page-master
.tnx-about-page-belief__wrap h2 strong{
    display:block;

    color:#ffc8cc;
}


.tnx-about-page-master
.tnx-about-page-belief__wrap > p{
    max-width:760px;

    margin:0 auto 22px;

    color:rgba(255,255,255,.82);

    font-size:16px;

    line-height:1.75;
}


.tnx-about-page-master
.tnx-about-page-belief__points{
    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:9px;
}


.tnx-about-page-master
.tnx-about-page-belief__points span{
    display:inline-flex;

    align-items:center;

    gap:7px;

    padding:9px 14px;

    border-radius:50px;

    background:rgba(255,255,255,.09);

    border:1px solid rgba(255,255,255,.14);

    color:#fff;

    font-size:13px;

    font-weight:700;
}


.tnx-about-page-master
.tnx-about-page-belief__points i{
    color:#ffc3c7;
}


/* =========================================================
   CTA
========================================================= */

.tnx-about-page-master .tnx-about-page-cta{
    padding:48px 0;

    background:var(--tnx-red);
}


.tnx-about-page-master
.tnx-about-page-cta__wrap{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;
}


.tnx-about-page-master
.tnx-about-page-cta__content{
    max-width:760px;

    color:#fff;
}


.tnx-about-page-master
.tnx-about-page-cta__content > span{
    display:inline-flex;

    align-items:center;

    gap:7px;

    color:#fff;

    font-size:13px;

    font-weight:700;
}


.tnx-about-page-master
.tnx-about-page-cta__content h2{
    margin:7px 0 9px;

    color:#fff;

    font-size:30px;

    line-height:1.25;
}


.tnx-about-page-master
.tnx-about-page-cta__content p{
    margin:0;

    color:rgba(255,255,255,.87);

    font-size:15px;

    line-height:1.65;
}


/* CTA BUTTONS */

.tnx-about-page-master
.tnx-about-page-cta__buttons{
    display:flex;

    gap:9px;

    flex-shrink:0;
}


.tnx-about-page-master
.tnx-about-page-cta__primary,
.tnx-about-page-master
.tnx-about-page-cta__secondary{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:13px 19px;

    border-radius:8px;

    font-size:14px;

    font-weight:800;

    transition:.28s ease;
}


.tnx-about-page-master
.tnx-about-page-cta__primary{
    background:#fff;

    color:var(--tnx-purple);
}


.tnx-about-page-master
.tnx-about-page-cta__secondary{
    color:#fff;

    border:1px solid rgba(255,255,255,.65);
}


.tnx-about-page-master
.tnx-about-page-cta__primary:hover{
    transform:translateY(-2px);

    color:var(--tnx-purple-dark);
}


.tnx-about-page-master
.tnx-about-page-cta__secondary:hover{
    background:#fff;

    color:var(--tnx-purple);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .tnx-about-page-master
    .tnx-about-page-banner{
        min-height:355px;
    }


    .tnx-about-page-master
    .tnx-about-page-banner__content h1{
        font-size:39px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__grid,
    .tnx-about-page-master
    .tnx-about-page-story__grid,
    .tnx-about-page-master
    .tnx-about-page-attitude__grid,
    .tnx-about-page-master
    .tnx-about-page-founder__grid{
        grid-template-columns:1fr;

        gap:38px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__visual{
        width:100%;

        max-width:720px;

        min-height:470px;

        margin:0 auto;
    }


    .tnx-about-page-master
    .tnx-about-page-story__visual,
    .tnx-about-page-master
    .tnx-about-page-attitude__image,
    .tnx-about-page-master
    .tnx-about-page-founder__image{
        width:100%;

        max-width:720px;

        margin:0 auto;
    }


    .tnx-about-page-master
    .tnx-about-page-journey__grid,
    .tnx-about-page-master
    .tnx-about-page-process__grid{
        grid-template-columns:repeat(2,1fr);
    }


    .tnx-about-page-master
    .tnx-about-page-cta__wrap{
        flex-direction:column;

        align-items:flex-start;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .tnx-about-page-master
    .tnx-about-page-container{
        width:calc(100% - 28px);
    }


    /* BANNER */

    .tnx-about-page-master
    .tnx-about-page-banner{
        min-height:330px;

        background-position:center;
    }


    .tnx-about-page-master
    .tnx-about-page-banner__content{
        padding:45px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-banner__content h1{
        font-size:31px;
    }


    .tnx-about-page-master
    .tnx-about-page-banner__content > p{
        font-size:15px;
    }


    /* SECTION PADDING */

    .tnx-about-page-master
    .tnx-about-page-intro,
    .tnx-about-page-master
    .tnx-about-page-story,
    .tnx-about-page-master
    .tnx-about-page-attitude,
    .tnx-about-page-master
    .tnx-about-page-process,
    .tnx-about-page-master
    .tnx-about-page-founder,
    .tnx-about-page-master
    .tnx-about-page-beyond{
        padding:48px 0;
    }


    /* HEADINGS */

    .tnx-about-page-master
    .tnx-about-page-heading h2,
    .tnx-about-page-master
    .tnx-about-page-intro__content h2,
    .tnx-about-page-master
    .tnx-about-page-story__content h2,
    .tnx-about-page-master
    .tnx-about-page-attitude__content h2,
    .tnx-about-page-master
    .tnx-about-page-founder__content h2{
        font-size:29px;
    }


    /* INTRO IMAGE */

    .tnx-about-page-master
    .tnx-about-page-intro__visual{
        min-height:370px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__image-box{
        left:16px;

        bottom:10px;

        border-radius:
            50px 15px 50px 15px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__since-card{
        top:18px;

        width:205px;

        padding:13px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__image-caption{
        left:20px;

        right:20px;

        bottom:20px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__image-caption p{
        font-size:16px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__features{
        grid-template-columns:1fr;
    }


    /* IMAGES */

    .tnx-about-page-master
    .tnx-about-page-story__visual > img,
    .tnx-about-page-master
    .tnx-about-page-attitude__image img,
    .tnx-about-page-master
    .tnx-about-page-founder__image img{
        height:330px;
    }


    /* JOURNEY + PROCESS */

    .tnx-about-page-master
    .tnx-about-page-journey{
        padding:48px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-journey__grid,
    .tnx-about-page-master
    .tnx-about-page-process__grid{
        grid-template-columns:1fr;
    }


    /* CHOICE */

    .tnx-about-page-master
    .tnx-about-page-choice{
        padding:38px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-choice__box{
        grid-template-columns:1fr;

        padding:24px;
    }


    .tnx-about-page-master
    .tnx-about-page-choice__icon{
        width:62px;

        height:62px;

        font-size:24px;
    }


    .tnx-about-page-master
    .tnx-about-page-choice__content h2{
        font-size:24px;
    }


    /* BEYOND */

    .tnx-about-page-master
    .tnx-about-page-beyond__grid{
        grid-template-columns:1fr;
    }


    /* BELIEF */

    .tnx-about-page-master
    .tnx-about-page-belief{
        padding:48px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-belief__wrap h2{
        font-size:30px;
    }


    /* CTA */

    .tnx-about-page-master
    .tnx-about-page-cta{
        padding:40px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-cta__content h2{
        font-size:25px;
    }


    .tnx-about-page-master
    .tnx-about-page-cta__buttons{
        width:100%;

        flex-wrap:wrap;
    }


    .tnx-about-page-master
    .tnx-about-page-cta__primary,
    .tnx-about-page-master
    .tnx-about-page-cta__secondary{
        flex:1;

        min-width:145px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .tnx-about-page-master
    .tnx-about-page-banner__content h1{
        font-size:27px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__visual{
        min-height:330px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__image-box{
        left:7px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__since-card{
        width:185px;
    }


    .tnx-about-page-master
    .tnx-about-page-intro__since-card small{
        display:none;
    }


    .tnx-about-page-master
    .tnx-about-page-story__visual > img,
    .tnx-about-page-master
    .tnx-about-page-attitude__image img,
    .tnx-about-page-master
    .tnx-about-page-founder__image img{
        height:280px;
    }


    .tnx-about-page-master
    .tnx-about-page-story__floating{
        position:relative;

        left:auto;
        right:auto;
        bottom:auto;

        margin:-18px 12px 0;
    }


    .tnx-about-page-master
    .tnx-about-page-heading h2,
    .tnx-about-page-master
    .tnx-about-page-intro__content h2,
    .tnx-about-page-master
    .tnx-about-page-story__content h2,
    .tnx-about-page-master
    .tnx-about-page-attitude__content h2,
    .tnx-about-page-master
    .tnx-about-page-founder__content h2{
        font-size:27px;
    }


    .tnx-about-page-master
    .tnx-about-page-cta__buttons{
        flex-direction:column;
    }


    .tnx-about-page-master
    .tnx-about-page-cta__primary,
    .tnx-about-page-master
    .tnx-about-page-cta__secondary{
        width:100%;
    }

}


/* =========================================================
   EXTRA SAFETY
   PREVENT HORIZONTAL SCROLL ON THIS PAGE ONLY
========================================================= */

.tnx-about-page-master{
    max-width:100%;

    overflow-x:hidden;
}


.tnx-about-page-master
.tnx-about-page-container{
    max-width:100%;
}




/* =========================================================
   THODU NEEDA - PROGRAMMES PAGE
   COMPLETELY ISOLATED CSS

   MASTER:
   .tnx-programmes-master
========================================================= */

.tnx-programmes-master{
    --tnx-purple:#5A1C5D;
    --tnx-purple-dark:#351038;
    --tnx-red:#E5303A;
    --tnx-red-dark:#bd1e28;

    --tnx-text:#625c63;
    --tnx-light:#faf7fb;
    --tnx-light2:#fff8f9;
    --tnx-white:#ffffff;

    --tnx-border:rgba(90,28,93,.12);

    width:100%;
    max-width:100%;
    overflow-x:hidden;
    background:#fff;
    box-sizing:border-box;
}


/* SAFE RESET */

.tnx-programmes-master *,
.tnx-programmes-master *::before,
.tnx-programmes-master *::after{
    box-sizing:border-box;
}


.tnx-programmes-master img{
    max-width:100%;
}


.tnx-programmes-master a{
    text-decoration:none;
}


/* =========================================================
   CONTAINER
========================================================= */

.tnx-programmes-master .tnx-pro-container{
    width:min(1180px, calc(100% - 40px));
    max-width:100%;
    margin:0 auto;
}


/* =========================================================
   COMMON LABEL
========================================================= */

.tnx-programmes-master .tnx-pro-label{
    display:flex;
    align-items:center;
    gap:8px;

    margin-bottom:13px;

    color:var(--tnx-red);

    font-size:13px;
    font-weight:800;
    letter-spacing:1.2px;
}


.tnx-programmes-master .tnx-pro-label > span{
    width:33px;
    height:2px;
    display:block;
    background:var(--tnx-red);
}


/* =========================================================
   COMMON HEADING
========================================================= */

.tnx-programmes-master .tnx-pro-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center;
}


.tnx-programmes-master .tnx-pro-heading .tnx-pro-label{
    justify-content:center;
}


.tnx-programmes-master .tnx-pro-heading h2{
    margin:0 0 12px;

    color:var(--tnx-purple-dark);

    font-size:38px;
    font-weight:850;
    line-height:1.17;
}


.tnx-programmes-master .tnx-pro-heading h2 span{
    color:var(--tnx-red);
}


.tnx-programmes-master .tnx-pro-heading > p{
    margin:0 auto;
    max-width:680px;

    color:var(--tnx-text);

    font-size:16px;
    line-height:1.7;
}


/* =========================================================
   BANNER
========================================================= */

.tnx-programmes-master .tnx-pro-banner{
    position:relative;

    min-height:390px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        url("images/gallery-2.avif")
        center center / cover no-repeat;
}


.tnx-programmes-master .tnx-pro-banner__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(53,16,56,.97) 0%,
            rgba(90,28,93,.91) 43%,
            rgba(90,28,93,.58) 70%,
            rgba(53,16,56,.30) 100%
        );
}


.tnx-programmes-master .tnx-pro-banner__content{
    position:relative;
    z-index:2;

    max-width:800px;

    padding:60px 0;

    color:#fff;
}


.tnx-programmes-master .tnx-pro-banner__tag{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:16px;
    padding:8px 15px;

    background:rgba(255,255,255,.11);
    border:1px solid rgba(255,255,255,.22);

    border-radius:50px;

    color:#fff;

    font-size:14px;
    font-weight:700;
}


.tnx-programmes-master .tnx-pro-banner__content h1{
    margin:0 0 15px;

    color:#fff;

    font-size:47px;
    font-weight:850;
    line-height:1.1;
}


.tnx-programmes-master .tnx-pro-banner__content h1 span{
    display:block;
    color:#ffd0d4;
}


.tnx-programmes-master .tnx-pro-banner__content > p{
    max-width:700px;

    margin:0 0 20px;

    color:rgba(255,255,255,.9);

    font-size:17px;
    line-height:1.7;
}


.tnx-programmes-master .tnx-pro-banner__breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;

    color:rgba(255,255,255,.8);

    font-size:14px;
}


.tnx-programmes-master .tnx-pro-banner__breadcrumb a{
    display:flex;
    align-items:center;
    gap:6px;
    color:#fff;
}


.tnx-programmes-master .tnx-pro-banner__breadcrumb > i{
    font-size:9px;
}


/* =========================================================
   INTRO
========================================================= */

.tnx-programmes-master .tnx-pro-intro{
    padding:68px 0;

    background:
        radial-gradient(
            circle at 4% 10%,
            rgba(90,28,93,.06),
            transparent 28%
        ),
        #fff;
}


.tnx-programmes-master .tnx-pro-intro__grid{
    display:grid;

    grid-template-columns:.93fr 1.07fr;

    align-items:center;

    gap:65px;
}


/* VISUAL */

.tnx-programmes-master .tnx-pro-intro__visual{
    position:relative;
    min-height:500px;
}


.tnx-programmes-master .tnx-pro-intro__image{
    position:absolute;

    inset:0 0 22px 35px;

    overflow:hidden;

    border-radius:72px 20px 72px 20px;

    box-shadow:
        0 25px 60px rgba(53,16,56,.17);
}


.tnx-programmes-master .tnx-pro-intro__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}


.tnx-programmes-master .tnx-pro-intro__shade{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(53,16,56,.80),
            rgba(53,16,56,.08) 60%
        );
}


.tnx-programmes-master .tnx-pro-intro__quote{
    position:absolute;

    left:28px;
    right:28px;
    bottom:27px;

    z-index:2;

    color:#fff;
}


.tnx-programmes-master .tnx-pro-intro__quote i{
    margin-bottom:6px;
    color:#ffc5ca;
    font-size:22px;
}


.tnx-programmes-master .tnx-pro-intro__quote p{
    max-width:320px;

    margin:0;

    color:#fff;

    font-size:19px;
    font-weight:700;
    line-height:1.45;
}


.tnx-programmes-master .tnx-pro-intro__floating{
    position:absolute;

    left:0;
    top:48px;

    z-index:5;

    width:245px;

    display:flex;
    align-items:center;
    gap:12px;

    padding:15px;

    background:#fff;

    border:1px solid var(--tnx-border);
    border-radius:15px;

    box-shadow:
        0 17px 42px rgba(53,16,56,.18);
}


.tnx-programmes-master .tnx-pro-intro__floating-icon{
    width:47px;
    height:47px;
    min-width:47px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--tnx-red);
    color:#fff;

    font-size:18px;
}


.tnx-programmes-master .tnx-pro-intro__floating strong{
    display:block;

    margin-bottom:3px;

    color:var(--tnx-purple);

    font-size:13px;
}


.tnx-programmes-master .tnx-pro-intro__floating span{
    color:#777178;
    font-size:10px;
}


/* INTRO CONTENT */

.tnx-programmes-master .tnx-pro-intro__content h2{
    margin:0 0 17px;

    color:var(--tnx-purple-dark);

    font-size:40px;
    font-weight:850;
    line-height:1.16;
}


.tnx-programmes-master .tnx-pro-intro__content h2 span{
    display:block;
    color:var(--tnx-red);
}


.tnx-programmes-master .tnx-pro-intro__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;
    line-height:1.78;
}


.tnx-programmes-master .tnx-pro-intro__content > p strong{
    color:var(--tnx-purple-dark);
}


/* INTRO POINTS */

.tnx-programmes-master .tnx-pro-intro__points{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:10px;

    margin-top:20px;
}


.tnx-programmes-master .tnx-pro-intro__point{
    display:flex;
    align-items:center;
    gap:11px;

    padding:12px 13px;

    background:var(--tnx-light);

    border:1px solid var(--tnx-border);
    border-radius:12px;
}


.tnx-programmes-master .tnx-pro-intro__point > i{
    width:40px;
    height:40px;
    min-width:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:10px;

    background:rgba(90,28,93,.08);

    color:var(--tnx-purple);
}


.tnx-programmes-master .tnx-pro-intro__point strong{
    display:block;

    color:var(--tnx-purple-dark);

    font-size:13px;
}


.tnx-programmes-master .tnx-pro-intro__point span{
    color:#827c82;
    font-size:11px;
    line-height:1.4;
}


/* =========================================================
   OVERVIEW
========================================================= */

.tnx-programmes-master .tnx-pro-overview{
    padding:62px 0;

    background:var(--tnx-light);
}


.tnx-programmes-master .tnx-pro-overview__grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:15px;
}


.tnx-programmes-master .tnx-pro-overview__card{
    position:relative;

    display:block;

    padding:23px 19px;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--tnx-border);
    border-radius:16px;

    box-shadow:
        0 9px 28px rgba(53,16,56,.05);

    transition:.28s ease;
}


.tnx-programmes-master .tnx-pro-overview__card:hover{
    transform:translateY(-5px);

    border-color:rgba(90,28,93,.27);

    box-shadow:
        0 18px 40px rgba(53,16,56,.11);
}


.tnx-programmes-master .tnx-pro-overview__number{
    position:absolute;

    right:15px;
    top:10px;

    color:rgba(90,28,93,.08);

    font-size:37px;
    font-weight:900;
}


.tnx-programmes-master .tnx-pro-overview__icon{
    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:15px;

    border-radius:13px;

    background:rgba(90,28,93,.08);
    color:var(--tnx-purple);

    font-size:20px;
}


.tnx-programmes-master .tnx-pro-overview__card h3{
    margin:0 0 7px;

    color:var(--tnx-purple-dark);

    font-size:18px;
}


.tnx-programmes-master .tnx-pro-overview__card p{
    margin:0 0 13px;

    color:#706a71;

    font-size:13px;
    line-height:1.65;
}


.tnx-programmes-master .tnx-pro-overview__link{
    display:inline-flex;
    align-items:center;
    gap:6px;

    color:var(--tnx-red);

    font-size:12px;
    font-weight:800;
}


/* =========================================================
   FEATURE PROGRAMME SECTIONS
========================================================= */

.tnx-programmes-master .tnx-pro-feature{
    padding:68px 0;
    background:#fff;
}


.tnx-programmes-master .tnx-pro-feature--light{
    background:var(--tnx-light);
}


.tnx-programmes-master .tnx-pro-feature__grid{
    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:58px;

    align-items:center;
}


.tnx-programmes-master
.tnx-pro-feature--reverse
.tnx-pro-feature__grid{
    grid-template-columns:.95fr 1.05fr;
}


/* CONTENT */

.tnx-programmes-master .tnx-pro-feature__top{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:12px;
}


.tnx-programmes-master .tnx-pro-feature__number{
    color:var(--tnx-red);

    font-size:32px;
    font-weight:900;
    line-height:1;
}


.tnx-programmes-master .tnx-pro-feature__tag{
    display:inline-flex;
    align-items:center;
    gap:7px;

    padding:7px 11px;

    border-radius:50px;

    background:rgba(90,28,93,.07);

    color:var(--tnx-purple);

    font-size:12px;
    font-weight:800;
}


.tnx-programmes-master .tnx-pro-feature__content h2{
    margin:0 0 16px;

    color:var(--tnx-purple-dark);

    font-size:38px;
    font-weight:850;
    line-height:1.17;
}


.tnx-programmes-master .tnx-pro-feature__content h2 span{
    display:block;
    color:var(--tnx-red);
}


.tnx-programmes-master .tnx-pro-feature__content > p{
    margin:0 0 13px;

    color:var(--tnx-text);

    font-size:16px;
    line-height:1.76;
}


/* LIST */

.tnx-programmes-master .tnx-pro-feature__list{
    display:grid;
    gap:8px;

    margin:18px 0;
}


.tnx-programmes-master .tnx-pro-feature__list--2{
    grid-template-columns:repeat(2,1fr);
}


.tnx-programmes-master .tnx-pro-feature__list > div{
    display:flex;
    align-items:center;
    gap:9px;

    padding:9px 11px;

    background:#fff;

    border:1px solid var(--tnx-border);
    border-radius:9px;

    color:#5d575e;

    font-size:13px;
    font-weight:600;
}


.tnx-programmes-master .tnx-pro-feature__list i{
    width:22px;
    height:22px;
    min-width:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(229,48,58,.09);

    color:var(--tnx-red);

    font-size:9px;
}


/* FEATURE IMAGE */

.tnx-programmes-master .tnx-pro-feature__visual{
    position:relative;

    padding-bottom:28px;
}


.tnx-programmes-master .tnx-pro-feature__image{
    overflow:hidden;

    border-radius:23px;

    box-shadow:
        0 20px 50px rgba(53,16,56,.14);
}


.tnx-programmes-master .tnx-pro-feature__image img{
    width:100%;
    height:430px;

    display:block;
    object-fit:cover;

    transition:transform .5s ease;
}


.tnx-programmes-master
.tnx-pro-feature__image:hover img{
    transform:scale(1.04);
}


.tnx-programmes-master .tnx-pro-feature__caption{
    position:absolute;

    left:25px;
    right:25px;
    bottom:0;

    display:flex;
    align-items:center;
    gap:12px;

    padding:14px 16px;

    background:#fff;

    border-radius:13px;

    box-shadow:
        0 13px 35px rgba(53,16,56,.14);
}


.tnx-programmes-master .tnx-pro-feature__caption > div{
    width:43px;
    height:43px;
    min-width:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--tnx-red);
    color:#fff;

    font-size:17px;
}


.tnx-programmes-master .tnx-pro-feature__caption strong{
    display:block;

    margin-bottom:2px;

    color:var(--tnx-purple);

    font-size:13px;
}


.tnx-programmes-master .tnx-pro-feature__caption span{
    color:#767077;
    font-size:11px;
}


/* QUOTE */

.tnx-programmes-master .tnx-pro-feature__quote{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin-top:19px;

    padding:15px 17px;

    background:var(--tnx-light);

    border-left:4px solid var(--tnx-red);

    border-radius:5px 12px 12px 5px;
}


.tnx-programmes-master .tnx-pro-feature__quote i{
    margin-top:3px;

    color:var(--tnx-red);

    font-size:18px;
}


.tnx-programmes-master .tnx-pro-feature__quote p{
    margin:0;

    color:var(--tnx-purple-dark);

    font-size:14px;
    font-weight:600;
    line-height:1.65;
}


/* =========================================================
   COMPANIONSHIP
========================================================= */

.tnx-programmes-master .tnx-pro-companion{
    position:relative;

    padding:68px 0;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            var(--tnx-purple-dark),
            var(--tnx-purple)
        );
}


.tnx-programmes-master .tnx-pro-companion__wrap{
    display:grid;

    grid-template-columns:1.08fr .92fr;

    gap:55px;

    align-items:center;
}


.tnx-programmes-master .tnx-pro-companion__tag{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:13px;

    padding:8px 13px;

    border-radius:50px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.14);

    color:#fff;

    font-size:13px;
    font-weight:700;
}


.tnx-programmes-master .tnx-pro-companion__content h2{
    margin:0 0 17px;

    color:#fff;

    font-size:40px;
    line-height:1.16;
}


.tnx-programmes-master .tnx-pro-companion__content h2 span{
    display:block;
    color:#ffc7cb;
}


.tnx-programmes-master .tnx-pro-companion__content > p{
    margin:0 0 13px;

    color:rgba(255,255,255,.82);

    font-size:16px;
    line-height:1.75;
}


.tnx-programmes-master .tnx-pro-companion__features{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:10px;

    margin-top:20px;
}


.tnx-programmes-master .tnx-pro-companion__features > div{
    display:flex;
    align-items:flex-start;
    gap:10px;

    padding:13px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
}


.tnx-programmes-master .tnx-pro-companion__features i{
    width:38px;
    height:38px;
    min-width:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:10px;

    background:rgba(255,255,255,.13);

    color:#ffc9cc;
}


.tnx-programmes-master .tnx-pro-companion__features strong{
    display:block;

    margin-bottom:2px;

    color:#fff;

    font-size:13px;
}


.tnx-programmes-master .tnx-pro-companion__features span{
    color:rgba(255,255,255,.7);
    font-size:11px;
    line-height:1.45;
}


/* COMPANION IMAGE */

.tnx-programmes-master .tnx-pro-companion__visual{
    position:relative;

    padding-bottom:30px;
}


.tnx-programmes-master .tnx-pro-companion__visual > img{
    width:100%;
    height:440px;

    display:block;
    object-fit:cover;

    border-radius:24px;
}


.tnx-programmes-master .tnx-pro-companion__stat{
    position:absolute;

    left:25px;
    right:25px;
    bottom:0;

    display:flex;
    align-items:center;
    gap:12px;

    padding:14px 16px;

    background:#fff;

    border-radius:14px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.2);
}


.tnx-programmes-master .tnx-pro-companion__stat-icon{
    width:47px;
    height:47px;
    min-width:47px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--tnx-red);

    color:#fff;

    font-size:18px;
}


.tnx-programmes-master .tnx-pro-companion__stat strong{
    display:block;

    color:var(--tnx-purple);

    font-size:23px;
    line-height:1;
}


.tnx-programmes-master .tnx-pro-companion__stat span{
    display:block;

    margin-top:3px;

    color:#787178;

    font-size:10px;
}


/* =========================================================
   SOCIAL SERVICES
========================================================= */

.tnx-programmes-master .tnx-pro-social{
    padding:66px 0;

    background:#fff;
}


.tnx-programmes-master .tnx-pro-social__grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:17px;
}


.tnx-programmes-master .tnx-pro-social__card{
    position:relative;

    padding:25px 22px;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--tnx-border);
    border-radius:17px;

    box-shadow:
        0 10px 30px rgba(53,16,56,.05);

    transition:.28s ease;
}


.tnx-programmes-master .tnx-pro-social__card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(53,16,56,.11);
}


.tnx-programmes-master .tnx-pro-social__number{
    position:absolute;

    top:13px;
    right:17px;

    color:rgba(90,28,93,.09);

    font-size:37px;
    font-weight:900;
}


.tnx-programmes-master .tnx-pro-social__icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:16px;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            rgba(90,28,93,.10),
            rgba(229,48,58,.08)
        );

    color:var(--tnx-purple);

    font-size:21px;
}


.tnx-programmes-master .tnx-pro-social__card h3{
    margin:0 0 9px;

    color:var(--tnx-purple-dark);

    font-size:19px;
    line-height:1.35;
}


.tnx-programmes-master .tnx-pro-social__card p{
    margin:0;

    color:#6c666d;

    font-size:14px;
    line-height:1.68;
}


/* =========================================================
   CTA
========================================================= */

.tnx-programmes-master .tnx-pro-cta{
    padding:48px 0;

    background:
        linear-gradient(
            115deg,
            var(--tnx-red),
            #c92630
        );
}


.tnx-programmes-master .tnx-pro-cta__wrap{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:40px;
}


.tnx-programmes-master .tnx-pro-cta__content{
    max-width:760px;
}


.tnx-programmes-master .tnx-pro-cta__content > span{
    display:inline-flex;
    align-items:center;
    gap:7px;

    color:#fff;

    font-size:13px;
    font-weight:700;
}


.tnx-programmes-master .tnx-pro-cta__content h2{
    margin:7px 0 9px;

    color:#fff;

    font-size:30px;
    line-height:1.25;
}


.tnx-programmes-master .tnx-pro-cta__content p{
    margin:0;

    color:rgba(255,255,255,.86);

    font-size:15px;
    line-height:1.65;
}


.tnx-programmes-master .tnx-pro-cta__buttons{
    display:flex;
    gap:9px;
    flex-shrink:0;
}


.tnx-programmes-master .tnx-pro-cta__primary,
.tnx-programmes-master .tnx-pro-cta__secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:13px 18px;

    border-radius:8px;

    font-size:14px;
    font-weight:800;

    transition:.25s ease;
}


.tnx-programmes-master .tnx-pro-cta__primary{
    background:#fff;
    color:var(--tnx-purple);
}


.tnx-programmes-master .tnx-pro-cta__secondary{
    color:#fff;

    border:1px solid rgba(255,255,255,.65);
}


.tnx-programmes-master .tnx-pro-cta__primary:hover{
    transform:translateY(-2px);
    color:var(--tnx-purple-dark);
}


.tnx-programmes-master .tnx-pro-cta__secondary:hover{
    transform:translateY(-2px);

    background:#fff;
    color:var(--tnx-purple);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .tnx-programmes-master .tnx-pro-banner{
        min-height:350px;
    }

    .tnx-programmes-master .tnx-pro-banner__content h1{
        font-size:39px;
    }


    .tnx-programmes-master .tnx-pro-intro__grid,
    .tnx-programmes-master .tnx-pro-feature__grid,
    .tnx-programmes-master
    .tnx-pro-feature--reverse
    .tnx-pro-feature__grid,
    .tnx-programmes-master .tnx-pro-companion__wrap{
        grid-template-columns:1fr;

        gap:40px;
    }


    .tnx-programmes-master .tnx-pro-intro__visual{
        width:100%;
        max-width:720px;

        min-height:470px;

        margin:auto;
    }


    .tnx-programmes-master .tnx-pro-overview__grid{
        grid-template-columns:repeat(2,1fr);
    }


    .tnx-programmes-master .tnx-pro-feature__visual,
    .tnx-programmes-master .tnx-pro-companion__visual{
        width:100%;
        max-width:720px;
        margin:auto;
    }


    .tnx-programmes-master .tnx-pro-cta__wrap{
        flex-direction:column;
        align-items:flex-start;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .tnx-programmes-master .tnx-pro-container{
        width:calc(100% - 28px);
    }


    /* BANNER */

    .tnx-programmes-master .tnx-pro-banner{
        min-height:325px;
    }


    .tnx-programmes-master .tnx-pro-banner__content{
        padding:45px 0;
    }


    .tnx-programmes-master .tnx-pro-banner__content h1{
        font-size:31px;
    }


    .tnx-programmes-master .tnx-pro-banner__content > p{
        font-size:15px;
    }


    /* SECTION SPACING */

    .tnx-programmes-master .tnx-pro-intro,
    .tnx-programmes-master .tnx-pro-overview,
    .tnx-programmes-master .tnx-pro-feature,
    .tnx-programmes-master .tnx-pro-companion,
    .tnx-programmes-master .tnx-pro-social{
        padding:48px 0;
    }


    /* HEADINGS */

    .tnx-programmes-master .tnx-pro-heading h2,
    .tnx-programmes-master .tnx-pro-intro__content h2,
    .tnx-programmes-master .tnx-pro-feature__content h2,
    .tnx-programmes-master .tnx-pro-companion__content h2{
        font-size:29px;
    }


    /* INTRO */

    .tnx-programmes-master .tnx-pro-intro__visual{
        min-height:370px;
    }


    .tnx-programmes-master .tnx-pro-intro__image{
        left:15px;
        bottom:10px;

        border-radius:48px 15px 48px 15px;
    }


    .tnx-programmes-master .tnx-pro-intro__floating{
        top:18px;
        width:210px;
        padding:12px;
    }


    .tnx-programmes-master .tnx-pro-intro__points{
        grid-template-columns:1fr;
    }


    /* OVERVIEW */

    .tnx-programmes-master .tnx-pro-overview__grid{
        grid-template-columns:1fr;
    }


    /* PROGRAMME IMAGES */

    .tnx-programmes-master .tnx-pro-feature__image img,
    .tnx-programmes-master .tnx-pro-companion__visual > img{
        height:330px;
    }


    .tnx-programmes-master .tnx-pro-feature__list--2{
        grid-template-columns:1fr;
    }


    /* COMPANIONSHIP */

    .tnx-programmes-master .tnx-pro-companion__features{
        grid-template-columns:1fr;
    }


    /* SOCIAL */

    .tnx-programmes-master .tnx-pro-social__grid{
        grid-template-columns:1fr;
    }


    /* CTA */

    .tnx-programmes-master .tnx-pro-cta{
        padding:40px 0;
    }


    .tnx-programmes-master .tnx-pro-cta__content h2{
        font-size:25px;
    }


    .tnx-programmes-master .tnx-pro-cta__buttons{
        width:100%;
        flex-wrap:wrap;
    }


    .tnx-programmes-master .tnx-pro-cta__primary,
    .tnx-programmes-master .tnx-pro-cta__secondary{
        flex:1;
        min-width:145px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .tnx-programmes-master .tnx-pro-banner__content h1{
        font-size:27px;
    }


    .tnx-programmes-master .tnx-pro-intro__visual{
        min-height:330px;
    }


    .tnx-programmes-master .tnx-pro-intro__image{
        left:7px;
    }


    .tnx-programmes-master .tnx-pro-intro__floating{
        width:190px;
    }


    .tnx-programmes-master .tnx-pro-heading h2,
    .tnx-programmes-master .tnx-pro-intro__content h2,
    .tnx-programmes-master .tnx-pro-feature__content h2,
    .tnx-programmes-master .tnx-pro-companion__content h2{
        font-size:27px;
    }


    .tnx-programmes-master .tnx-pro-feature__image img,
    .tnx-programmes-master .tnx-pro-companion__visual > img{
        height:280px;
    }


    .tnx-programmes-master .tnx-pro-feature__caption{
        left:12px;
        right:12px;
    }


    .tnx-programmes-master .tnx-pro-companion__stat{
        left:12px;
        right:12px;
    }


    .tnx-programmes-master .tnx-pro-cta__buttons{
        flex-direction:column;
    }


    .tnx-programmes-master .tnx-pro-cta__primary,
    .tnx-programmes-master .tnx-pro-cta__secondary{
        width:100%;
    }

}





/* =========================================
   THODU NEEDA - INVOLVED NOTE FONT FIX
========================================= */

.tn-involved-note {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.tn-involved-note p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.tn-involved-note strong,
.tn-involved-note b {
    font-size: 19px !important;
    font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 767px) {

    .tn-involved-note,
    .tn-involved-note p {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    .tn-involved-note strong,
    .tn-involved-note b {
        font-size: 17px !important;
    }
}



@media (max-width: 991px) {

    .tn-gallery-mobile-item {
        width: 100%;
        display: block !important;
        position: relative !important;
        overflow: visible !important;
    }

    .tn-gallery-mobile-toggle {
        width: 100%;
        display: flex !important;
        align-items: center;
        justify-content: space-between;

        padding: 16px 18px;

        border: 0;
        border-bottom: 1px solid #eeeeee;

        background: #ffffff;
        color: #1f1f1f;

        font-size: 16px;
        font-weight: 600;

        cursor: pointer;
        text-align: left;
    }

    .tn-gallery-mobile-left {
        display: flex;
        align-items: center;
        gap: 11px;
    }

    .tn-gallery-mobile-left i {
        color: #E5303A;
        width: 20px;
    }

    #tnGalleryArrow {
        font-size: 13px;
        transition: transform .3s ease;
    }


    /* SUBMENU */

    #tnGallerySubmenu {
        display: none !important;
        width: 100% !important;

        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;

        background: #f7f7f7;

        margin: 0 !important;
        padding: 4px 0 !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;
    }


    /* FORCE OPEN */

    #tnGallerySubmenu.tn-gallery-open {
        display: block !important;
    }


    #tnGalleryArrow.tn-gallery-arrow-open {
        transform: rotate(180deg) !important;
    }


    #tnGallerySubmenu a {
        display: flex !important;
        align-items: center !important;
        gap: 10px;

        width: 100% !important;

        padding: 13px 20px 13px 48px !important;

        background: #f7f7f7 !important;

        color: #333333 !important;

        font-size: 15px !important;
        font-weight: 500 !important;

        text-decoration: none !important;

        border-bottom: 1px solid #e9e9e9;
    }

    #tnGallerySubmenu a:last-child {
        border-bottom: 0;
    }

    #tnGallerySubmenu a i {
        width: 18px;
        color: #E5303A;
    }


    /* IMPORTANT - DON'T CLIP DROPDOWN */

    .tn-mobile-nav {
        height: auto !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

}






/* =========================================
   EXACT GALLERY ALIGNMENT FIX
========================================= */

@media (max-width: 991px) {

    .tn-gallery-mobile-toggle {
        padding-left: 8px !important;
    }

    .tn-gallery-mobile-left {
        gap: 14px !important;
    }

    .tn-gallery-mobile-left i {
        width: 20px !important;
        min-width: 20px !important;
        text-align: center !important;
        margin: 0 !important;
    }

}




