/* device.css - Responsive Styles */
/* ================================= */
/* DESKTOP FIRST APPROACH */
@media screen and (max-width: 1728px){
    .np_onlineCashTsec_rgt{right:13vw;}
}
@media screen and (max-width: 1680px){
    .ac_wrapper{max-width:1500px;}
    .act_wrapper{max-width:1582px;}

    .np_acHeroRgtPdfsList.indv{grid-template-columns:auto}
    .np_onlineCashTsec_lft{margin-left: 80px;}
    .np_onlineCashTsec_rgt{right:15vw;}


}
@media screen and (max-width: 1600px){
    .np_outManagementContOutter {
        margin-right: -20%;
    }
    .np_acHeroRgtTitle.indv h3{font-size:2rem;max-width:600px;}

}
@media screen and (max-width: 1536px){
    .np_outManagement {
        padding-top: 5.3%;
    }
    .np_outManagementContOutter {
        margin-right: -28%;
    }
    .np_onlineCashTsec_lft{
        max-width: 940px;
    }
    .ac_wrapper{max-width:1430px;}
    .act_wrapper{max-width:1475px;}
    .np_acOnlineTrading{padding:5.125rem 0;padding-bottom:0;}
    .np_acOnlineTrading_Lft{padding-bottom: 2.875rem ;}
    .np_acOnlineTrading_Lft{width:100%;max-width:50.25rem;flex:0 0 50.25rem;}
    .np_acDocs{padding:5.875rem 0;}
    .np_acHero_text{margin-bottom:4.375rem;}


    .np_acHero_text h2, .np_acDocs_LftTxt h3, .np_acOnlineTrading_LftTxt h3{font-size:3rem;}
    .np_acHeroRgtTxt p{font-size: 1rem;}
    .np_acHeroRgtTxt{margin-bottom:1.375rem;}
    .np_acHeroRgtTitle h3{font-size:3rem;line-height: 1;}
    .np_acHeroRgtTitle{margin-bottom:1rem;}
    .np_acHeroRgtPdfListItem p{font-size:.875rem;}
    .np_acHeroRgtPdfListItem a, .np_acDocs_LftPdfsListInner a, .np_acOnlineTrading_LftLinksList a h3{font-size:1rem;}
    .np_acDocs, .np_acImpNotice{padding:2.875rem 0;}
    .np_acOnlineTrading{padding:2.875rem 0;padding-bottom:0;}
    .np_acOnlineTrading .act_wrapper{padding-inline: 24px;}
    .np_acOnlineTrading_LftTxt p{font-size:1rem;}
    .np_acDocs_LftTxt h3{margin-bottom: 1rem;}
    .np_acDocs_LftTxt p{font-size: 1rem;}
    .np_acDocs_LftPdfs{margin-top:1rem;}
    .np_acDocs_LftPdfsListItem h3{font-size: 18px;}
    .np_acOnlineTrading_LftUserMan h3{font-size: 1.625rem;}
    .np_acOnlineTrading_LftUserMan h3 span{font-size:.875rem;}
    .np_acDocs_Lft{max-width:60.375rem;flex:0 0 60.375rem;}
    .IndvLink a{padding: 14px 40px;font-size: 1rem;}
    .np_onlineCashTsec_rgt{right:11vw;}


}
@media screen and (max-width: 1480px){
    .np_outManagementContOutter {
        margin-right: -35%;
    }
    .np_outManagementContBox{
        max-width: 900px;
    }
    .np_onlineCashTsec_lft{
        max-width: 840px;
    }
    .ac_wrapper {
        max-width: 1375px;
    }
    .act_wrapper {
        max-width: 1420px;
    }

    .np_acHeroRgtPdfListItem a, .np_acDocs_LftPdfsListInner a, .np_acOnlineTrading_LftLinksList a h3 {
        font-size: .875rem;
    }
    .np_acHeroRgtTxt p, .np_acDocs_LftTxt p, .np_acOnlineTrading_LftTxt p {
        font-size: .875rem;
    }
    .np_acHeroRgtTitle h3 {
        font-size: 2rem;
        line-height: 1;
    }
    .np_acHero_text h2, .np_acDocs_LftTxt h3, .np_acOnlineTrading_LftTxt h3 {
        font-size: 2rem;
    }
    .np_acDocs_LftPdfsListItem h3 {
        font-size: 16px;
    }
    .np_acHeroRgtPdfListItem a, .np_acDocs_LftPdfsListInner a, .np_acOnlineTrading_LftLinksList a{padding: 8px 12px;}
    .np_acOnlineTrading_LftTxt h3{margin-bottom: 24px;}
    .np_acOnlineTrading_LftLinks{margin-top:1rem;}
    .np_acOnlineTrading_LftUserMan{margin-top:1rem;}
    .np_acOnlineTrading_LftUserMan h3{font-size:1.25rem;}
    .np_acImpNotice_inner h3{font-size:1.25rem;margin-bottom: 0.5rem;}
    .np_acImpNotice_points{gap: 5px;}
    .np_acOnlineTrading_Lft{max-width:52.25rem;flex:0 0 52.25rem;}
    .np_acDocs_Lft{max-width:54.375rem;flex:0 0 54.375rem;}
    .np_acOnlineTrading_LftUserMan{margin-top:1.5rem;}
    .np_onlineCashTsec_rgt{right:12vw;}


}
@media screen and (max-width: 1440px){
    .ac_wrapper{max-width:1335px;}
    .act_wrapper{max-width:1380px;}
    .np_acOnlineTrading_Lft{max-width:50.25rem;flex:0 0 50.25rem;}
    .np_acDocs_Lft{max-width:52.375rem;flex:0 0 52.375rem;}

    .np_acImpNotice.indv .tradindFeesBoxExt{padding-left:3.3125rem;margin-left:3.3125rem;max-width: 855px;}
    .np_acHeroRgtTitle.indv p{font-size: .875rem;}
    .np_acHeroRgtPdfs.indv h3{font-size: 1rem;}
    .np_acHeroRgtPdfsList.indv li .np_acHeroRgtPdfsListItem p{font-size: .875rem;}

}
@media screen and (max-width: 1400px){
    .np_outManagementContOutter {
        margin-right: -35%;
    }
    .np_outManagementContBox{
        max-width: 880px;
    }
    .np_onlineCashTsec_lft{
        max-width: 795px;
    }
    .act_wrapper {
        max-width: 1365px;
    }
    .np_acOnlineTrading_Lft {
        padding-bottom: 3.125rem;
    }
    .np_acHero_text {
        margin-bottom: 2.375rem;
    }
    .np_acImpNotice.indv .tradindFeesBoxExtList p{font-size: .875rem;}
    .np_acImpNotice.indv .tradindFeesBoxExtListLink a{padding: 6px 12px;}

    .np_FAQ_text h2{font-size:55px;}


}
@media screen and (max-width: 1366px){
    .np_outManagementContBox {
        max-width: 825px;
    }
    .np_outManagementCont {
        margin: 4.375rem 0;
    }
    .np_onlineCashTsec_lft{
        max-width: 750px;
    }
    .ac_wrapper {
        max-width: 1260px;
    }
    .act_wrapper {
        max-width: 1305px;
    }
    .np_acImpNotice.indv .tradindFeesBoxExt{padding-left:1.3125rem;margin-left:1.3125rem;}
    .np_acImpNotice.indv .tradindFeesBoxExtListLink a{padding: 6px 12px;}

}
@media screen and (max-width: 1280px){
    .np_outManagementContBox{
        padding: 2rem;
    }
    .np_outManagementContBox h1 {
        font-size: 3rem;
        margin-bottom: 10px;
    }
    .np_outManagementContBox h3 {
        font-size: 2rem;
    }
    .np_outManagementContBox h4 {
        font-size: 1rem;
    }
    .np_outManagementContBoxDisc p {
        font-size: 1rem;
    }
    .np_outManagementContBoxDisc p span{
        font-size: 1rem;
    }
    .np_outManagementContBox:not(:last-child) {
        margin-bottom: 3rem;
    }
    .np_outManagementContOutter {
        margin-right: -50%;
    }
    .np_outManagementContBox{
        max-width: 750px;
    }
    .np_stockTable_searchBarInp input{width: 550px;}
    .company-table thead th{font-size:18px;}
    .company-table tbody td{font-size: 16px;}
    .np_stockTable_searchBarInp input,.np_stockTable_searchBarInp input::placeholder{font-size:18px;}
    .np_stockTable_filter h3{font-size:16px;}
    .np_stockTable_filterList a{font-size: 14px;padding: 8px 10px;}
    .np_stockTable_searchBar{padding: 24px;}
}

