
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&display=swap');

:root{
  --primary:#b4001b;
  --primary-dark:#73000f;
  --primary-soft:#fff3f5;
  --accent:#d31632;
  --ink:#231f20;
  --muted:#777;
  --white:#fff;
  --cream:#fffaf8;
  --line:#eadfe1;
  --shadow:0 12px 35px rgba(64,10,18,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Hind',sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.7;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.section-pad{padding:90px 0}
.section-title .eyebrow{
  display:inline-block;
  color:var(--primary);
  font-weight:700;
  margin-bottom:8px;
}
.section-title h2{
  font-size:clamp(30px,4vw,46px);
  font-weight:700;
  line-height:1.2;
  margin:0 0 14px;
}
.section-title p{color:var(--muted);max-width:700px;margin:0 auto}

.topbar{
  background:#360006;
  color:#fff;
  font-size:14px;
  padding:5px 0;
  border-top:3px solid #d7a500;
}
.topbar .inner{display:flex;justify-content:space-between;gap:20px;align-items:center}
.navbar{
  background:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,.06);
  position:relative;
  z-index:20;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img {
    width: 74px;
    height: 72px;
    object-fit: contain;
}
.brand-text{line-height:1.05}
.brand-text strong {
    display: block;
    color: var(--primary);
    font-size: 20px;
    font-weight: 700;
    /* word-break: break-all; */
    white-space: break-spaces;
}
.brand-text span {
    font-size: 20px;
    color: #333;
}
.navbar .nav-link{font-weight:600;color:#292929;padding:24px 13px!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--primary)}
.btn-blood{
  background:var(--primary);
  color:#fff!important;
  border:0;
  border-radius:8px;
  padding:11px 20px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:.25s;
}
.btn-blood:hover{background:var(--primary-dark);transform:translateY(-2px)}
.btn-outline-blood{
  border:1px solid var(--primary);
  color:var(--primary)!important;
  border-radius:8px;
  padding:10px 19px;
  font-weight:700;
}
.btn-outline-blood:hover{background:var(--primary);color:#fff!important}

.hero{
  min-height:650px;
  position:relative;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
  background:#73000f;
}
.hero-slide{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .8s ease, transform 6s ease;
}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-content-wrap{position:relative;z-index:2}
.hero .content{max-width:720px;padding:80px 0;position:relative;min-height:470px}
.hero-copy{display:none;animation:heroTextIn .65s ease both}
.hero-copy.active{display:block}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.pill{
  display:inline-flex;
  padding:5px 14px;
  border-radius:50px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  font-size:14px;
  font-weight:600;
}
.hero h1{font-size:clamp(42px,6vw,74px);line-height:1.05;margin:18px 0;font-weight:700}
.hero p{font-size:19px;max-width:650px;color:#f7e9eb}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.hero .btn-light{font-weight:700;color:var(--primary);border-radius:8px;padding:12px 22px}
.hero-controls{display:flex;align-items:center;gap:14px;margin-top:38px}
.hero-dots{display:flex;gap:8px;align-items:center}
.hero-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#fff;opacity:.65;cursor:pointer;transition:.25s}
.hero-dots button.active{width:28px;border-radius:20px;opacity:1}
.hero-arrow{width:40px;height:40px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s}
.hero-arrow:hover{background:#fff;color:var(--primary);transform:translateY(-2px)}


.quick-links{
  margin-top:-45px;
  position:relative;
  z-index:4;
}
.quick-card{
  background:#fff;
  box-shadow:var(--shadow);
  border-radius:15px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.quick-item{
  display:flex;align-items:center;gap:12px;
  padding:8px 10px;
  border-right:1px solid var(--line);
}
.quick-item:last-child{border-right:0}
.quick-item i{color:var(--primary);font-size:21px}
.quick-item small{display:block;color:#777}
.quick-item strong{font-size:17px}

.service-card{
  height:100%;
  background:#fff;
  border:1px solid #f0e9ea;
  border-radius:15px;
  padding:30px;
  box-shadow:0 8px 25px rgba(0,0,0,.045);
  transition:.25s;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.icon-box{
  width:54px;height:54px;border-radius:14px;
  background:var(--primary-soft);
  color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:25px;margin-bottom:18px;
}
.service-card h3{font-size:22px;color:var(--primary);margin-bottom:10px}
.service-card p{color:#666;margin:0}

.stats{background:linear-gradient(90deg,#8e0015,#c40e27);color:#fff}
.stat{padding:35px 15px;text-align:center;border-right:1px solid rgba(255,255,255,.2)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-size:42px;line-height:1;font-weight:700}
.stat span{font-size:16px}

.blood-groups{background:#fff8f7}
.group-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.group-card{
  background:#fff;border:1px solid #f0e1e3;border-radius:10px;
  padding:16px 8px;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,.04)
}
.group-card strong{display:block;color:var(--primary);font-size:22px}
.group-card span{font-size:13px;color:#777}

.split-section {
    background: linear-gradient(120deg,#fffaf5,#f1fbf4);
    overflow-x: hidden;
}
.split-img{border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.split-img img{width:100%;height:330px;object-fit:cover}
.decor-line{width:100px;height:5px;border-top:2px solid #d7a500;border-bottom:2px solid #13a15b;margin-bottom:25px}
.split-section h2{font-size:40px;line-height:1.2}
.split-section p{color:#666}

.quote-section{
  background:linear-gradient(90deg,#d5011a9b,#866b6e), url('../images/hero.jpg') center/cover no-repeat;;
  color:#fff;
}
.quote-section h2{font-size:46px;line-height:1.2}
.quote-section p{color:#f3e8e9}

.page-hero{
  padding:100px 0 95px;
  background:
    linear-gradient(90deg,rgba(65,0,8,.9),rgba(155, 0, 23, 0.207)),
    url('../images/page-header.jpg') center/cover no-repeat;
  color:#fff;
}
.page-hero h1{font-size:54px;margin:0 0 8px;font-weight:700}
.page-hero p{margin:0;color:#f5e6e8}

.about-image{border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.about-image img{width:100%;height:450px;object-fit:cover}
.check-list{padding:0;margin:25px 0;list-style:none}
.check-list li{margin:12px 0;font-size:17px}
.check-list i{color:#0b9a4b;margin-left:8px}

.service-detail{
  padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff;height:100%;
}
.service-detail .number{
  font-size:48px;color:rgba(180,0,27,.13);font-weight:700;line-height:1
}
.service-detail h3{font-size:25px;color:var(--primary)}

.gallery-card{
  overflow:hidden;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.07);
  cursor:pointer;
}
.gallery-card img{width:100%;height:270px;object-fit:cover;transition:.4s}
.gallery-card:hover img{transform:scale(1.05)}
.gallery-caption{padding:15px 18px;font-weight:600}

.contact-card{
  padding:30px;border-radius:16px;background:#fff;border:1px solid var(--line);height:100%;
}
.contact-icon{
  width:50px;height:50px;border-radius:12px;background:var(--primary-soft);
  color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px;
  margin-bottom:15px
}
.form-control,.form-select{
  border-radius:8px;border:1px solid #ddd;padding:12px 14px;
  font-family:inherit
}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(180,0,27,.1)}
.map-box{
  min-height:380px;border-radius:16px;overflow:hidden;background:#f7eeee;
}
.map-box iframe{width:100%;height:100%;min-height:380px;border:0}

.footer{
  background:#290006;color:#fff;padding-top:70px
}
.footer h5{font-size:20px;margin-bottom:20px}
.footer p,.footer li{color:#eadfe1}
.footer ul{padding:0;list-style:none}
.footer li{margin:7px 0}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:18px 0;margin-top:40px;color:#d6c8ca;text-align:center}

.mobile-donate{display:none}

@media(max-width:991.98px){
  .navbar .nav-link{padding:10px 0!important}
  .quick-card{grid-template-columns:repeat(2,1fr)}
  .quick-item:nth-child(2){border-right:0}
  .group-grid{grid-template-columns:repeat(4,1fr)}
  .hero{min-height:590px}
  .page-hero h1{font-size:45px}
}
@media(max-width:767.98px){
  .section-pad{padding:65px 0}
  .topbar .inner{justify-content:center;font-size:12px}
  .topbar .inner span:first-child{display:none}
  .hero{min-height:650px;background-position:62% center}
  .hero .content{padding:70px 0}
  .hero h1{font-size:44px}
  .hero p{font-size:17px}
  .quick-links{margin-top:-25px}
  .quick-card{grid-template-columns:1fr}
  .quick-item{border-right:0;border-bottom:1px solid var(--line)}
  .quick-item:last-child{border-bottom:0}
  .group-grid{grid-template-columns:repeat(2,1fr)}
  .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .stat strong{font-size:36px}
  .split-section h2,.quote-section h2{font-size:34px}
  .about-image img{height:330px}
  .page-hero{padding:75px 0}
  .page-hero h1{font-size:39px}
  .mobile-donate{display:block}
}


/* Supplied Blood Bank photo gallery */
.gallery-card{height:100%;display:flex;flex-direction:column}
.gallery-card img{aspect-ratio:4/3;height:auto;object-fit:cover;background:#f5f5f5}
.gallery-caption{margin-top:auto;min-height:54px}
@media (max-width:575.98px){.gallery-card img{aspect-ratio:16/10}.gallery-caption{min-height:auto}}



.marquee-wrapper {
    width: 100%;
    overflow: hidden;
    background: #ba0000;
    padding: 5px 0;
}

    .marquee-track {
        display: flex;
        width: max-content;
        animation: marquee 18s linear infinite;
    }

    .marquee-wrapper:hover .marquee-track {
        animation-play-state: paused;
    }

  .marquee-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 80px;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

  .marquee-btn {
    background: #580006;
    color: #fff;
    padding: 4px 18px 1px 18px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    /* line-height: 19px; */
}

    .marquee-btn:hover {
        background: #0056b3;
        color: #fff;
    }

    @keyframes marquee {
        from {
            transform: translateX(0);
        }

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