/* ── HOME PAGE ─────────────────────────────────────────── */
.home-hero{min-height:calc(100vh - var(--top-h) - var(--nav-h));display:flex;align-items:center;padding:60px 5% 80px;position:relative}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;width:100%;align-items:center}
.home-left{display:flex;flex-direction:column;gap:24px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:0.688rem;letter-spacing:1.5px;color:var(--g800);text-transform:uppercase;padding:6px 16px;border:1px solid var(--bdrm);border-radius:100px;background:var(--g50);width:fit-content}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--g600);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.35;transform:scale(1.5)}}
h1.hero-h1{font-family:var(--fd);font-size:clamp(36px,4.5vw,64px);font-weight:700;line-height:1.1;color:var(--t1)}
h1.hero-h1 em{font-style:normal;color:inherit}
.hero-sub{font-size:0.969rem;color:var(--t2);max-width:480px;line-height:1.85}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary{background:var(--white);color:var(--t1);border:1.5px solid var(--t1);padding:11.5px 26.5px;border-radius:var(--r);font-weight:600;font-size:0.875rem;text-decoration:none;transition:background 0.2s,color 0.2s,border-color 0.2s,transform 0.2s;cursor:pointer;font-family:var(--fb);display:inline-flex;align-items:center;gap:8px}
.btn-primary:hover{background:var(--g50);border-color:var(--g600);color:var(--g800);transform:translateY(-2px)}
.btn-outline{border:1.5px solid var(--bdrm);color:var(--t2);padding:12px 24px;border-radius:var(--r);font-weight:500;font-size:0.875rem;text-decoration:none;transition:all 0.2s;background:var(--white);cursor:pointer;font-family:var(--fb)}
.btn-outline:hover{border-color:var(--g600);color:var(--g800);background:var(--g50)}
.hero-stats{display:flex;gap:32px;margin-top:8px}
.stat{display:flex;flex-direction:column}
.stat-num{font-family:var(--fd);font-size:2rem;font-weight:700;color:var(--a600);line-height:1}
.stat-lbl{font-size:0.719rem;color:var(--tm);margin-top:4px}
.hero-right{display:flex;align-items:center;justify-content:center}
.hero-panel{width:100%;max-width:460px;aspect-ratio:1;position:relative;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(97,196,34,0.07) 0%,transparent 65%);border:1px solid var(--bdr)}
.hero-panel svg{width:86%;height:86%}
.ring{position:absolute;border-radius:50%;border:1px solid;animation:spin linear infinite;transform-origin:center}
.ring-1{width:100%;height:100%;border-color:rgba(99,153,34,0.12);animation-duration:40s}
.ring-2{width:78%;height:78%;border-color:rgba(186,117,23,0.1);animation-duration:25s;animation-direction:reverse}
.ring-3{width:56%;height:56%;border-color:rgba(99,153,34,0.1);animation-duration:18s}
@keyframes spin{to{transform:rotate(360deg)}}

