/* Base */
html, body { height: 100%; }
body {
  scroll-behavior: smooth;
  background: #f7f7f9;
}
img { max-width: 100%; height: auto; display: block; }

/* Card banners only (not avatars) */
.card .card-img-top { object-fit: cover; height: 180px; }

/* Hero */
.hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
  position: relative;
  color: white;
  background:
    linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
    url('/assets/img/test2.png') center/cover no-repeat;
}
.hero-inner { width: 100%; padding: 6rem 1rem 4rem; }
.hero h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: .5rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.hero p {
  max-width: 900px;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  margin: 0;
  text-shadow: 0 2px 6px rgba(0,0,0,.5);
}

/* Sections */
section { background: transparent; }
#about, #team, #publications, #funding, #contact { background: #ffffff; }

/* Team avatars: responsive circular, no overflow */
/* Team card images */
#team .card-img-top {
  border-radius: 50%;
  width: 160px;
  height: 160px;
  margin: 15px auto 10px; /* space above + centered */
  display: block;
  object-fit: cover;
}

@media (max-width: 360px) {
  #team .card img { width: 88px; height: 88px; }
}

/* Info block */
.info-block {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  padding: 1rem 1.5rem;
  margin: 2rem auto;
  max-width: 800px;
}

/* Publications links */
#publications a { color: black; text-decoration: none; }
#publications a:hover { color: #0d6efd; }

/* Card body links */
.card-body a { text-decoration: none; color: inherit; }
.card-body a:hover { color: #0d6efd; }

/* Keep LinkedIn blue */
.card-body a[href*="linkedin.com"] { color: #0a66c2; }
.card-body a[href*="linkedin.com"]:hover { color: #084182; }

/* Funding */
.funding-header { display: block; }
.funding-text {
  max-width: 800px;
  margin: 0;
  text-align: justify;
}
.funding-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 160px;
  max-width: 100%;
  margin-top: 12px;
}
@media (max-width: 768px) { .funding-logo { max-height: 120px; } }
@media (max-width: 480px) { .funding-logo { max-height: 100px; } }

/* Anchor scroll offset (match navbar height) */
html { scroll-padding-top: 20px; }


/* Equal-height team cards */
#team .row > [class^="col"] { display: flex; }          /* make columns equalize */
#team .card { display: flex; flex-direction: column; width: 100%; }
#team .card-img-top { flex: 0 0 auto; }                 /* image keeps size */
#team .card-body { display: flex; flex-direction: column; flex: 1 1 auto; }
#team .card-footer { margin-top: auto; }                /* footer sticks to bottom */


.news-card { max-width: 720px; margin: 2rem auto; padding: 1.5rem; border-radius: 14px; 
  box-shadow: 0 10px 24px rgba(0,0,0,.08); background:#fff }
.news-title { font-size: 2.4rem; margin: 0 0 .25rem }
.news-sub { margin: 0 0 1rem; color:#666 }
.timeline-wrap { position: relative; overflow: hidden; max-height: 520px; border-radius: 10px }
.timeline-wrap.fade-out::after { content:""; position:absolute; left:0; right:0; bottom:0; height:80px;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff) }
.news-btn { display:block; margin: 1rem auto 0; padding:.6rem 1rem; border:0; border-radius:10px;
  background:#3b82f6; color:#fff; font-weight:600; cursor:pointer }
.news-btn:focus { outline: 2px solid #3b82f6; outline-offset:2px }