/* ================================= */
/* TABLET LANDSCAPE & MOBILE (1024px and below) */
/* ================================= */
@media screen and (max-width: 1024px) {
    /* ========= HEADER ========= */
    .np_header {
        padding: 12px 0;
        backdrop-filter: blur(15px);
    }

    .np_header_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        flex-wrap: nowrap;
    }

    /* Logo */
    .np_logo {
        order: 1;
        flex: 0 0 auto;
    }

    .np_logo img {
        max-width: 180px;
        height: auto;
    }

    /* Mobile Menu Toggle - Activated at 1024px */
    .mobile-menu-toggle {
        display: block ;
        background: transparent;
        border: none;
        width: 30px;
        height: 24px;
        position: relative;
        cursor: pointer;
        order: 3;
        z-index: 1001;
        margin-left: 15px;
        padding: 0;
        float: right;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        background: var(--text-white);
        position: absolute;
        transition: 0.3s;
        border-radius: 2px;
        left: 0;
        transform-origin: center;
    }

    .mobile-menu-toggle span:nth-child(1) {
        top: 0;
    }

    .mobile-menu-toggle span:nth-child(2) {
        top: 50%;
        transform: translateY(-50%);
    }

    .mobile-menu-toggle span:nth-child(3) {
        bottom: 0;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(2px,2px);
        top: 0px;
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
        transform: translateX(-20px);
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
        bottom: 11px;
    }

    /* Hide desktop navigation elements by default */
    .np_navbar:not(.active) {
        display: none;
    }

    /* Keep buttons visible in header */
    .np_navbar_btn {
        display: flex ;
        order: 2;
        margin-left: auto;
        gap: 12px;
    }

    .np_navbar_btn .np__common_button {
        padding: 8px 16px;
        font-size: 14px;
    }

    .np_navbar_btn .np__btLink {
        font-size: 14px;
    }

    /* Mobile Navigation Drawer from Right - Only menu items */
    .np_navbar {
        position: fixed;
        top: 0;
        right: -320px;
        width: 320px;
        height: 100vh;
        background: var(--primary-blue);
        padding: 100px 30px 30px;
        z-index: 1001;
        transition: right 0.3s ease-in-out;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
        overflow-y: auto;
    }

    .np_navbar.active {
        right: 0;
    }

    .np_navbar .np_menu_list {
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
        width: 100%;
    }

    .np_navbar .np_menu_list li {
        width: 100%;
    }

    .np_navbar .np_menu_list li a {
        padding: 16px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        font-size: 18px;
        display: block;
        color: var(--text-white);
        transition: all 0.3s ease;
    }

    .np_navbar .np_menu_list li a:hover {
        color: var(--accent-teal);
        padding-left: 10px;
    }

    .np_navbar .np_menu_list li:last-child a {
        border-bottom: none;
    }

    /* Mobile Overlay */
    .mobile-menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
        z-index: 999;
        backdrop-filter: blur(3px);
    }

    .mobile-menu-overlay.active {
        display: block;
    }

    /* Prevent body scroll when menu is open */
    body.js-mobile-menu-open {
        overflow: hidden;
    }

    /* ========= HERO SECTION ========= */
    .np_hero_img {
        height: 100vh;
    }

    .np_hero_text {
        position: absolute;
        top: 35%;
        right: 5%;
        transform: translateY(-50%);
        text-align: right;
    }

    .np_hero_text img {
        max-width: 400px;
        height: auto;
    }

    .np_hero_text_btn {
        float: right;
        margin-top: 20px;
    }

    /* ========= COUNT SECTION ========= */
    .np_count_inner {
        padding: 40px 30px;
        border-radius: 60px;
        gap: 30px;
        flex-wrap: wrap;
    }

    .np_count_box {
        width: calc(50% - 15px);
        gap: 20px;
        justify-content: flex-start;
    }


    .np_count_box span {
        width: 70px;
        height: 70px;
    }

    .np_count_box_text h3 {
        font-size: 32px;
    }

    .np_count_box_text p {
        font-size: 14px;
    }

    /* ========= WHO WE ARE ========= */
    .np_whoWeAre_title h3 {
        font-size: 48px;
    }

    .np_whoWeAre_para p {
        font-size: 16px;
    }

    /* ========= TRADE ONLINE ========= */
    .np_tradeOnline_slides {
        height: 50vh;
    }

    .np_tradeOnline_slide_text h3 {
        font-size: 48px;
    }

    .np_tradeOnline_slide_text p {
        font-size: 16px;
        max-width: 80%;
    }

    .np_tradeOnline_slideImg img {
        max-width: 300px;
    }

    /* ========= PRODUCTS ========= */
    .np_products_list li {
        width: calc(50% - 15px);
        margin-bottom: 30px;
    }

    /* ========= AWARDS ========= */
    .np_awards_slider_inner .slick-slide {
        padding: 0 10px;
    }

    .slick-prev {
        left: -10px !important ;
    }

    .slick-next {
        right: -10px !important;
    }
    .np_awards_slider_inner {
        margin: 0 0px;
    }
    .np_report_card_text h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .np_report_card_text p {
        font-size: 14px;
    }
    .np_report_card_img{
        width: 3rem;
        height: 3rem;
        padding: 5px;
    }
    .np_contactUs_text {
        margin-bottom: 30px;
        padding: 0 1rem;
        line-height: 1;
    }
    .np_navbar{transform:translate(0,0);left: auto;}
    .np_contactUs_btns {
        margin-bottom: 30px;
    }
    .o_wrapper {
        max-width: 1814px;
        padding: 0 24px;
        padding-left: auto;
        margin: 0 auto;
        position: relative;
    }

    .np_outManagementInner{
        flex-direction: column-reverse;
    }
    .np_outManagementContOutter {
        margin-right: 0;
        width: 100%;
    }
    .np_outManagementImg{
        position: relative;
        top: 0;
        height: 100%;
    }
    .np_outManagementImgInner{
        width: 100%;
    }
    .np_outManagementImgInner img{
        width: 100%;
        height: 100%;
    }
    .np_outManagementContBox {
        max-width: 100%;
    }
    .np_outManagement {
        padding-top: 7.3%;
    }

    .np_onlineCashTsec_lft {
        max-width: 550px;
        margin-left: 40px;
    }

    .np_acHero_content{flex-direction: column-reverse;gap: 3rem;}
    .np_acHeroRgtPdfList{justify-content: flex-start;gap: 32px;}
    .np_acHeroLft img{width: 100%;}
    .np_acDocs_inner{flex-direction: column;}
    .np_acDocs_Lft{max-width:100%;flex:0 0 auto;}
    .np_acDocs_Rgt{display: flex;justify-content: center;}
    .np_acOnlineTrading_inner{flex-direction: column;gap: 1.875rem;}
    .np_acOnlineTrading_Lft{padding-bottom:0;max-width:100%;flex:0 0 auto;}
    .np_acOnlineTrading_Rgt{display: flex;justify-content: flex-end;width: 100%;}

    .np_acHero_content.indv .np_acHeroRgt{margin-bottom:0;}
    .np_acHero_content.indv .np_acHeroLft{max-width: 100%;}
    .np_acImpNotice.indv .np_acImpNotice_inner{flex-direction: column;}
    .np_acImpNotice.indv .tradindFeesBoxExt{padding-left:0;margin-left:0;padding-top:1.3125rem;margin-top:1.3125rem;border-left: none;border-top: 1px solid rgba(255, 255, 255, 0.3);max-width: 100%;}
    .np_acImpNotice.indv .tradindFeesBox{max-width: 100%;}
    .np_acImpNotice.indv .tradindFeesBox .tradindFeesBoxInner .np_report_card_img{width:5rem;height:5rem;}

    .np_acHeroLft{max-width:600px;margin-inline:auto;}

    .np_onlineCashTsec_rgt{right: 50%;transform: translateX(50%);}
    .np_onlineCashTsec_lft{max-width:80%;margin-left:0;margin-inline:auto;}
    .np_tradeOnline_slideImg{bottom:-50px;}


}

