 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Poppins', sans-serif;
 }

 body {
     background: #fff;
 }

 /* ---------------- NAV ---------------- */

 .navbar {
     background: #e5e5e5;
     padding: 15px 40px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     position: fixed;
     width: 100%;
     z-index: 1000;
 }

 .logo {
     display: flex;
     align-items: center;
 }

 .logo img {
     height: 40px;
     width: auto;
 }

 .nav-links {
     display: flex;
     gap: 20px;
 }

 .nav-links a {
     text-decoration: none;
     color: #000;
     font-size: 14px;
 }

 .search-box {
     position: relative;
 }

 .search-box input {
     padding: 8px 35px 8px 10px;
     border: 2px solid #000;
     border-radius: 8px;
 }

 .search-box i {
     position: absolute;
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
 }

 .hamburger,
 .mobile-search {
     display: none;
     font-size: 20px;
     cursor: pointer;
 }

 .sidebar {
     position: fixed;
     left: -300px;
     top: 0;
     width: 250px;
     height: 100%;
     background: #e5e5e5;
     padding: 20px;
     transition: 0.3s;
     z-index: 2000;
 }

 .sidebar.active {
     left: 0;
 }

 .sidebar .close-btn {
     text-align: right;
     cursor: pointer;
 }

 .sidebar a {
     display: block;
     margin: 20px 0;
     text-decoration: none;
     color: #000;
 }

 .overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.4);
     display: none;
     z-index: 1500;
 }

 .overlay.active {
     display: block;
 }

 /* -------------- HERO -------------- */

 .hero {
     height: 100vh;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 100px 40px 40px;
 }

 .hero-text {
     width: 50%;
 }

 .hero img {
     width: 50%;
     height: 80vh;
     object-fit: cover;
 }

 /* -------------- SLIDER -------------- */

 .slider-section {
     padding: 80px 20px;
     text-align: center;
 }

 .slider-wrapper {
     position: relative;
     overflow: hidden;
 }

 .slider {
     display: flex;
     transition: 0.5s;
 }

 .slide {
     min-width: 100%;
 }

 .slide img {
     width: 100%;
     height: 400px;
     object-fit: cover;
 }

 .slider-btn {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: #000;
     color: #fff;
     border: none;
     padding: 10px;
     cursor: pointer;
 }

 .prev {
     left: 10px;
 }

 .next {
     right: 10px;
 }

 /* -------------- SERVICES -------------- */

 .services {
     padding: 80px 40px;
 }

 .services-header {
     text-align: center;
     margin-bottom: 40px;
 }

 .services-container {
     display: flex;
     gap: 40px;
     max-width: 1100px;
     margin: 0 auto;
     align-items: center;
 }

 .services-icons {
     flex: 0 0 40%;
     display: grid;
     grid-template-columns: repeat(3, minmax(80px, 1fr));
     gap: 20px;
     align-items: start;
 }

 .service-item {
     text-align: center;
     cursor: pointer;
     padding: 15px;
     border-radius: 10px;
     transition: 0.3s;
 }

 .service-item.active {
     background: none;
 }

 .service-item p {
     font-size: 11px;
 }

 .service-item img {
     width: 100px;
     margin-bottom: 10px;
 }

 .service-image {
     flex: 1 1 60%;
     max-width: 650px;
 }

 .service-image img {
     width: 100%;
     height: auto;
     object-fit: cover;
     border-radius: 10px;
 }

 #serviceText {
     margin-top: 16px;
     font-size: 14px;
     color: #444;
     line-height: 1.5;
 }

 /* -------------- RED STATS SECTION -------------- */

 .stats {
     background: #ce232d;
     color: #fff;
     text-align: center;
     padding: 220px 20px 20px;
     position: relative;
 }

 .stats-img {
     position: absolute;
     top: 0;
     left: 50%;
     transform: translate(-50%, -50%);
 }

 .stats-img img {
     width: 50%;
     border-radius: 10px;
 }

 /* ensure services have space so the absolute image does not cover them */
 .services {
     margin-bottom: 120px;
 }

 @media (max-width: 992px) {
     .stats {
         padding-top: 180px;
     }

     .services {
         margin-bottom: 100px;
     }
 }

 @media (max-width: 768px) {
     .stats {
         padding-top: 140px;
     }

     .services {
         margin-bottom: 80px;
     }

     .stats-img {
         left: 40%;
         transform: translate(-50%, -50%);
     }

     .stats-img img {
         width: 140%;
     }
 }



 .stats h2 {
     font-weight: 400;
     margin-top: 20px;
 }

 .stats h1 {
     font-size: 70px;
     font-weight: 800;
     margin: 20px 0;
 }

 .stats-bottom {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 20px;
     margin-top: 40px;
 }

 .stat-bracket {
     font-size: 90px;
     font-weight: 300;
     color: rgba(255, 255, 255, 0.5);
     line-height: 1;
 }

 .stat-item {
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .stat-num {
     font-size: 72px;
     font-weight: 800;
     line-height: 1;
 }

 .stat-label {
     font-size: 13px;
     font-weight: 400;
     color: rgba(255, 255, 255, 0.75);
     margin-top: 6px;
     line-height: 1.3;
 }

 .stat-x {
     font-size: 28px;
     font-weight: 300;
     color: rgba(255, 255, 255, 0.6);
 }

 /* -------------- RED BANNER BEFORE FAQ -------------- */

 .banner {
     background: #ce232d;
     color: #fff;
     text-align: center;
     padding: 80px 0px;
     position: relative;
 }

 .banner img {
     width: 100%;
     height: 400px;
     object-fit: cover;
     margin-top: 0px;
 }

 /* -------------- HEART 3D SECTION -------------- */
 .heart-3d-section {
     background: #fff;
     padding: 80px 40px;
 }

 .heart-3d-wrapper {
     max-width: 820px;
     margin: 0 auto;
     padding: 0 160px;
     display: flex;
     justify-content: center;
 }

 .heart-3d-image {
     position: relative;
     width: 80%;
     max-width: 420px;
 }

 .heart-3d-image img {
     width: 100%;
     height: auto;
     display: block;
 }

 .heart-label {
     position: absolute;
     color: #aaa;
     font-size: 13px;
     font-weight: 500;
     white-space: nowrap;
     cursor: pointer;
     transform: translateY(-50%);
     transition: color 0.2s;
 }

 .heart-label:hover {
     color: #ce232d;
 }

 .heart-label.left {
     right: calc(100% + 0px);
     text-align: right;
 }

 .heart-label.left_1 {
     right: calc(100% + -11px);
     text-align: left;
 }

 .heart-label.left_2 {
     right: calc(100% + -11px);
     text-align: left;
 }

 .heart-label.left_3 {
     right: calc(100% + -17px);
     text-align: left;
 }

 .heart-label.right {
     left: calc(100% + -10px);
     text-align: left;
 }

 .heart-label.right_1 {
     left: calc(100% + -11px);
     text-align: left;
 }

 .heart-label.right_2 {
     left: calc(100% + -22px);
     text-align: left;
 }

 @media (max-width: 900px) {
     .heart-3d-wrapper {
         padding: 0 110px;
     }
 }

 @media (max-width: 600px) {
     .heart-3d-section {
         padding: 60px 0;
     }

     .heart-3d-wrapper {
         padding: 0 72px;
     }

     .heart-label {
         font-size: 11px;
     }
 }

 @media (max-width: 420px) {
     .heart-3d-wrapper {
         padding: 0 58px;
     }

     .heart-label {
         font-size: 8px;
     }
 }

 /* -------------- LABEL MODAL -------------- */
 .label-modal {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: none;
     z-index: 4000;
     justify-content: center;
     align-items: center;
 }

 .label-modal.active {
     display: flex;
 }

 .label-overlay {
     position: absolute;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.6);
 }

 .label-modal-content {
     position: relative;
     width: 380px;
     max-width: 90%;
     background: #ce232d;
     color: #fff;
     padding: 40px 28px 28px;
     border-radius: 12px;
     z-index: 2;
     text-align: center;
 }

 .lm-close {
     position: absolute;
     top: 14px;
     left: 16px;
     background: none;
     border: none;
     color: #fff;
     font-size: 20px;
     cursor: pointer;
     padding: 0;
     line-height: 1;
 }

 .lm-heading {
     font-size: 22px;
     font-weight: 700;
     margin-bottom: 12px;
 }

 .lm-divider {
     width: 55%;
     height: 1.5px;
     background: rgba(255, 255, 255, 0.45);
     margin: 0 auto 14px;
 }

 .lm-subheading {
     font-size: 15px;
     font-weight: 600;
     margin-bottom: 18px;
 }

 .lm-body {
     font-size: 12px;
     line-height: 1.65;
     color: rgba(255, 255, 255, 0.9);
     margin-bottom: 28px;
 }

 .lm-source {
     font-size: 8px;
     color: rgba(255, 255, 255, 0.6);
     text-align: left;
 }

 /* -------------- FAQ -------------- */

 .faq {
     padding: 60px 40px;
 }

 .faq h2 {
     color: #ce232d;
     margin-bottom: 20px;
 }

 .faq-item {
     border-top: 2px solid #000;
     padding: 15px 0;
 }

 .faq-question {
     display: flex;
     justify-content: space-between;
     cursor: pointer;
 }

 .faq-answer {
     display: none;
     margin-top: 10px;
 }

 .faq-answer.active {
     display: block;
 }

 /* -------------- RESPONSIVE -------------- */

 @media(max-width:768px) {

     .nav-links,
     .search-box {
         display: none;
     }

     .hamburger,
     .mobile-search {
         display: block;
     }

     .logo {
         margin: auto;
     }

     .hero {
         flex-direction: column;
         text-align: center;
     }

     .hero img {
         width: 100%;
         height: 50vh;
     }

     .hero-text {
         display: none;
     }

     .services-container {
         flex-direction: column;
     }

     .services-icons {
         flex: 0 0 100%;
         grid-template-columns: repeat(3, 1fr);
     }

     .service-image {
         width: 100%;
         margin-top: 20px;
     }

     .stats h1 {
         font-size: 45px;
     }

     .stats-bottom {
         gap: 10px;
     }

     .stat-num {
         font-size: 48px;
     }

     .stat-bracket {
         font-size: 60px;
     }

     .stat-x {
         font-size: 20px;
     }

     .banner img {
         height: auto;
         object-fit: contain;
     }

 }

 @media (max-width: 600px) {
     .services-container {
         gap: 16px;
         padding: 0 16px;
     }

     .services-icons {
         grid-template-columns: repeat(3, 1fr);
         gap: 12px;
     }

     .service-item {
         padding: 6px;
     }

     .service-item p {
         font-size: 11px;
     }

     .service-item img {
         width: 32px;
     }
 }

 @media (max-width: 420px) {
     .services-icons {
         grid-template-columns: repeat(3, 1fr);
     }

     .service-item {
         padding: 4px;
     }

     .service-item p {
         font-size: 11px;
     }

     .service-item img {
         width: 70px;
     }
 }

 /* Fix hero cropping on very narrow screens */
 @media (max-width: 375px) {
     .hero {
         padding-left: 8px;
         padding-right: 8px;
         height: auto;
     }

     .hero picture,
     .hero img {
         width: 100%;
         max-width: 100vw;
         height: auto;
         object-fit: contain;
         display: block;
         margin: 0 auto;
     }
 }

 /* -------- SLIDER -------- */

 .slider-container {
     position: relative;
     margin-top: 40px;
     overflow: hidden;
 }

 .slider-track {
     display: flex;
     transition: 0.5s ease;
 }

 .slide-item {
     flex: 0 0 33.33%;
     padding: 10px;
     cursor: pointer;
     text-align: center;
 }

 .slide-item img {
     width: 100%;
     height: 250px;
     object-fit: cover;
     border-radius: 10px;
 }

 .slider-btn {
     position: absolute;
     top: 40%;
     transform: translateY(-50%);
     background: black;
     color: white;
     border: none;
     padding: 10px;
     cursor: pointer;
     z-index: 10;
 }

 .prev {
     left: 0;
 }

 .next {
     right: 0;
 }

 /* Tablet */
 @media (max-width: 992px) {
     .slide-item {
         flex: 0 0 50%;
     }
 }

 /* Mobile */
 @media (max-width: 600px) {
     .slide-item {
         flex: 0 0 100%;
     }
 }


 /* -------- MODAL FIXED CENTER -------- */

 .topic-modal {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: none;
     z-index: 3000;

     /* display: flex; */
     justify-content: center;
     align-items: center;
 }

 .topic-modal.active {
     display: flex;
 }

 .topic-overlay {
     position: absolute;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.6);
 }

 .topic-modal-content {
     position: relative;
     width: 400px;
     max-width: 90%;
     background: #ce232d;
     color: white;
     padding: 60px 20px 30px;
     border-radius: 12px;
     text-align: center;
     z-index: 2;
 }

 .modal-icon {
     position: absolute;
     top: -30px;
     left: 50%;
     transform: translateX(-50%);
     background: white;
     color: red;
     padding: 12px;
     border-radius: 50%;
     font-size: 22px;
 }

 .close-modal {
     position: absolute;
     right: 15px;
     top: 10px;
     cursor: pointer;
 }

 @media (max-width: 768px) {
     #serviceText {
         font-size: 12px;
     }
 }

 @media (max-width: 600px) {
     #serviceText {
         font-size: 11px;
     }
 }

 @media (max-width: 420px) {
     #serviceText {
         font-size: 10px;
     }
 }

 @media (max-width: 768px) {
     .services-header h2 {
         font-size: 22px;
     }

     .stats h2 {
         font-size: 18px;
     }
 }

 @media (max-width: 420px) {
     .services-header h2 {
         font-size: 18px;
     }

     .stats h2 {
         font-size: 15px;
     }
 }

 @media (max-width: 600px) {
     .stat-num {
         font-size: 38px;
     }

     .stat-bracket {
         font-size: 48px;
     }

     .stat-x {
         font-size: 16px;
     }

     .stat-label {
         font-size: 11px;
     }
 }

 @media (max-width: 420px) {
     .stat-num {
         font-size: 30px;
     }

     .stat-bracket {
         font-size: 38px;
     }

     .stat-x {
         font-size: 13px;
     }

     .stat-label {
         font-size: 10px;
     }
 }

 /* -------------- DID YOU KNOW -------------- */
 .did-you-know {
     text-align: center;
     color: #ce232d;
     font-size: 28px;
     font-weight: 700;
     padding: 20px 20px 0;
     position: relative;
     z-index: 2;
 }

 @media (max-width: 768px) {
     .did-you-know {
         font-size: 22px;
     }
 }

 @media (max-width: 420px) {
     .did-you-know {
         font-size: 22px;
     }
 }

 /* -------------- FAQ RESPONSIVE -------------- */
 @media (max-width: 768px) {
     .faq {
         padding: 40px 20px;
     }

     .faq h2 {
         font-size: 22px;
     }

     .faq-question span {
         font-size: 14px;
     }

     .faq-answer {
         font-size: 13px;
     }
 }

 @media (max-width: 420px) {
     .faq h2 {
         font-size: 18px;
     }

     .faq-question span {
         font-size: 13px;
     }

     .faq-answer {
         font-size: 12px;
     }
 }

 /* -------------- SLIDER SECTION RESPONSIVE -------------- */
 @media (max-width: 768px) {
     .slider-section h2 {
         font-size: 22px;
     }

     .slider-section p {
         font-size: 14px;
     }
 }

 @media (max-width: 420px) {
     .slider-section h2 {
         font-size: 18px;
     }

     .slider-section p {
         font-size: 13px;
     }
 }

 /* -------------- HEART KE LIYE INTRO -------------- */
 .hkl-intro {
     text-align: center;
     padding: 80px 40px 40px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 24px;
 }

 .hkl-intro img {
     max-width: 320px;
     width: 60%;
     height: auto;
 }

 .hkl-intro p {
     font-size: 20px;
     font-weight: 500;
     line-height: 1.6;
     color: #222;
     max-width: 520px;
 }

 @media (max-width: 768px) {
     .hkl-intro {
         padding: 60px 20px 30px;
         gap: 18px;
     }

     .hkl-intro img {
         width: 70%;
         max-width: 260px;
     }

     .hkl-intro p {
         font-size: 16px;
     }
 }

 @media (max-width: 420px) {
     .hkl-intro img {
         width: 80%;
     }

     .hkl-intro p {
         font-size: 14px;
     }
 }