:root{
      --font-color: #0b0b0b;
      --primary-color: #329e36;
      --secondary-color: #df1616;
      --tertiary-color: #000;
      --white: #ffffff;
      --border-width: 1px;
      --border-color: #c0c0c0;
      --text-muted-color: #777c7d;
    }

    body .hero{
      font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto;
      color:var(--font-color);
      margin:0;
      background:radial-gradient(1000px 600px at 8% 30%, rgba(0, 136, 80, 0.16), transparent 40%), 
                radial-gradient(900px 500px at 92% 65%, rgba(234, 8, 8, 0.1), transparent 72%), 
                linear-gradient(180deg,#f8fcff 0%, #f4fbf7 100%);
    }

    .nav-link.active {
      font-weight: bold;
      color: var(--secondary-color) !important;
    }


    .navbar-toggler {
      padding: 0!important;
      font-size: var(--bs-navbar-toggler-font-size);
      line-height: 1;
      color: var(--bs-navbar-color);
      background-color: transparent;
      border: none!important;
      border-radius: var(--bs-navbar-toggler-border-radius);
      transition: var(--bs-navbar-toggler-transition);
    }
    .navbar-toggler:focus {
      box-shadow: none!important;
    }

    /* Navbar */
    .navbar{
      background: var(--white);
      box-shadow: 0 8px 24px rgba(6,22,36,0.06);
    }
    .navbar-brand {font-weight:800; font-size:1.05rem; color:var(--font-color);}
    .navbar-brand small{display:block; font-weight:600; color:#6b7280; font-size:.78rem}
    .nav-link{font-weight:600; color:var(--primary-color);}
    .nav-link:hover{color:var(--secondary-color);}
    .btn-get {
      background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
      color:var(--white);
      border-radius:12px;
      padding:8px 20px;
      font-weight:800;
      border:none;
      box-shadow:0 6px 18px rgba(0,136,179,0.18);
    }

    /* Hero Section */
    .hero { padding:6rem 0 5rem; position:relative; }
    .badge-open{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      background: rgba(0,181,106,0.07);
      color:var(--primary-color);
      padding:.45rem .9rem;
      border-radius:999px;
      font-weight:700;
      font-size:.88rem;
    }


    /* Main Title */
    .hero-title {
      margin-top:1.2rem;
      font-weight:900;
      line-height:1.05;
    }
    .hero-title .line1 {
      display:block;
      font-size: clamp(2.2rem, 5vw, 3.2rem);
      font-weight:900;
      background: linear-gradient(111deg, var(--primary-color) 15%, var(--secondary-color) 67%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text; /* for Firefox */
      color: transparent; /* fallback */
      text-shadow: 3px 3px 5px rgba(0,0,0,0.2);
    }
    .hero-title .line2 {
      display:block;
      font-weight:900;
      font-size: clamp(2.2rem, 5.2vw, 3.5rem);
      /* refined gradient closer to screenshot */
      letter-spacing:-0.5px;
      text-shadow: 3px 3px 5px rgba(0,0,0,0.2);
    }

    .text-gradient {
      background: linear-gradient(90deg, var(--primary-color) 20%, var(--secondary-color) 80%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .bg-gradient {
      background: linear-gradient(90deg, var(--primary-color), var(--secondary-color))!important;
    }
    .btn.bg-gradient {
      border: none;
      color: var(--white);
    }

    .hero-desc {
      color: var(--text-muted-color);
      max-width:54ch;
      margin-top:1rem;
      font-size:1.05rem;
      font-weight:500;
    }

    .fw-black {
      font-weight:900;
    }

    .cta-group .btn {
      border-radius:12px;
      padding:12px 26px;
      font-weight:800;
    }
    .btn-outline-dark.custom{
      border:2px solid rgba(11,11,11,0.08);
      color:var(--font-color);
    }
    .btn-outline-dark.custom:hover{
      background:var(--font-color); color:#fff;
    }

    .stats .num{font-weight:900; font-size:1.6rem; color:var(--font-color);}
    .stats .num .accent{ color:var(--primary-color); }

    /* Cards */
    .cards-wrap { 
      display:grid; 
      grid-template-columns:1fr 1fr; 
      gap:2rem; 
      align-items:center;
    }
    .card-sm {
      padding:1.4rem 1.6rem;
      border-radius:18px;
      background:#fff;
      box-shadow: 8px 8px 13px rgba(11, 11, 11, 0.1);
      border: 1px solid rgba(104, 104, 104, 0.1);
      min-height:94px;
      display:block; 
      gap:1rem; 
      transition: all .5s ease;
      align-items:center;
    }
    .card-sm:hover {
      box-shadow: 20px 20px 16px rgba(11, 11, 11, 0.15);
    }
    .card-icon {
      width:70px; height:70px; border-radius:10px;
      display:flex; align-items:center; justify-content:center;
      font-size:1.25rem;
      color: #fff;
      box-shadow: 5px 5px 9px #8a8a8ae5;
    }
    .card-icon-sm {
      width:55px; height:55px; border-radius:16px;
      display:flex; align-items:center; justify-content:center;
      font-size:1.25rem;
      color: #fff;
      box-shadow: 5px 5px 9px #8a8a8ae5;
    }


  .library-stat .card-sm:hover {
    transform: translateY(-6px);
  }
  .text-warning {
    color: rgb(255, 96, 0) !important;
  }

  .fw-100 {
    font-weight: 100!important;
  }
  .fw-200 {
    font-weight: 200!important;
  }
  .fw-300 {
    font-weight: 300!important;
  }
  .fw-400 {
    font-weight: 400!important;
  }
  .fw-500 {
    font-weight: 500!important;
  }
  .fw-600 {
    font-weight: 600!important;
  }
  .fw-700 {
    font-weight: 700!important;
  }
  .fw-800 {
    font-weight: 800!important;
  }
  .fw-900 {
    font-weight: 900!important;
  }

  .card-icon-md {
    width: 75px;
    height: 75px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #fff;
    box-shadow: 5px 5px 9px #8a8a8ae5;
    margin-bottom: -15px;
  }

  .text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;   /* number of lines to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .card-icon-lg {
    width: 95px;
    height: 95px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: #fff;
    box-shadow: 5px 5px 9px #8a8a8ae5;
    margin-bottom: -15px;
  }
    .card-title {
      font-weight:800; 
      color:var(--font-color); 
    }
    .card-sub {
      color:var(--text-muted-color); 
      font-weight:400; 
      font-size:.95rem;
    }

    .cards-wrap .card-sm:nth-child(2){ transform: translateY(48px); }
    .cards-wrap .card-sm:nth-child(3){ transform: translateY(24px); }
    .cards-wrap .card-sm:nth-child(4){ transform: translateY(40px); }

    @media (max-width:767px){
      .cards-wrap{ grid-template-columns:1fr; }
      .cards-wrap .card-sm:nth-child(n){ transform:none; }
    }

    .card.book-item {
      border: 1px solid #f5f5f5;
      border-radius: 15px;
      box-shadow: 0px 5px 8px #9ba19b4f;
    }
    .book-item .card-header {
      border-top-left-radius: 15px;
      border-top-right-radius: 15px;
      padding: 1rem;
      border-bottom: none;
    }
    .badge.badge-default {
      background: #fff;
      color: var(--text-muted-color);
      box-shadow: 0 0 10px #00000033;
      border-radius: 50px;
      padding: 10px 20px;
    }
    a {
      color: var(--primary-color);
      text-decoration-line: none;
    }
    .featured-section a:hover {
      text-decoration: none;
    }
    a:hover .book-item {
      text-decoration-line: none!important;
    }
    a.text-gradient {
      background: linear-gradient(90deg, var(--primary-color) 20%, var(--secondary-color) 80%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: var(--primary-color);
    }

    /* Browse by Category */
.browse-category {
  background-color: #fff;
}

.category-card {
  border-radius: 12px;
  background-color: #f9fafe;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  padding: 1.5rem;
  text-align: left;
  transition: all 0.25s ease;
}

.category-card:hover {
  background-color: #f1f5ff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

.icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
}

/* Data Request Section */
.data-request {
  background-color: var(--primary-color);
}

.data-request p {
  color: #efefef;
  font-size: 1.1rem;
  max-width: 650px;
  margin: 0 auto;
}

.btn-light {
  border-radius: 8px;
}

.btn-outline-light {
  border-radius: 8px;
  border-width: 2px;
}

.btn-outline-light:hover {
  background-color: #fff;
  color: var(--primary-color) !important;
}

footer {
  background-color: #0C121D;
  color: #ffffff;
}

.footer h5,
.footer h6 {
  color: #ffffff;
}

.footer p {
  font-size: 0.95rem;
}

.footer-link {
  color: #bbb;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: #ffffff;
  text-decoration: underline;
}

.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background-color: #1a1f2b;
  color: #ffffff;
  font-size: 1rem;
  transition: background 0.3s ease;
}

.social-icon:hover {
  background-color: #2c3e50;
}