/* ================================= */
/* TABLET PORTRAIT (820px to 1024px) */
/* ================================= */
@media screen and (max-width: 1024px) and (min-width: 821px) {
    .np_tradeOnline_slides {
        height: 60vh;
    }

    .np_tradeOnline_slide_text h3 {
        font-size: 44px;
    }

    .np_tradeOnline_slide_text p {
        max-width: 85%;
    }
    .np_report_list{
        flex-flow: row wrap;
        gap: 30px;
    }
}

@media screen and (max-width: 1024px){
    .np_stockTable_searchBar{flex-direction: column;gap: 20px;}
    .np_stockTable_searchBarInp{width: 100%;}
    .np_stockTable_searchBarInp input{width: 100%;}
    .np_stockTable_filter{justify-content: flex-start;}
}

/* ================================= */
/* TABLET TO MOBILE TRANSITION (820px and below) */
/* ================================= */
@media screen and (max-width: 820px) {
    /* Base Container Adjustments */
    .h_wrapper,
    .wrapper,
    .m_wrapper,
    .f_wrapper {
        padding: 0 15px;
    }

    /* Typography Adjustments */
    .np_tradeOnline_title h2,
    .np_awards_title h2,
    .np_resReport_text h2,
    .np_FAQ_text h2,
    .np_contactUs_text h2,
    .np_products_title h2,
    .np_whoWeAre_title h3 {
        font-size: 40px;
    }

    .np_tradeOnline_title p,
    .np_awards_title p,
    .np_resReport_text p,
    .np_FAQ_text p,
    .np_contactUs_text p,
    .np_products_title p {
        font-size: 16px;
        line-height: 1.6;
        margin-top: 12px;
    }

    /* ========= HEADER ADJUSTMENTS ========= */
    .np_navbar_btn {
        gap: 8px;
    }

    .np_navbar_btn .np__common_button {
        padding: 6px 12px;
        font-size: 13px;
    }

    .np_navbar_btn .np__btLink {
        font-size: 13px;
    }

    /* ========= HERO SECTION ========= */
    .np_hero_img {
        height: 100vh;
    }

    /* .np_hero_text {
        position: relative;
        margin: 80px auto 0;
        text-align: center;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        padding: 0 20px;
        transform: none;
    } */

    .np_hero_text img {
        max-width: 350px;
        margin: 0 auto;
    }

    .np_hero_text_btn {
        margin-top: 30px;
    }

    .np_hero_btn {
        display: inline-block;
        padding: 14px 32px;
        font-size: 16px;
    }

    /* ========= COUNT SECTION ========= */
    .np_count {
        position: relative;
        top: auto;
        bottom: auto;
        margin: 40px 0 0;
        padding: 0 15px;
    }

    .np_count_inner {
        border-radius: 40px ;
        padding: 35px 25px ;
        display: flex ;
        flex-flow: row wrap;
        gap: 10px ;
        justify-content: center ;
    }

    .np_count_box {
        width: calc(50% - 12.5px) ;
        flex-direction: column ;
        text-align: center ;
        gap: 15px ;
        margin-bottom: 20px;
    }

    .np_count_box span {
        width: 60px ;
        height: 60px ;
        margin: 0 auto;
    }

    .np_count_box span img {
        width: 30px;
        height: 30px;
    }

    .np_count_box_text h3 {
        font-size: 28px ;
        margin-bottom: 8px ;
    }

    .np_count_box_text p {
        font-size: 14px ;
    }

    /* ========= WHO WE ARE ========= */
    .np_whoWeAre {
        border-radius: 30px;
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .np_whoWeAre_title h3 {
        font-size: 36px;
        margin-bottom: 20px;
    }

    .np_whoWeAre_icon svg {
        width: 180px;
        height: auto;
        margin: 0 auto;
    }
    @keyframes dotEntrance{0%{opacity:0;transform:scale(0);}
    60%{transform:scale(1.2);}
    100%{opacity:1;transform:scale(1);}
    }
    [id^="dot"]{opacity:1;transform-origin:center;transform-box:fill-box;}
    .is-visible #dot1,.is-visible #dot9{animation:dotEntrance 0.6s ease forwards 0.1s;}
    .is-visible #dot2,.is-visible #dot6{animation:dotEntrance 0.6s ease forwards 0.3s;}
    .is-visible #dot10,.is-visible #dot13{animation:dotEntrance 0.6s ease forwards 0.5s;}
    .is-visible #dot3,.is-visible #dot7{animation:dotEntrance 0.6s ease forwards 0.7s;}
    .is-visible #dot11,.is-visible #dot14{animation:dotEntrance 0.6s ease forwards 0.9s;}
    .is-visible #dot4,.is-visible #dot8{animation:dotEntrance 0.6s ease forwards 1.1s;}
    .is-visible #dot12,.is-visible #dot15{animation:dotEntrance 0.6s ease forwards 1.3s;}
    .is-visible #dot5{animation:dotEntrance 0.6s ease forwards 1.5s;}

    .np_whoWeAre_para p {
        font-size: 16px;
        line-height: 1.6;
        text-align: center;
    }

    .np_app {
        isolation: isolate;
        padding: 60px 0 61px 0;
    }
    .np_tradeOnline_title {
        margin-bottom: 60px;
    }

    /* ========= TRADE ONLINE ========= */
    .np_tradeOnline_slides {
        height: auto ;
    }

    .np_tradeOnline_slideLists {
        height: auto ;
    }

    .np_tradeOnline_slideLists li {
        position: relative ;
        margin-bottom: 40px;
        height: auto;
        /* min-height: 400px; */
    }
    .np_tradeOnline_slideLists li:last-child{
        margin-bottom: 0;
    }

    .np_tradeOnline_slideItem {
        flex-direction: column ;
        height: auto;
    }

    .np_tradeOnline_slideImg {
        display: none ;
    }

    .np_tradeOnline_slideImg img {
        max-width: 280px;
        height: auto;
        margin: 0 auto;
    }

    .np_tradeOnline_slideContent {
        order: 2;
        max-width: 100% ;
        padding: 30px;
    }

    .np_tradeOnline_slide_text {
        width: 100% ;
        /* text-align: center ; */
    }

    .np_tradeOnline_slide_text h3 {
        font-size: 32px;
        display: flex;
        /* flex-direction: column; */
        align-items: center;
        gap: 10px;
        margin-bottom: 20px;
    }

    /* .np_tradeOnline_slide_text h3 span {
        width: 50px;
        height: 50px;
    } */

    .np_tradeOnline_slide_text h3 span svg {
        width: 50px;
        height: 50px;
    }

    .np_tradeOnline_slide_text p {
        max-width: 100% ;
        /* text-align: center ; */
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 25px;
    }

    .np_tradeOnline_slide_btn {
        /* flex-direction: column; */
        /* align-items: center ; */
        gap: 15px;
    }

    .np_tradeOnline_slide_btn a {
        justify-content: center;
        padding: 12px 20px;
    }

    /* Adjust slide orders for mobile */
    .np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slideItem {
        flex-direction: column;
    }

    .np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slideImg {
        order: 1;
        left: auto;
    }

    .np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slideContent {
        order: 2;
    }

    /* ========= PRODUCTS ========= */
    .np_products_list {
        flex-direction: column;
        gap: 20px;
    }

    .np_products_list li {
        width: 100% ;
        margin-bottom: 0;
    }

    .np_products_card {
        padding: 25px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* .np_products_img {
        margin: 0 auto 20px;
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
    } */

    .np_products_img svg {
        width: 30px;
        height: 30px;
    }

    .np_products_text {
        width: 100% ;
        text-align: center;
    }

    .np_products_text h3 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .np_products_text p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* ========= AWARDS ========= */
    .np_awards_slider .slick-prev,
    .np_awards_slider .slick-next {
        display: none ;
    }

    .np_award_card {
        margin: 0 5px;
    }

    /* ========= REPORTS ========= */
    .np_report_list li{
        width: calc(50% - 10px);
    }
    .np_report_list {
        flex-flow: row wrap;
        gap: 20px;
        flex-direction: column;
        align-items: start;
    }

    .np_report_card {
        width: 100%;
    }

    .np_report_card_inner {
        justify-content: flex-start;
        gap: 20px;
    }

    .np_report_card_img {
        width: 70px;
        height: 70px;
        flex-shrink: 0;
    }

    .np_report_card_text h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .np_report_card_text p{
        font-size: 14px;
    }

    /* ========= RESEARCH REPORTS ========= */
    .np_resReport_cards_top {
        gap: 20px;
        align-items: stretch;
    }

    .np_resReport_cards_tabs {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .np_resReport_cards_viewAll {
        text-align: center;
    }

    .np_resReport_cards_viewAll a {
        width: 100%;
        text-align: center;
    }

    .np_resReport_card_list {
        flex-direction: column;
        gap: 30px;
    }
    .np_resReport_card_list li{width: 100%;}

    .np_resReport_card {
        width: 100%;
    }

    .np_resReport_card_img {
        height: 200px;
    }

    /* ========= FAQ ========= */
    .np_FAQ_list_link a {
        font-size: 18px;
        padding: 10px 0;
    }

    .np_FAQ_list_disc h3 {
        font-size: 16px;
    }

    .np_FAQ_list_disc p {
        font-size: 14px;
    }

    /* ========= CONTACT ========= */
    .np_contactUs_inner {
        padding: 40px 0;
        min-height: auto;
    }


    .np_contactUs_bg_slider {
        min-height: auto;
    }

    .np_contactUs_bg_text {
        position: relative ;
        left: auto ;
        right: auto ;
        width: 100% ;
        max-width: 100% ;
        margin: 20px 0;
        opacity: 1 ;
        visibility: visible ;
        transform: none ;
        display: none;
    }

    .np_contactUs_bg_text.active {
        display: block;
        left: 0;
    }


    .np_contactUs_links {
        flex-wrap: wrap;
        justify-content: center;
        padding: 8px;
        gap: 5px;
    }

    .np_contactUs_links li {
        flex: 1;
        min-width: 140px;
        text-align: center;
    }

    .np_contactUs_links li a {
        padding: 12px 15px;
        font-size: 14px;
        width: 100%;
        display: block;
    }

    .np_contactUs_bg_text h3 {
        font-size: 20px;
        /* flex-direction: column; */
        /* align-items: flex-start; */
        gap: 5px;
    }

    .np_contactUs_bg_text h3 span{font-size: 14px;}

    .np_contactUs_bg_text p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* ========= FOOTER ========= */
    .np_footer_mid_inner {
        flex-flow: row wrap;
    }

    .np_footer_links {
        width: calc(50% - 15px);
    }
    .np_footer_links:nth-child(3) {
    width: calc(50% - 15px);
    flex: 0 0 auto;
    }
    .np_footer_links:nth-child(4) {
    width: calc(50% - 15px);
    flex: 0 0 auto;
    }
    .np_footer_links h3{
        margin-bottom: 18px;
    }

    .np_footer_mid_inner > .np_footer_links:last-child {
        margin-bottom: 0;
    }

    .np_footer_link li h4 {
        font-size: 13px;
        line-height: 1.4;
    }

    .np_footer_link li a {
        font-size: 13px;
    }

    .np_footer_social_Link {
        gap: 12px;
    }

    .np_footer_social_Link li a svg {
        width: 36px;
        height: 36px;
    }
    .np_FAQ {
        padding: 30px 0;
    }
    .np_resReport {
        background: var(--bg-light-blue);
        padding: 30px 0;
    }
    .np_awards {
        padding: 30px 0;
    }
    .np_contactUs_text {
        margin-bottom: 30px;
    }
    .np_contactUs_btns{
        margin-bottom: 15px;
    }
    .np_footer{
        padding-top: 30px;
    }
    .np_products_title {
        text-align: center;
        margin-bottom: 30px;
    }
    .np_tradeOnline {
        padding: 30px 0;
        overflow: hidden;
    }
    .np_hero_text{
        top: 33%;
    }
    .np_awards_slider_inner {
        margin: 0;
    }
    .np_app {
        isolation: isolate;
        padding: 30px 0 30px 0;
    }
    .np_outManagement {
        padding-top: 9.3%;
    }

    .np_acDocs_LftPdfsList{
        flex-direction: column;
        gap: 24px;
    }

    .IndvLink a{padding:10px 30px;font-size:14px;}

    .np_acImpNotice.indv .tradindFeesBoxExtListLinks{flex-direction: column;align-items: center;}

    .np_acHero.indv .np_acHero_text{margin-bottom:2rem;}
    .np_acHeroRgtPdfs.indv{padding: 1rem;}

    .np_hero_slider .slick-prev{left:10px !important; width:40px !important;height:40px !important;}
    .np_hero_slider .slick-next{right:10px !important; width:40px !important;height:40px !important;}


}

/* ================================= */
/* MOBILE LANDSCAPE (480px to 820px) */
/* ================================= */
@media screen and (max-width: 820px) and (min-width: 481px) {
    /* Adjust mobile navigation width */
    .np_navbar {
        width: 300px;
    }

    .np_hero_text img {
        max-width: 400px;
    }

    .np_count_box {
        width: calc(50% - 10px);
    }
    .np_award_card {
        margin: 0;
    }
    .np_awards_slider_inner{
        margin: 0;
    }
    .np_contactUs_bg_text_inner{
        margin: 0 10px;
    }
    .np_contactUs_bg_text_frm{
        margin: 20px 10px;
    }
    .np_FAQ_list_content{
        padding: 15px;
    }
    .np_FAQ_list_link a span svg {
        width: 25px;
        height: 25px;
    }
    .np_FAQ_list_link a {
        font-size: 16px;
        padding: 5px 0;
    }
    .np_FAQ_list_content.active .np_FAQ_list_disc{
        margin-top: 10px;
    }
    .np_logo{
        display: none;
    }
    .np_logoMob{
        display: block;
    }

}

/* ================================= */
/* MOBILE PORTRAIT (480px and below) */
/* ================================= */
@media screen and (max-width: 600px) {
    .np_footer_links {
        width: 100%;
    }
    .np_footer_links:nth-child(3) {
        width: 100%;
        flex: 0 0 auto;
    }
    .np_footer_links:nth-child(4) {
        width: 100%;
        flex: 0 0 auto;
    }
    .np_acHeroRgtPdfList{
        flex-direction: column;
        gap: 16px;
    }
    .np_acHero_text {
        margin-bottom: 1.375rem;
    }
    .np_acHeroRgtTitle.indv h3{font-size:1.5rem;max-width:600px;}

    .np_acImpNotice.indv .tradindFeesBox h3{font-size: 1.25rem;}
    .np_acImpNotice.indv .tradindFeesBoxExt h3{font-size: 1.25rem;}
    .np_acImpNotice.indv .tradindFeesBoxExtList p{margin-bottom: 1rem;}
    .np_stockTable_filterList{width: 100%;overflow-x: auto;}
    .np_stockTable_filterList > li{width: 33.333%;text-align: center;white-space: nowrap;}
}
@media screen and (max-width: 480px) {
    /* Further Typography Adjustments */
    .np_tradeOnline_title h2,
    .np_awards_title h2,
    .np_resReport_text h2,
    .np_FAQ_text h2,
    .np_contactUs_text h2,
    .np_products_title h2,
    .np_whoWeAre_title h3 {
        font-size: 28px;
    }

    .np_tradeOnline_title p,
    .np_awards_title p,
    .np_resReport_text p,
    .np_FAQ_text p,
    .np_contactUs_text p,
    .np_products_title p {
        font-size: 15px;
    }
    .sv_accountCreationRightFormBtns{
        flex-direction: column;
    }

    /* ========= HEADER ========= */
    .np_logo img {
        max-width: 160px;
    }

    /* Adjust header buttons for very small screens */
    .np_navbar_btn {
        gap: 6px;
    }

    .np_navbar_btn .np__common_button {
        padding: 5px 8px;
        font-size: 10px;
    }

    .np_navbar_btn .np__common_button img {
        width: 16px;
        height: 16px;
    }

    .np_navbar_btn .np__btLink {
        font-size: 12px;
    }

    .mobile-menu-toggle {
        margin-left: 10px;
        width: 28px;
        height: 22px;
    }

    /* ========= HERO SECTION ========= */
    .np_hero_img {
        height: 100vh;
    }

    .np_hero_text img {
        max-width: 280px;
    }
    .np_hero_text{
        top: 15%;
    }

    .np_hero_btn {
        padding: 12px 28px;
        font-size: 16px;
    }

    /* ========= COUNT SECTION ========= */
    .np_count_box {
        width: 100% ;
    }

    .np_count_inner {
        gap: 20px;
    }

    /* ========= WHO WE ARE ========= */
    .np_whoWeAre {
        padding: 50px 0;
    }

    .np_whoWeAre_title h3 {
        font-size: 28px;
    }

    .np_whoWeAre_para p {
        font-size: 15px;
    }

    /* ========= TRADE ONLINE ========= */
    .np_tradeOnline_slide_text h3 {
        font-size: 28px;
    }

    .np_tradeOnline_slide_text h3 span {
        width: 40px;
        height: 40px;
    }

    .np_tradeOnline_slide_text h3 span svg {
        width: 40px;
        height: 40px;
    }

    .np_tradeOnline_slideContent {
        padding: 25px;
    }

    .np_tradeOnline_slide_text p {
        font-size: 15px;
    }

    /* ========= PRODUCTS ========= */
    .np_products_text h3 {
        font-size: 20px;
    }

    /* ========= MOBILE MENU ========= */
    .np_navbar {
        width: 280px;
        padding: 90px 25px 25px;
    }

    .np_navbar .np_menu_list li a {
        font-size: 17px;
        padding: 14px 0;
    }

    /* ========= CONTACT ========= */
    /* .np_contactUs_links li {
        flex: 1 0 100%;
        margin-bottom: 5px;
    } */

    .np_contactUs_links li:last-child {
        margin-bottom: 0;
    }

    .np_contactUs_links li a {
        padding: 12px;
        font-size: 15px;
    }
    .np_logo{
        display: none;
    }
    .np_logoMob{
        display: block;
    }
    .np_report_list{
        flex-direction: column;
    }
    .np_report_list li {
        width:100%;
    }

    .np_report_card_img {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
    }
    .np_report_card_img svg{
        width: 25px;
        height: 25px;
    }
        .np_report_card_text h3 {
        font-size: 20px;
        margin-bottom:8px;
    }
    .np_resReport_cards_top{
        flex-direction: column;
    }
    .np_FAQ_list_content{
        padding: 10px;
        border-radius: 10px;
    }
    .np_FAQ_list_link a span{
        width: 30px;
        height: 30px;
    }
    .np_FAQ_list_link a span svg{
        width: 30px;
        height: 30px;
    }
    .np_FAQ_list_link a {
        font-size: 18px;
        padding: 5px 0;
    }
    .np_footer_top{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }
    .np_footer_links h3{
        margin-bottom: 20px;
    }
    .np_footer_link li:not(:last-child) {
        margin-bottom: 10px;
    }
    .np_footer_links{
        margin-bottom: 0;
    }
    .np_whoWeAre_icon svg {
        width: 100px;
        height: auto;
        margin: 0 auto;
    }
    .np_tradeOnline_slideLists li:nth-child(2) .np_tradeOnline_slide_btn{
        flex-direction: column;
        align-items: flex-end;
    }
        .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(0px, 0px);
        top: 0px;
    }
    .np_contactUs_bg_text_frm ul li{
        width: 100%;
    }
    .np_contactUs_bg_text_frm .row.bottom{
        flex-direction: column;
    }
    .np_contactUs_bg_text_frm .row.bottom .captcha{
        width: 100%;
    }
    .np_contactUs_bg_text_frm .row.bottom button{
        width: 100%;
    }
    .np_contactUs_bg_text_inner{
        margin: 0 10px;
    }
    .np_contactUs_bg_text_frm{
        margin: 20px 10px;
    }
    .np_outManagement {
        padding-top: 17.3%;
    }
    .np_outManagementCont {
        margin: 2.375rem 0;
    }
    .np_outManagementContBox h1 {
        font-size: 2rem;
        margin-bottom: 10px;
    }
    .np_outManagementContBox h3 {
        font-size: 1.5rem;
    }
    .np_outManagementContBox h4 {
        font-size: .8rem;
    }
    .np_outManagementContBoxDisc p {
        font-size: .8rem;
    }
    .np_outManagementContBoxDisc p span{
        font-size: .8rem;
    }

    .np_onlineCashTsec_rgt{
        max-width: 90%;
        padding: 25px;
        top: 130px;
    }
    .np_onlineCashTsec_rgt h3 {
        font-size: 14px;
    }
    .np_onlineCashTsec_rgt p {
        font-size: 18px;
    }
    .np_onlineCashTsec_rgtForm {
        margin-top: 25px;
    }
    .np_onlineCashTsec_rgtForm_list, .np_onlineCashTsec_rgtForm_item input{width: 100%;}
    /* .np_onlineCashTsec_rgtForm_item input{
        width: 300px;
    } */
    .np_loginBtn{
        margin-top: 24px;
    }
    .np_stockTable_searchBar{padding:20px;}
    .np_stockTable_searchBarInp input{font-size:14px;padding:12px 20px;padding-left:35px;}
    .np_stockTable_searchBarInp input::placeholder{font-size:14px;}
    .np_stockTable_searchBarInpIcon{left:12px;width:15px;}

    .np_stockTable_filter{
        flex-direction: column;
        align-items: flex-start;
    }
    .np_acOnlineTrading_LftLinksList{
        flex-direction: column;
        gap: 16px;
    }
    .np_acOnlineTrading_LftUserMan .np_acDocs_LftPdfsListInner{
        flex-direction: column;
        gap: 16px;
    }
    .np_acOnlineTrading_LftTxt h3 {
        margin-bottom: 18px;
    }

    .np_acImpNotice.indv .tradindFeesBoxExtLists{
        flex-direction: column;
    }


    /* Hero slider */
    .np_hero_slider{height: 100vh;}
    .np_hero_text {top: 33%;}
    .np_hero_slider .slick-prev {
        width: 40px !important;
        height: 40px !important;
    }

    .np_hero_slider .slick-next {
        width: 40px !important;
        height: 40px !important;
    }
}

/* ================================= */
/* EXTRA SMALL MOBILE (360px and below) */
/* ================================= */
@media screen and (max-width: 360px) {
    .np_logo img {
        max-width: 140px;
    }

    /* Hide some buttons on very small screens */
    /* .np_navbar_btn .np__common_button:nth-child(3),
    .np_navbar_btn .np__btLink {
        display: none;
    } */

    .np_navbar_btn {
        gap: 4px;
    }

    .np_navbar_btn .np__common_button {
        padding: 4px 8px;
        font-size: 11px;
    }

    .mobile-menu-toggle {
        width: 26px;
        height: 20px;
        margin-left: 8px;
    }

    .np_navbar {
        width: 260px;
        padding: 80px 20px 20px;
    }

    .np_hero_text img {
        max-width: 220px;
    }

    .np_tradeOnline_slide_text h3 {
        font-size: 24px;
    }

    .np_tradeOnline_slide_text h3 span {
        width: 35px;
        height: 35px;
    }

    .np_tradeOnline_slide_text h3 span svg {
        width: 35px;
        height: 35px;
    }
    .mobile-menu-toggle.active span:nth-child(3){
        transform: rotate(-45deg) translate(5px, -5px);
        bottom: 11px;
    }
    .np_outManagement {
        padding-top: 20.3%;
    }
}

/* ============================================
   CERTIFICATIONS SLIDER — RESPONSIVE
   (kept as one block — matches the slidesToShow
   breakpoints in script.inc.js: 3-up above 1024px,
   2-up 601–1024px, 1-up at 600px and below)
   ============================================ */

/* Below 1024px the intro column (26% width) gets too
   narrow for the full-size icon + heading, so stack it
   above the slider instead of squeezing it into a side
   column. Desktop spacing/layout is untouched above this
   width, matching the design down to the 1024px breakpoint. */
@media screen and (max-width: 1024px) {
    .np_certifications {
        margin-top: 2.5rem;
    }

    .np_certifications_inner {
        flex-flow: row wrap;
        padding: 28px 32px;
    }

    .np_certifications_intro {
        width: 100%;
        flex: 0 0 100%;
        max-width: none;
        height: auto;
        padding-inline-end: 0;
        border-inline-end: none;
        padding-bottom: 24px;
        margin-bottom: 24px;
        border-bottom: 1px solid var(--border-light-blue);
    }

    .np_certifications_introIn {
        padding-inline-end: 0;
    }

    .np_certifications_icon svg {
        width: 64px;
        height: 64px;
    }

    .np_certifications_intro h3 {
        font-size: 19px;
    }

    .np_certifications_intro p {
        font-size: 13px;
    }

    .np_cert_card_icon svg {
        width: 60px;
        height: 60px;
    }

    .np_cert_card_text h4 {
        font-size: 18px;
    }

    .np_cert_card_text p {
        font-size: 15px;
    }

    .np_cert_card_meta {
        font-size: 13px;
    }

    .np_certifications_slider {
        width: 100%;
        flex: 0 0 100%;
        padding-inline-start: 0;
    }

    /* Slick JS also sets arrows:false at this width — this is just
    a CSS-level safety net in case JS hasn't initialised yet. */
    .np_certifications_slider .slick-arrow {
        display: none !important;
    }
}

/* 601–820px: two cards show side by side (slidesToShow:2), so keep
   the divider/equal-height alignment between them, just tighten
   the card gap, padding and type scale a little for the narrower
   column. */
@media screen and (max-width: 820px) {
    .np_certifications_inner {
        padding: 24px 24px;
    }

    .np_certifications_icon svg {
        width: 56px;
        height: 56px;
    }

    .np_certifications_intro h3 {
        font-size: 18px;
    }

    .np_cert_card {
        gap: 12px;
        padding-inline-end: 12px;
    }

    .np_cert_card_icon svg {
        width: 52px;
        height: 52px;
    }

    .np_cert_card_text h4 {
        font-size: 17px;
        margin-bottom: 6px;
    }

    .np_cert_card_text p {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .np_cert_card_meta {
        font-size: 12px;
    }

    .np_certifications_slider .slick-prev,
    .np_certifications_slider .slick-next {
        width: 28px !important;
        height: 28px !important;
    }

    .np_certifications_slider .slick-slide {
        padding-inline-start: 12px;
    }
}

/* 768px and below: only one card is visible at a time (slidesToShow:1),
   so the divider/equal-height stretch between "cards" no longer makes
   visual sense — every slide would otherwise show a stray left border
   and, combined with the equal-height stretch, a large empty gap above
   "Valid Until" whenever a taller card exists elsewhere in the track. */
@media screen and (max-width: 768px) {
    .np_certifications {
        margin-top: 2rem;
    }

    .np_certifications_inner {
        padding: 24px 20px;
    }

    .np_certifications_introIn {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .np_certifications_icon svg {
        width: 48px;
        height: 48px;
    }

    .np_certifications_intro h3 {
        font-size: 17px;
        margin-bottom: 6px;
    }

    .np_certifications_intro p {
        font-size: 13px;
        margin-bottom: 12px;
    }

    .np_cert_card {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-inline-end: 0;
        height: auto;
    }

    .np_cert_card_icon svg {
        width: 48px;
        height: 48px;
    }

    .np_cert_card_text {
        height: auto;
    }

    .np_cert_card_text h4 {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .np_cert_card_text p {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .np_cert_card_meta {
        font-size: 12px;
    }

    .np_cert_card_meta:first-of-type {
        margin-top: 0;
    }

    .np_certifications_slider .slick-track {
        align-items: flex-start;
        height: auto;
    }

    .np_certifications_slider .slick-slide {
        border-inline-start: none !important;
        padding-inline-start: 0 !important;
    }

    .np_certifications_slider .slick-slide > div {
        height: auto;
    }
}

/* 480px and below: extra small phones — tighten padding and icon
   sizes a little further, in proportion with the rest of the page's
   480px breakpoint scale. */
@media screen and (max-width: 480px) {
    .np_certifications_inner {
        padding: 20px 16px;
    }

    .np_certifications_icon svg {
        width: 44px;
        height: 44px;
    }

    .np_certifications_intro h3 {
        font-size: 16px;
    }

    .np_certifications_intro p {
        font-size: 12px;
    }

    .np_cert_card_icon svg {
        width: 44px;
        height: 44px;
    }

    .np_cert_card_text h4 {
        font-size: 15px;
    }

    .np_cert_card_text p {
        font-size: 13px;
    }

    .np_cert_card_meta {
        font-size: 11px;
    }
}