 * {
     padding: 0;
     margin: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     background-color: #f5f8fc;
 }

 .navbar-brand {
     font-weight: bold;
 }

 .offcanvas-start {
     width: 65vw;
     background-color: #0a58ca;
     color: white;
 }

 .offcanvas-header h5 {
     color: white;
 }

 .offcanvas-body ul {
     list-style: none;
     padding-left: 0;
 }

 .offcanvas-body li a {
     color: white;
     font-weight: 500;
     display: block;
     padding: 10px;
     text-decoration: none;
     transition: background 0.3s ease;
 }

 .offcanvas-body li a:hover,
 .offcanvas-body li a.active {
     background: rgba(255, 255, 255, 0.1);
     border-radius: 8px;
 }

 .nav-link.active {
     background-color: rgba(255, 255, 255, 0.2);
     border-radius: 6px;
 }

 .hero {
     background: linear-gradient(135deg, #0d6efd, #0b5ed7);
     color: white;
     text-align: center;
     padding: 50px 20px;
     position: relative;
     overflow: hidden;
 }

 .hero-bg::before,
 .hero-bg::after {
     content: "";
     position: absolute;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 0;
 }

 .hero-bg::before {
     top: 20%;
     background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1440 320" xmlns="http://www.w3.org/2000/svg"><path fill="%230b5ed7" fill-opacity="1" d="M0,64L48,80C96,96,192,128,288,144C384,160,480,160,576,149.3C672,139,768,117,864,128C960,139,1056,181,1152,170.7C1248,160,1344,96,1392,64L1440,32L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z"></path></svg>') no-repeat bottom;
     background-size: cover;
 }

 .hero-bg::after {
     top: 0;
     background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1440 320" xmlns="http://www.w3.org/2000/svg"><path fill="%230a58ca" fill-opacity="1" d="M0,224L30,213.3C60,203,120,181,180,154.7C240,128,300,96,360,90.7C420,85,480,107,540,117.3C600,128,660,128,720,138.7C780,149,840,171,900,165.3C960,160,1020,128,1080,112C1140,96,1200,96,1260,122.7C1320,149,1380,203,1410,229.3L1440,256L1440,0L1410,0C1380,0,1320,0,1260,0C1200,0,1140,0,1080,0C1020,0,960,0,900,0C840,0,780,0,720,0C660,0,600,0,540,0C480,0,420,0,360,0C300,0,240,0,180,0C120,0,60,0,30,0L0,0Z"></path></svg>') no-repeat bottom;
     background-size: cover;
     opacity: 1;
 }

 .hero h1 {
     font-size: 2.5rem;
     font-weight: 700;
 }

 .hero p {
     font-size: 1.1rem;
 }

 @media (min-width: 768px) {
     .hero h1 {
         font-size: 3rem;
     }

     .hero p {
         font-size: 1.25rem;
     }
 }

 .blog-card {
     background-color: white;
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease-in-out;
     overflow: hidden;
     position: relative;
 }

 .blog-card::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(13, 110, 253, 0.2), transparent);
     opacity: 0;
     transition: opacity 0.3s ease-in-out;
 }

 .blog-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
 }

 .blog-card:hover::after {
     opacity: 1;
 }

 .blog-img {
     height: 200px;
     object-fit: cover;
     border-top-left-radius: 16px;
     border-top-right-radius: 16px;
 }

 .blog-content {
     padding: 20px;
 }

 .blog-title {
     font-size: 1.25rem;
     font-weight: bold;
     color: #0d6efd;
 }

 .blog-date {
     font-size: 0.9rem;
     color: gray;
 }

 .back-to-top {
     position: fixed;
     bottom: 1rem;
     right: 1rem;
     z-index: 9999;
     display: none;
 }

 footer {
     background-color: #0b5ed7;
     color: white;
     padding: 40px 0;
 }

 footer h5 {
     font-weight: 600;
 }

 footer a {
     color: #ffffffb3;
     text-decoration: none;
 }

 footer a:hover {
     color: white;
 }

 @media (min-width: 768px) {
     .footer-border {
         border-left: solid whitesmoke 1.5px;
         border-right: solid whitesmoke 1.5px;
     }
 }