 .text-justify {
     text-align: justify;
     text-justify: inter-word;
     -webkit-text-align-last: justify;
     -moz-text-align-last: justify;
     text-align-last: justify;
 }

 /* MARQUEUE  */
 .ticker-wrapper {
     background: #ffffff;
     border-radius: 5px;
     padding: 20px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
 }

 .news-ticker {
     overflow: hidden;
 }

 .ticker-track {
     display: flex;
     align-items: center;
     gap: 25px;
     width: max-content;
     animation: marquee 35s linear infinite;
 }

 .ticker-item {
     background: #f1f5f9;
     border-radius: 4px;
     padding: 10px;
     transition: all 0.3s ease;
 }

 .ticker-item img {
     width: 160px;
     height: 110px;
     object-fit: cover;
     border-radius: 2px;
 }

 .ticker-item:hover {
     transform: translateY(-6px);
     box-shadow: 0 8px 20px rgba(0, 110, 183, 0.25);
 }

 .news-ticker:hover .ticker-track {
     animation-play-state: paused;
 }

 .ticker-track {
     will-change: transform;
 }



 /* animation  */
 .animate-box {
     opacity: 0;
     transform: translateY(40px) scale(0.95);
     filter: blur(6px);
     transition:
         opacity 0.6s ease,
         transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
         filter 0.6s ease;
     will-change: transform, opacity;
 }

 .animate-box.show {
     opacity: 1;
     transform: translateY(0) scale(1);
     filter: blur(0);
 }

 /* Stagger delay using CSS variable */
 .animate-box {
     transition-delay: var(--delay, 0ms);
 }

 /* Card hover — smoother & premium */
 .info-box {
     transition:
         transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
         box-shadow 0.35s ease;
 }

 .info-box:hover {
     transform: translateY(-8px) scale(1.02);
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
 }


 /* Infinite scroll */
 @keyframes marquee {
     from {
         transform: translateX(0);
     }

     to {
         transform: translateX(-50%);
     }
 }

 /* Mobile tweaks */
 @media (max-width: 768px) {
     .ticker-item img {
         width: 80px;
         height: 80px;
     }

     .ticker-track {
         animation-duration: 35s;
     }
 }


 .hero-btn .button-1,
 .hero-btn .button-2 {
     padding: 0.5rem 1rem;
     font-size: 0.875rem;
 }

 @media (min-width: 576px) {

     .hero-btn .button-1,
     .hero-btn .button-2 {
         padding: 0.75rem 1.5rem;
         font-size: 1rem;
     }
 }



 .hero-img {
     width: 100%;
     max-height: 350px !important;
     object-fit: contain;
 }

 /* Mobile adjustment */
 @media (max-width: 576px) {
     .hero-img {
         max-height: 220px;
     }
 }