/* MARQUEE */
.marquee-wrap{position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:13px 0;background:var(--white)}
.marquee-track{display:flex;gap:48px;white-space:nowrap;animation:marquee 25s linear infinite}
.marquee-track span{font-family:var(--fm);font-size:0.688rem;color:var(--tm);letter-spacing:0.5px}
.marquee-track .adot{color:var(--a600)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (min-width: 1200px) {
  .marquee-wrap{padding:18px 0}
  .marquee-track{gap:64px}
  .marquee-track span{font-size:1rem}
  .hero-sub{font-size:clamp(1rem, 1.05vw, 1.15rem)}
  .area-card h3{font-size:clamp(1.2rem, 1.5vw, 1.6rem)}
  .area-card p{font-size:clamp(1rem, 1.1vw, 1.1rem)}
}

/* RESEARCH AREAS (home) */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.area-card{padding:28px;border-radius:var(--rl);border:1px solid var(--bdr);background:var(--white);transition:transform 0.25s,box-shadow 0.25s}
.area-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(40,70,10,0.09)}
.area-icon{width:52px;height:52px;border-radius:12px;background:var(--g50);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.area-icon svg{width:26px;height:26px;stroke:var(--g700)}
.area-card h3{font-family:var(--fd);font-size:1.4rem;font-weight:700;color:var(--t1);margin:15px 0 10px}
.area-card p{font-size:1.05rem;line-height:1.7;color:#555}

@media (min-width: 1200px) {
  .area-grid{grid-template-columns:repeat(3,1fr);gap:28px}
  .area-card{padding:32px}
  .area-icon{width:56px;height:56px;margin-bottom:18px}
  .area-icon svg{width:28px;height:28px}
}

/* FUNDING STRIP */
.funding-strip{background:var(--g50);border:1px solid var(--bdr);border-radius:var(--rl);padding:24px 32px;margin-top:48px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.funding-strip p{font-family:var(--fm);font-size:0.688rem;color:var(--g700);letter-spacing:1.5px;text-transform:uppercase;flex-shrink:0}
.funding-badges{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.f-badge{padding:6px 14px;border-radius:100px;background:var(--white);border:1px solid var(--bdr);font-family:var(--fm);font-size:0.688rem;color:var(--g800);font-weight:600}

/* SOCIALS */
.social-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.social-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--bdr);background:var(--white);font-size:0.75rem;color:var(--t2);text-decoration:none;transition:all 0.2s}
.social-btn:hover{border-color:var(--g600);color:var(--g800);background:var(--g50)}
.social-btn svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}

/* HERO LAYOUT FOR SCREENSHOT MATCH */
.home-hero-new {
  min-height: auto;
  display: flex;
  align-items: center;
  padding: 24px 5% 12px 5%;
  position: relative;
  z-index: 1;
}
.home-grid-new {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  width: 100%;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.logo-container-new {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 24px;
}
.main-logo-new {
  width: 290px;
  height: 290px;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.main-logo-new:hover {
  transform: translateY(-4px);
}
.sub-logo-new {
  width: 140px;
  height: 140px;
  object-fit: contain;
  background: #ffffff;
  padding: 10px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}
.sub-logo-new:hover {
  transform: translateY(-4px);
}
.title-container-new {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.title-container-new h1 {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(26px, 3.8vw, 46px);
  font-weight: 500;
  color: var(--t1);
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  width: 100%;
}
.green-bar-new {
  width: 100%;
  height: 9px;
  background: linear-gradient(90deg, var(--a600) 0%, var(--g600) 100%);
  margin-top: 14px;
}

/* LATEST UPDATES SECTION */
.updates-section {
  background: var(--bg-card);
  border: 1px solid var(--bdr);
  border-radius: var(--rl);
  padding: 32px;
  margin-top: 32px;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}
[data-theme="dark"] .updates-section {
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
}
.updates-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--bdr);
  padding-bottom: 16px;
}
.updates-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 100px;
  background: var(--g50);
  border: 1px solid rgba(0, 89, 179, 0.15);
  font-family: var(--fm);
  font-size:0.688rem;
  color: var(--g700);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
[data-theme="dark"] .updates-badge {
  background: rgba(0, 89, 179, 0.1);
  color: var(--g200);
}
.pulse-dot {
  width: 8px;
  height: 8px;
  background-color: var(--a600);
  border-radius: 50%;
  position: relative;
  display: inline-block;
}
.pulse-dot::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: var(--a600);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  animation: pulse-ring 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@keyframes pulse-ring {
  0% { transform: scale(0.95); opacity: 1; }
  100% { transform: scale(2.5); opacity: 0; }
}
.updates-title {
  font-family: var(--fd);
  font-size:1.5rem;
  font-weight: 600;
  color: var(--t1);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.updates-title em {
  font-style: normal;
  color: var(--a600);
  background: linear-gradient(90deg, var(--g600), var(--a600));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.updates-ticker-container {
  height: 180px;
  overflow: hidden;
  position: relative;
}
/* Smooth gradient fade top and bottom to blend text in/out */
.updates-ticker-container::before,
.updates-ticker-container::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 24px;
  z-index: 2;
  pointer-events: none;
}
.updates-ticker-container::before {
  top: 0;
  background: linear-gradient(to bottom, var(--bg-card), transparent);
}
.updates-ticker-container::after {
  bottom: 0;
  background: linear-gradient(to top, var(--bg-card), transparent);
}
.updates-ticker {
  display: flex;
  flex-direction: column;
  gap: 20px;
  animation: scrollUpUpdates 25s linear infinite;
  padding: 12px 4px;
}
.updates-ticker-container:hover .updates-ticker {
  animation-play-state: paused;
}
.update-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 10px 14px;
  border-radius: var(--r);
  transition: background 0.2s, transform 0.2s;
  background: transparent;
}
.update-item:hover {
  background: var(--bg-section);
  transform: translateX(4px);
}
.update-bullet {
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, var(--g600), var(--a400));
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
  box-shadow: 0 0 8px rgba(37, 99, 235, 0.4);
}
.update-text {
  font-family: var(--fb);
  font-size:0.875rem;
  color: var(--t2);
  line-height: 1.6;
}
.update-text strong {
  color: var(--t1);
  font-weight: 600;
}
.update-text em {
  font-style: italic;
  color: var(--t1);
}
.update-link {
  color: var(--g600);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s;
  margin-left: 8px;
  display: inline-block;
}
.update-link:hover {
  color: var(--a600);
  text-decoration: underline;
}

@keyframes scrollUpUpdates {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

@media (max-width: 768px) {
  .updates-section {
    padding: 20px;
  }
  .updates-header {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 12px;
  }
  .update-text {
    font-size:0.813rem;
  }
}

@keyframes highlightGlow {
  0% { background-color: transparent; }
  30% { background-color: rgba(38, 127, 255, 0.25); }
  100% { background-color: transparent; }
}
.highlight-pulse {
  animation: highlightGlow 2s ease;
}

