const { useState, useEffect, useRef } = React;
const { motion, useScroll, useTransform, AnimatePresence } = window.Motion;

// --- DUMMY ICONS (SVG) ---
const ChevronDown = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"><path d="m6 9 6 6 6-6" /></svg>
);
const Molecule = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="3" /><circle cx="19" cy="5" r="2" /><circle cx="5" cy="5" r="2" /><circle cx="19" cy="19" r="2" /><circle cx="5" cy="19" r="2" /><path d="M14.5 10.5 17.5 6.5" /><path d="M9.5 10.5 6.5 6.5" /><path d="M14.5 13.5 17.5 17.5" /><path d="M9.5 13.5 6.5 17.5" /></svg>
);
const Brain = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round"><path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" /><path d="M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z" /><path d="M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4" /><path d="M17.599 6.5a3 3 0 0 0 .399-1.375" /><path d="M6.002 5.125A3 3 0 0 0 6.401 6.5" /><path d="M3.477 10.896a4 4 0 0 1 .585-.396" /><path d="M19.938 10.5a4 4 0 0 1 .585.396" /><path d="M6 18a4 4 0 0 1-1.967-.516" /><path d="M19.967 17.484A4 4 0 0 1 18 18" /></svg>
);
const Dna = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round"><path d="m8 3 8 18" /><path d="m16 3-8 18" /><path d="M10 7.5h4" /><path d="M9 12h6" /><path d="M10 16.5h4" /></svg>
);
const Search = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round"><circle cx="11" cy="11" r="8" /><path d="m21 21-4.3-4.3" /></svg>
);

// --- COMPONENTS ---

const SectionDivider = () => (
  <div className="diamond-divider w-full">
    <div className="diamond"></div>
  </div>
);

const NewsIcon = () => (
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"><path d="M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2" /><path d="M18 14h-8" /><path d="M15 18h-5" /><path d="M10 6h8v4h-8V6Z" /></svg>
);



const navLinks = [
  { label: 'About', href: '#about' },
  { label: 'Research', href: '#research' },
  { label: 'People', href: '#team' },
  { label: 'Publications', href: '#publications' },
  { label: 'Glimpse', href: '#glimpse' }
];

const Navbar = () => {
  const [scrolled, setScrolled] = useState(false);
  const [mobileOpen, setMobileOpen] = useState(false);

  useEffect(() => {
    const handleScroll = () => setScrolled(window.scrollY > 50);
    window.addEventListener('scroll', handleScroll);
    return () => window.removeEventListener('scroll', handleScroll);
  }, []);

  // Lock body scroll when mobile menu is open
  useEffect(() => {
    document.body.style.overflow = mobileOpen ? 'hidden' : '';
    return () => { document.body.style.overflow = ''; };
  }, [mobileOpen]);

  return (
    <>
      <motion.nav
        initial={{ y: -100 }}
        animate={{ y: 0 }}
        transition={{ duration: 0.8, ease: "easeOut" }}
        className={`fixed top-0 w-full z-50 transition-all duration-500 ${scrolled ? 'bg-bone/95 backdrop-blur-md shadow-[0_4px_20px_-10px_rgba(0,0,0,0.1)] py-3 md:py-4 border-b border-olive-200/20' : 'bg-transparent py-4 md:py-6'}`}
      >
        <div className="max-w-[90rem] mx-auto px-4 md:px-6 lg:px-10 flex justify-between items-center h-20">
          <a href="#" className="flex items-center group flex-shrink-0">
            {/* Logo */}
            <div className="relative flex items-center">
              <img src="Ashoka_University_logo_with_wordmark.png" alt="Ashoka University" className="h-10 md:h-12 lg:h-[3.25rem] object-contain" />
            </div>

            <div className="hidden md:block h-10 lg:h-[3.5rem] w-[1px] bg-gray-300 mx-4 lg:mx-6 group-hover:bg-gray-400 transition-colors duration-300"></div>

            {/* Lab Name */}
            <div className="hidden md:flex flex-col justify-center flex-shrink-0">
              <h1 className="font-sans text-[1.1rem] lg:text-[1.4rem] text-ink leading-[1.2] tracking-tight font-extrabold">
                Computational Disease<br />
                Genomics Group
              </h1>
            </div>
          </a>

          {/* Desktop Navigation Links */}
          <div className="hidden lg:flex flex-1 justify-end items-center space-x-6 xl:space-x-8 font-sans text-[0.7rem] xl:text-[0.75rem] font-bold tracking-[0.1em] uppercase text-gray-900">
            {navLinks.map((item) => (
              <a key={item.label} href={item.href} className="relative group py-2">
                <span className="group-hover:text-gold-600 transition-colors duration-300">{item.label}</span>
                <span className="absolute bottom-1 left-0 w-full h-[2px] bg-gold-400 transform scale-x-0 group-hover:scale-x-100 transition-transform duration-300 origin-left"></span>
              </a>
            ))}
            <a href="#footer" className="bg-[#0f1110] text-gray-100 px-6 xl:px-7 py-3 rounded-full shadow-md hover:bg-gray-800 transform hover:-translate-y-0.5 transition-all duration-300 ml-2 xl:ml-4 whitespace-nowrap">
              Contact Us
            </a>
          </div>

          {/* Mobile Hamburger Button */}
          <button
            onClick={() => setMobileOpen(!mobileOpen)}
            className="lg:hidden relative z-[60] w-10 h-10 flex flex-col items-center justify-center gap-1.5 rounded-lg hover:bg-olive-200/30 transition-colors duration-300"
            aria-label="Toggle menu"
          >
            <span className={`block w-5 h-[2px] bg-ink rounded-full transition-all duration-300 ${mobileOpen ? 'rotate-45 translate-y-[5px]' : ''}`}></span>
            <span className={`block w-5 h-[2px] bg-ink rounded-full transition-all duration-300 ${mobileOpen ? 'opacity-0 scale-0' : ''}`}></span>
            <span className={`block w-5 h-[2px] bg-ink rounded-full transition-all duration-300 ${mobileOpen ? '-rotate-45 -translate-y-[5px]' : ''}`}></span>
          </button>
        </div>
      </motion.nav>

      {/* Mobile Menu Overlay */}
      <AnimatePresence>
        {mobileOpen && (
          <>
            {/* Backdrop */}
            <motion.div
              initial={{ opacity: 0 }}
              animate={{ opacity: 1 }}
              exit={{ opacity: 0 }}
              transition={{ duration: 0.3 }}
              onClick={() => setMobileOpen(false)}
              className="fixed inset-0 bg-ink/40 backdrop-blur-sm z-[55] lg:hidden"
            />

            {/* Slide-in Panel */}
            <motion.div
              initial={{ x: '100%' }}
              animate={{ x: 0 }}
              exit={{ x: '100%' }}
              transition={{ type: 'spring', damping: 30, stiffness: 300 }}
              className="fixed top-0 right-0 h-full w-[75vw] max-w-[320px] bg-bone shadow-2xl z-[56] lg:hidden flex flex-col"
            >
              <div className="pt-28 px-8 flex-1 flex flex-col">
                <nav className="flex flex-col space-y-2">
                  {navLinks.map((item, idx) => (
                    <motion.a
                      key={item.label}
                      href={item.href}
                      onClick={() => setMobileOpen(false)}
                      initial={{ opacity: 0, x: 20 }}
                      animate={{ opacity: 1, x: 0 }}
                      transition={{ delay: idx * 0.06 }}
                      className="text-ink font-sans text-sm font-bold uppercase tracking-[0.15em] py-3 px-4 rounded-lg hover:bg-olive-200/30 hover:text-gold-700 transition-all duration-300 border-b border-olive-200/20"
                    >
                      {item.label}
                    </motion.a>
                  ))}
                </nav>

                <motion.a
                  href="#footer"
                  onClick={() => setMobileOpen(false)}
                  initial={{ opacity: 0, y: 10 }}
                  animate={{ opacity: 1, y: 0 }}
                  transition={{ delay: 0.35 }}
                  className="mt-8 bg-ink text-bone text-center font-sans text-xs font-bold uppercase tracking-[0.15em] py-4 rounded-full shadow-lg hover:bg-olive-800 transition-all duration-300"
                >
                  Contact Us
                </motion.a>
              </div>

              {/* Branding at bottom of drawer */}
              <div className="px-8 pb-8">
                <div className="border-t border-olive-200/30 pt-6">
                  <p className="font-serif text-sm text-muted italic">Computational Disease<br/>Genomics Group</p>
                  <p className="text-[0.6rem] text-muted/60 mt-2 uppercase tracking-wider">Ashoka University</p>
                </div>
              </div>
            </motion.div>
          </>
        )}
      </AnimatePresence>
    </>
  );
};

const Hero = () => {
  const { scrollY } = useScroll();
  const y1 = useTransform(scrollY, [0, 1000], [0, 400]);
  const opacity1 = useTransform(scrollY, [0, 600], [1, 0]);

  return (
    <section className="relative min-h-[100vh] flex flex-col justify-center overflow-hidden bg-bone">
      {/* Abstract Animated Glow Background */}
      <div className="absolute inset-0 overflow-hidden pointer-events-none">
        <div className="absolute -top-[20%] -left-[10%] w-[50%] h-[50%] rounded-full bg-sage-200/40 mix-blend-multiply blur-[120px] animate-blob"></div>
        <div className="absolute top-[20%] -right-[10%] w-[60%] h-[60%] rounded-full bg-gold-200/30 mix-blend-multiply blur-[120px] animate-blob" style={{ animationDelay: '2s' }}></div>
        <div className="absolute -bottom-[20%] left-[20%] w-[50%] h-[50%] rounded-full bg-olive-200/30 mix-blend-multiply blur-[120px] animate-blob" style={{ animationDelay: '4s' }}></div>

        {/* Subtle grid pattern */}
        <div className="absolute inset-0 bg-[url('data:image/svg+xml;utf8,<svg width=\\'40\\' height=\\'40\\' xmlns=\\'http://www.w3.org/2000/svg\\'><path d=\\'M0 0h40v40H0V0zm1 1h38v38H1V1z\\' fill=\\'%236B705C\\' fill-opacity=\\'0.03\\' fill-rule=\\'evenodd\\'/></svg>')] opacity-50"></div>

        {/* Small Decorative Dark Elements - Top Right */}
        <div className="absolute top-24 right-10 lg:right-20 z-0 hidden sm:flex gap-4 opacity-70">
          <div className="w-1 h-1 rounded-full bg-olive-800"></div>
          <div className="w-1.5 h-1.5 rounded-full bg-ink"></div>
          <div className="w-1 h-1 rounded-full bg-gold-700"></div>
        </div>
        <div className="absolute top-32 right-12 lg:right-32 z-0 hidden sm:block opacity-40 text-olive-800">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1"><path d="M12 2v20M2 12h20" /></svg>
        </div>
        <div className="absolute top-16 right-40 z-0 hidden sm:block w-2 h-2 rotate-45 border border-ink opacity-40"></div>
        <div className="absolute top-48 right-12 lg:right-20 z-0 hidden sm:grid grid-cols-5 gap-2 opacity-20">
          {[...Array(15)].map((_, i) => (
            <div key={i} className="w-[3px] h-[3px] rounded-full bg-ink"></div>
          ))}
        </div>
      </div>

      <div className="max-w-7xl mx-auto w-full px-4 md:px-6 lg:px-12 pt-8 md:pt-12 relative z-10">
        <div className="grid grid-cols-1 lg:grid-cols-12 gap-8 md:gap-12 items-center">

          {/* Hero Text */}
          <motion.div
            style={{ y: y1, opacity: opacity1 }}
            className="lg:col-span-7 z-20 pt-16"
          >
            <motion.h1
              initial={{ opacity: 0, y: 30 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ duration: 1, delay: 0.2, ease: 'easeOut' }}
              className="text-[3.2rem] sm:text-6xl md:text-8xl lg:text-[6.5rem] font-serif text-ink leading-[1.05] tracking-tight mb-6 md:mb-8"
            >
              Decoding<br />
              <span className="text-olive-600 italic font-light relative mr-4">
                genomes
                {/* Decorative underline */}
                <svg className="absolute w-full h-8 -bottom-3 left-0 text-gold-400 opacity-60 pointer-events-none" viewBox="0 0 100 20" preserveAspectRatio="none"><path d="M0,10 Q50,22 100,5" fill="none" stroke="currentColor" strokeWidth="3" strokeLinecap="round" /></svg>
              </span>
              for <br /> health
            </motion.h1>

            <motion.p
              initial={{ opacity: 0 }}
              animate={{ opacity: 1 }}
              transition={{ duration: 1, delay: 0.5 }}
              className="text-muted text-lg md:text-xl lg:text-2xl max-w-xl leading-relaxed font-light mb-6 md:mb-8"
            >
              {SITE_CONTENT.hero.subtitle}
            </motion.p>

            <motion.div
              initial={{ opacity: 0, y: 20 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ duration: 1, delay: 0.7 }}
              className="flex flex-wrap gap-5"
            >
              <a href="#about" className="inline-flex items-center gap-2 bg-ink text-bone font-medium rounded-full px-6 py-4 md:px-10 md:py-5 tracking-widest text-[0.65rem] md:text-[0.7rem] uppercase shadow-2xl hover:bg-olive-800 hover:shadow-none transition-all duration-300 transform hover:-translate-y-1">
                Explore The Lab
              </a>
            </motion.div>
          </motion.div>

          {/* Hero Visuals: DNA Overlay */}
          <motion.div
            initial={{ opacity: 0, scale: 0.9 }}
            animate={{ opacity: 1, scale: 1 }}
            transition={{ duration: 1.5, delay: 0.4, ease: "easeOut" }}
            className="lg:col-span-5 relative flex items-center justify-center w-full min-h-[400px] md:min-h-[500px] lg:min-h-[650px] h-full"
            style={{ transform: 'translateY(-80px)' }}
          >
            {/* New People DNA Illustration (Center offset to avoid overlap) */}
            <div
              className="absolute w-[130%] h-[130%] flex items-center justify-center pointer-events-none"
              style={{ zIndex: 5, transform: 'translateX(-12%) translateY(0%)' }}
            >
              <img
                src="imageye___-_imgi_2_population-health-SLCHC-scaled-2560x1280.jpg"
                alt="People in DNA structure"
                className="w-full h-auto object-contain mix-blend-multiply opacity-90 transition-all"
                style={{
                  WebkitMaskImage: 'radial-gradient(ellipse at center, black 50%, transparent 85%)',
                  maskImage: 'radial-gradient(ellipse at center, black 50%, transparent 85%)',
                  filter: 'contrast(1.05) saturate(1.1)'
                }}
              />
            </div>
            {/* DNA helix */}
            <div
              className="relative w-full h-full flex items-center justify-center pointer-events-none"
              style={{ zIndex: 15, transform: 'scale(2.4)', transformOrigin: 'center center', maxWidth: '1000px' }}
            >
              <img
                src="hero_genomics.png"
                alt="Genomics and molecular biology illustration"
                className="w-full h-auto object-contain mix-blend-multiply transition-all"
                style={{
                  opacity: 0.95,
                  WebkitMaskImage: 'radial-gradient(ellipse at center, black 40%, transparent 68%)',
                  maskImage: 'radial-gradient(ellipse at center, black 40%, transparent 68%)',
                  filter: 'contrast(1.15) saturate(1.1)'
                }}
              />
            </div>
          </motion.div>

        </div>
      </div>

      <motion.div
        animate={{ y: [0, 8, 0] }}
        transition={{ repeat: Infinity, duration: 2.5, ease: "easeInOut" }}
        className="absolute bottom-10 left-1/2 transform -translate-x-1/2 text-olive-400 z-20"
      >
        <ChevronDown />
      </motion.div>

      <style>{`
        @keyframes blob {
          0% { transform: translate(0px, 0px) scale(1); }
          33% { transform: translate(30px, -50px) scale(1.1); }
          66% { transform: translate(-20px, 20px) scale(0.9); }
          100% { transform: translate(0px, 0px) scale(1); }
        }
        .animate-blob {
          animation: blob 12s infinite cubic-bezier(0.4, 0, 0.2, 1);
        }
        .hide-scrollbar {
          -ms-overflow-style: none; /* IE and Edge */
          scrollbar-width: none; /* Firefox */
        }
        .hide-scrollbar::-webkit-scrollbar {
          display: none;
        }
      `}</style>
    </section>
  );
};

const About = () => (
  <section id="about" className="py-20 md:py-32 lg:py-40 px-4 md:px-6 lg:px-12 bg-cream relative overflow-hidden">
    {/* Subtle decorative background */}
    <div className="absolute top-0 left-0 w-[30%] h-[30%] bg-gold-200/20 rounded-full blur-[120px] pointer-events-none"></div>
    <div className="absolute bottom-0 right-0 w-[25%] h-[25%] bg-sage-200/25 rounded-full blur-[100px] pointer-events-none"></div>

    <SectionDivider />

    <div className="max-w-5xl mx-auto mt-8 md:mt-12">
      {/* Section label */}
      {/* Big heading */}
      <motion.h3
        initial={{ opacity: 0, y: 20 }}
        whileInView={{ opacity: 1, y: 0 }}
        viewport={{ once: true }}
        transition={{ delay: 0.1 }}
        className="text-3xl md:text-4xl lg:text-5xl font-serif text-ink text-center leading-tight mb-6"
      >
        Our <span className="text-olive-600 italic">Science</span>
      </motion.h3>

      {/* Gold accent divider */}
      <motion.div
        initial={{ scaleX: 0 }}
        whileInView={{ scaleX: 1 }}
        viewport={{ once: true }}
        transition={{ delay: 0.2, duration: 0.8 }}
        className="w-16 h-[2px] bg-gold-500 mx-auto mb-12 md:mb-16 origin-center"
      />

      {/* Paragraphs — each individually animated with proper spacing */}
      <div className="space-y-8 md:space-y-10">
        {SITE_CONTENT.about.paragraphs.map((para, idx) => {
          return (
            <motion.p
              key={idx}
              initial={{ opacity: 0, y: 20 }}
              whileInView={{ opacity: 1, y: 0 }}
              viewport={{ once: true }}
              transition={{ delay: 0.15 + idx * 0.1 }}
              className="text-lg md:text-xl lg:text-[1.35rem] text-olive-800 leading-[1.85] font-light text-left sm:text-justify"
            >
              {para}
            </motion.p>
          );
        })}
      </div>
    </div>
  </section>
);

// --- Research Area Expandable Card ---
const ResearchArea = ({ area, idx, isExpanded, onToggle }) => {
  const gradientAccents = [
    'from-gold-500/20 via-gold-300/10 to-transparent',
    'from-sage-600/20 via-sage-400/10 to-transparent',
    'from-olive-600/20 via-olive-400/10 to-transparent'
  ];
  const accentDots = ['bg-gold-500', 'bg-sage-600', 'bg-olive-600'];
  const hoverGlows = [
    'group-hover:shadow-[0_20px_60px_-15px_rgba(212,168,83,0.25)]',
    'group-hover:shadow-[0_20px_60px_-15px_rgba(126,153,128,0.25)]',
    'group-hover:shadow-[0_20px_60px_-15px_rgba(107,112,92,0.25)]'
  ];

  return (
    <motion.div
      initial={{ opacity: 0, y: 30 }}
      whileInView={{ opacity: 1, y: 0 }}
      viewport={{ once: true }}
      transition={{ delay: idx * 0.12, duration: 0.6 }}
      className="h-full"
    >
      <button
        onClick={onToggle}
        className="w-full group h-full text-left"
      >
        <div className={`relative h-full rounded-3xl p-7 md:p-9 transition-all duration-500 overflow-hidden flex flex-col
          bg-white/60 backdrop-blur-sm border border-white/80
          hover:bg-white/90 hover:border-gold-300/40 hover:-translate-y-1
          ${hoverGlows[idx]}
          ${isExpanded ? 'bg-white/95 border-gold-400/50 shadow-[0_20px_60px_-15px_rgba(107,112,92,0.2)] -translate-y-1 ring-1 ring-gold-400/20' : 'shadow-[0_8px_30px_-12px_rgba(107,112,92,0.08)]'}
        `}>

          {/* Gradient accent blob */}
          <div className={`absolute -top-16 -right-16 w-40 h-40 rounded-full bg-gradient-to-br ${gradientAccents[idx]} blur-2xl opacity-60 group-hover:opacity-100 transition-opacity duration-700 pointer-events-none`}></div>
          <div className={`absolute -bottom-10 -left-10 w-24 h-24 rounded-full bg-gradient-to-tr ${gradientAccents[idx]} blur-xl opacity-30 group-hover:opacity-60 transition-opacity duration-700 pointer-events-none`}></div>



          {/* Title */}
          <h4 className="font-serif text-2xl md:text-3xl text-ink leading-snug group-hover:text-olive-800 transition-colors duration-300 mb-3 relative z-10">
            {area.title}
          </h4>

          {/* Tagline */}
          <p className="text-sm md:text-base text-muted/70 font-light leading-relaxed mb-6 relative z-10">{area.tagline}</p>

          {/* Bottom: accent dot + Read more */}
          <div className="mt-auto flex items-center gap-3 relative z-10">
            <div className={`w-2 h-2 rounded-full ${accentDots[idx]} transition-transform duration-300 group-hover:scale-150`}></div>
            <span className={`text-[0.7rem] uppercase tracking-[0.15em] font-medium transition-colors duration-300 ${isExpanded ? 'text-gold-600' : 'text-olive-400 group-hover:text-gold-600'}`}>
              {isExpanded ? 'Collapse' : 'Read more'}
            </span>
            <div className={`ml-auto text-olive-300 group-hover:text-gold-500 transition-all duration-300 ${isExpanded ? 'rotate-180 text-gold-500' : ''}`}>
              <ChevronDown />
            </div>
          </div>

        </div>
      </button>
    </motion.div>
  );
};

const Research = () => {
  const [expandedIdx, setExpandedIdx] = useState(null);
  const researchAreas = SITE_CONTENT.research.areas;
  const diseaseAreas = SITE_CONTENT.research.diseaseAreas;
  return (
    <section id="research" className="py-20 md:py-32 lg:py-40 bg-sage-50 text-ink px-4 md:px-6 lg:px-12 relative overflow-hidden">
      {/* Decorative background */}
      <div className="absolute top-0 right-0 w-[35%] h-[35%] bg-sage-200/30 rounded-full blur-[120px] pointer-events-none"></div>
      <div className="absolute bottom-0 left-0 w-[25%] h-[25%] bg-gold-200/20 rounded-full blur-[100px] pointer-events-none"></div>

      <div className="max-w-7xl mx-auto relative z-10">
        <div className="text-center mb-14 md:mb-20">
          <h2 className="text-sm tracking-widest text-olive-800 font-serif uppercase mb-4">Focus Areas</h2>
          <h3 className="text-4xl md:text-5xl lg:text-7xl font-serif text-olive-800">Our Research</h3>
          <div className="mt-8 flex justify-center opacity-50"><SectionDivider /></div>
        </div>

        {/* Research Areas — 3 horizontal cards */}
        <div className="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8 mb-12 lg:mb-16">
          {researchAreas.map((area, idx) => (
            <ResearchArea
              key={idx}
              area={area}
              idx={idx}
              isExpanded={expandedIdx === idx}
              onToggle={() => setExpandedIdx(expandedIdx === idx ? null : idx)}
            />
          ))}
        </div>

        {/* Expanded content — notepad style, full width below the cards */}
        {expandedIdx !== null && (
          <motion.div
            key={expandedIdx}
            initial={{ opacity: 0, y: -10 }}
            animate={{ opacity: 1, y: 0 }}
            transition={{ duration: 0.4, ease: 'easeOut' }}
            className="mb-12 lg:mb-16"
          >
            <div className="relative bg-[#FFFEF9] border border-olive-200/40 rounded-2xl shadow-[0_15px_50px_-12px_rgba(107,112,92,0.15)] overflow-hidden">
              {/* Red margin line */}
              <div className="absolute left-10 md:left-14 top-0 bottom-0 w-[2px] bg-red-300/40 z-10 pointer-events-none"></div>
              
              {/* Notepad holes */}
              <div className="absolute left-3 md:left-5 top-8 flex flex-col gap-[2.1rem] z-10 pointer-events-none">
                {Array.from({ length: 12 }).map((_, i) => (
                  <div key={i} className="w-4 h-4 rounded-full bg-bone border-2 border-olive-200/50 shadow-inner"></div>
                ))}
              </div>

              <div className="pl-14 md:pl-20 pr-6 md:pr-10 lg:pr-14 py-8 md:py-10"
                style={{
                  backgroundImage: 'repeating-linear-gradient(transparent, transparent 2.05rem, #C2C5AA33 2.05rem, #C2C5AA33 2.1rem)',
                  backgroundPositionY: '0.6rem'
                }}
              >
                <h4 className="font-handwriting text-3xl md:text-4xl text-blue-700 mb-6 font-bold">{researchAreas[expandedIdx].title}</h4>
                {researchAreas[expandedIdx].paragraphs.map((para, pIdx) => (
                  <motion.p
                    key={pIdx}
                    initial={{ opacity: 0, y: 10 }}
                    animate={{ opacity: 1, y: 0 }}
                    transition={{ delay: pIdx * 0.08, duration: 0.4 }}
                    className="font-handwriting text-xl md:text-[1.35rem] text-blue-700 leading-[2.1rem] mb-4"
                  >
                    {para}
                  </motion.p>
                ))}
              </div>
            </div>
          </motion.div>
        )}

        {/* Disease Focus Areas — full width below */}
        <motion.div
          initial={{ opacity: 0, y: 20 }}
          whileInView={{ opacity: 1, y: 0 }}
          viewport={{ once: true }}
          transition={{ delay: 0.3 }}
        >
          <div className="bg-bone border border-olive-200/60 rounded-3xl p-8 shadow-[0_15px_40px_-15px_rgba(107,112,92,0.15)] relative overflow-hidden">
            

            {/* Subtle glow and abstract backdrop */}
            <div className="absolute -top-10 -right-10 w-48 h-48 bg-gold-200/20 rounded-full blur-[40px] pointer-events-none z-0"></div>

            <div className="relative z-10 flex justify-between">
              
              <div className="flex-grow pb-4">
                <h4 className="text-[2rem] font-serif text-olive-800 mb-2 leading-tight">
                  Current Disease<br />
                  <span className="italic text-gold-600">Focus Areas</span>
                </h4>
                
                <p className="text-[0.7rem] font-sans uppercase tracking-widest text-muted/60 mb-8">
                  Spanning cardiovascular, respiratory, metabolic & autoimmune domains
                </p>

                <div className="flex flex-wrap gap-4 md:gap-6">
                  {diseaseAreas.map((disease, idx) => (
                    <motion.div
                      key={idx}
                      initial={{ opacity: 0, x: 10 }}
                      whileInView={{ opacity: 1, x: 0 }}
                      viewport={{ once: true }}
                      transition={{ delay: 0.4 + idx * 0.1 }}
                      className="flex items-center gap-3 group cursor-default"
                    >
                      <div className="w-8 h-8 rounded-full bg-cream border border-gold-200/60 flex items-center justify-center shrink-0 group-hover:bg-gold-200/40 transition-colors duration-300">
                        <span className="w-2 h-2 rounded-full bg-orange-400 group-hover:scale-125 transition-transform duration-300"></span>
                      </div>
                      <span className="text-[1.05rem] text-olive-800 font-medium group-hover:text-ink transition-colors duration-300">{disease}</span>
                    </motion.div>
                  ))}
                </div>
              </div>

              {/* Bold rounded orange line on the right */}
              <div className="w-2 bg-orange-400 rounded-full shrink-0 ml-6 md:ml-8 my-1 shadow-sm"></div>
            </div>
          </div>
        </motion.div>
      </div>
    </section>
  );
};

// --- Premium Team Card (Photo-Forward, Editorial Magazine Style) ---
const TeamCard = ({ member, delay, idx, onSelect }) => {
  const hasPhoto = member.photo && member.photo.trim() !== '';

  const monogramGradients = [
    'linear-gradient(145deg, #1a1f16 0%, #2a3024 40%, #1a1f16 100%)',
    'linear-gradient(145deg, #1c2026 0%, #2a3038 40%, #1c2026 100%)',
    'linear-gradient(145deg, #221f1a 0%, #352f26 40%, #221f1a 100%)',
    'linear-gradient(145deg, #1a2220 0%, #263432 40%, #1a2220 100%)',
    'linear-gradient(145deg, #201a24 0%, #342a3a 40%, #201a24 100%)'
  ];

  return (
    <motion.div
      initial={{ opacity: 0, y: 40 }}
      whileInView={{ opacity: 1, y: 0 }}
      viewport={{ once: true }}
      transition={{ delay: delay || idx * 0.1, duration: 0.7, ease: [0.22, 1, 0.36, 1] }}
      className="w-full h-full"
    >
      <div
        onClick={onSelect}
        className="group relative h-[420px] md:h-[480px] rounded-[22px] overflow-hidden cursor-pointer border border-white/[0.06] hover:border-[#B89B5E]/40 shadow-[0_8px_30px_-8px_rgba(0,0,0,0.15)] hover:shadow-[0_25px_60px_-15px_rgba(0,0,0,0.35)] transition-all duration-500 hover:-translate-y-3"
      >
        {/* Full Photo Background */}
        <div className="absolute inset-0 w-full h-full">
          {hasPhoto ? (
            <img
              src={member.photo}
              alt={member.name}
              className="w-full h-full object-cover object-top transition-transform duration-700 ease-out group-hover:scale-[1.06]"
            />
          ) : (
            <div className="w-full h-full flex items-center justify-center relative" style={{ background: monogramGradients[idx % monogramGradients.length] }}>
              <div className="absolute inset-0 opacity-[0.04]" style={{ backgroundImage: 'radial-gradient(circle at 1px 1px, white 0.5px, transparent 0)', backgroundSize: '16px 16px' }}></div>
              <div className="absolute w-48 h-48 rounded-full bg-gold-400/8 blur-[70px] group-hover:bg-gold-400/15 transition-all duration-700"></div>
              <div className="relative w-28 h-28 rounded-full border border-white/[0.08] group-hover:border-[#B89B5E]/30 flex items-center justify-center transition-all duration-500 group-hover:scale-110">
                <span className="text-4xl font-serif text-white/20 group-hover:text-white/40 transition-colors duration-500 tracking-wider select-none">
                  {member.initials}
                </span>
              </div>
            </div>
          )}
        </div>

        {/* Gradient overlay */}
        <div className="absolute inset-0 bg-gradient-to-t from-black/90 via-black/20 via-[28%] to-transparent group-hover:from-black/85 transition-all duration-500"></div>

        {/* Gold top accent — animates on hover */}
        <div className="absolute top-0 left-0 right-0 h-[2px] z-10">
          <div className="h-full w-0 group-hover:w-full bg-gradient-to-r from-transparent via-[#B89B5E] to-transparent transition-all duration-700 ease-out"></div>
        </div>

        {/* Frosted bottom bar */}
        <div className="absolute bottom-0 left-0 right-0 z-10 backdrop-blur-sm bg-black/20 border-t border-white/[0.06] p-4">
          {/* Role & Education */}
          <div className="flex items-center gap-2 mb-1.5 flex-wrap">
            <span className="inline-block text-[0.65rem] font-semibold uppercase tracking-[0.15em] text-[#B89B5E] font-sans">
              {member.role}
            </span>
            {member.education && (
              <>
                <span className="w-1 h-1 rounded-full bg-[#B89B5E]/50 hidden sm:block"></span>
                <span className="inline-block text-[0.65rem] font-medium tracking-[0.1em] text-white/80 font-sans">
                  {member.education}
                </span>
              </>
            )}
          </div>

          {/* Name */}
          <h4 className="font-serif text-[1.2rem] md:text-[1.45rem] text-white font-medium leading-tight tracking-wide truncate">
            {member.name}
          </h4>

          {/* View profile — fades in on hover */}
          <div className="flex items-center gap-2 mt-3 opacity-0 -translate-y-1 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-500 ease-out">
            <div className="w-6 h-[1px] bg-[#B89B5E]/60"></div>
            <span className="text-[0.6rem] uppercase tracking-[0.2em] text-white/50 font-light">View Profile</span>
            <svg className="w-3 h-3 text-white/30 group-hover:translate-x-0.5 transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="2"><path strokeLinecap="round" strokeLinejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3" /></svg>
          </div>
        </div>
      </div>
    </motion.div>
  );
};

const Team = () => {
  const teamMembers = SITE_CONTENT.team;
  const [selectedMember, setSelectedMember] = useState(null);

  // Close modal on Escape key press
  useEffect(() => {
    const handleKeyDown = (e) => {
      if (e.key === 'Escape') setSelectedMember(null);
    };
    window.addEventListener('keydown', handleKeyDown);
    return () => window.removeEventListener('keydown', handleKeyDown);
  }, []);

  return (
    <section id="team" className="py-16 md:py-32 px-4 md:px-6 lg:px-12 bg-cream relative overflow-hidden">
      {/* Subtle decorative background */}
      <div className="absolute top-0 left-0 w-[30%] h-[30%] bg-sage-200/20 rounded-full blur-[120px] pointer-events-none"></div>
      <div className="absolute bottom-0 right-0 w-[25%] h-[25%] bg-gold-200/15 rounded-full blur-[100px] pointer-events-none"></div>

      <SectionDivider />
      <div className="max-w-[80rem] mx-auto mt-8 md:mt-16 relative z-10">
        <div className="text-center mb-10 md:mb-20">
          <h2 className="text-sm tracking-widest text-olive-600 font-serif uppercase mb-4">The People</h2>
          <h3 className="text-4xl md:text-5xl lg:text-7xl font-serif text-ink">Meet the Lab</h3>
          <motion.div
            initial={{ scaleX: 0 }}
            whileInView={{ scaleX: 1 }}
            viewport={{ once: true }}
            transition={{ delay: 0.2, duration: 0.8 }}
            className="w-16 h-[2px] bg-gold-500 mx-auto mt-8 origin-center"
          />
          <p className="text-muted/60 font-light text-sm mt-6 max-w-lg mx-auto">Researchers and students driving genomics innovation at Ashoka University</p>
        </div>

        {/* Grid layout - Adjusted to 4 columns for larger cards */}
        <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6 md:gap-8 lg:gap-10 py-6 items-stretch justify-center">
          {teamMembers.map((member, idx) => (
            <div key={idx} className="w-full">
              <TeamCard member={member} idx={idx} delay={idx * 0.1} onSelect={() => setSelectedMember(member)} />
            </div>
          ))}
        </div>
      </div>

      {/* --- Premium Profile Modal --- */}
      <AnimatePresence>
        {selectedMember && (
          <motion.div
            initial={{ opacity: 0 }}
            animate={{ opacity: 1 }}
            exit={{ opacity: 0 }}
            transition={{ duration: 0.3 }}
            onClick={() => setSelectedMember(null)}
            className="fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6 md:p-10 bg-black/60 backdrop-blur-lg overflow-y-auto"
          >
            <motion.div
              initial={{ scale: 0.94, opacity: 0, y: 30 }}
              animate={{ scale: 1, opacity: 1, y: 0 }}
              exit={{ scale: 0.94, opacity: 0, y: 30 }}
              transition={{ type: "spring", stiffness: 350, damping: 28 }}
              onClick={(e) => e.stopPropagation()}
              className="max-w-[1100px] w-full bg-[#111411] border border-white/[0.08] rounded-[28px] shadow-[0_40px_100px_-20px_rgba(0,0,0,0.8)] overflow-hidden flex flex-col md:flex-row relative my-auto max-h-[90vh] md:max-h-[85vh] min-h-[500px]"
            >
              {/* Left: Portrait (40%) */}
              <div className="w-full md:w-[40%] h-72 sm:h-80 md:h-auto relative bg-[#0a0d0a] min-h-[300px] md:min-h-[500px] shrink-0">
                {selectedMember.photo && selectedMember.photo.trim() !== "" ? (
                  <>
                    <img
                      src={selectedMember.photo}
                      alt={selectedMember.name}
                      className="w-full h-full object-cover object-top"
                    />
                    {/* Gradient fade into right panel */}
                    <div className="absolute inset-0 bg-gradient-to-r from-transparent via-transparent to-[#111411]/80 hidden md:block"></div>
                    <div className="absolute inset-0 bg-gradient-to-t from-[#111411] via-transparent to-transparent md:hidden"></div>
                  </>
                ) : (
                  <div className="w-full h-full flex items-center justify-center bg-gradient-to-br from-[#161916] to-[#1a1f1a]">
                    <div className="w-32 h-32 rounded-full border border-white/[0.06] flex items-center justify-center">
                      <span className="text-5xl font-serif text-white/15 tracking-wider">
                        {selectedMember.initials}
                      </span>
                    </div>
                  </div>
                )}
                {/* Gold shimmer divider */}
                <div className="hidden md:block absolute top-8 bottom-8 right-0 w-[1px] bg-gradient-to-b from-transparent via-[#B89B5E]/30 to-transparent"></div>
              </div>

              {/* Right: Content (60%) */}
              <div className="w-full md:w-[60%] p-7 sm:p-9 md:p-12 lg:p-14 flex flex-col justify-between relative overflow-y-auto">
                {/* Close */}
                <button
                  onClick={() => setSelectedMember(null)}
                  className="absolute top-5 right-5 w-9 h-9 rounded-full bg-white/[0.06] hover:bg-white/[0.12] border border-white/[0.08] text-white/50 hover:text-white flex items-center justify-center transition-all duration-300 z-10"
                  aria-label="Close modal"
                >
                  <svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="2">
                    <path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
                  </svg>
                </button>

                {/* Header */}
                <div className="mb-6 pr-12">
                  <div className="flex items-center gap-2 mb-2 flex-wrap">
                    <span className="text-[0.7rem] font-bold uppercase tracking-[0.2em] text-[#B89B5E] font-sans">
                      {selectedMember.role}
                    </span>
                    {selectedMember.education && (
                      <>
                        <span className="w-1 h-1 rounded-full bg-[#B89B5E]/50 hidden sm:block"></span>
                        <span className="text-[0.7rem] font-semibold tracking-[0.1em] text-white/70 font-sans">
                          {selectedMember.education}
                        </span>
                      </>
                    )}
                  </div>
                  <h3 className="text-3xl md:text-4xl font-serif text-white font-medium leading-tight tracking-wide mb-5">
                    {selectedMember.name}
                  </h3>
                  
                  {/* Tags */}
                  <div className="flex flex-wrap gap-2">
                    <span className="px-3 py-1 rounded-full border border-white/[0.08] text-[0.55rem] uppercase tracking-[0.15em] font-semibold text-white/40 bg-white/[0.03]">
                      Genomics
                    </span>
                    <span className="px-3 py-1 rounded-full border border-white/[0.08] text-[0.55rem] uppercase tracking-[0.15em] font-semibold text-white/40 bg-white/[0.03]">
                      Ashoka University
                    </span>
                  </div>
                </div>

                {/* Divider */}
                <div className="w-full h-px bg-gradient-to-r from-[#B89B5E]/30 via-white/[0.06] to-transparent mb-6"></div>

                {/* Bio */}
                <div className="flex-1 my-1 pr-3 overflow-y-auto max-h-[200px] sm:max-h-[240px] md:max-h-[280px]">
                  <h5 className="text-[0.6rem] uppercase tracking-[0.2em] font-bold text-white/30 mb-3">About</h5>
                  <p className="text-white/70 font-light text-[0.95rem] md:text-base leading-[1.85] tracking-wide whitespace-pre-line">
                    {selectedMember.desc}
                  </p>
                </div>

                {/* Social Connect */}
                <div className="pt-6 mt-6 border-t border-white/[0.06] flex flex-wrap items-center justify-between gap-4 shrink-0">
                  <span className="text-[0.6rem] tracking-[0.2em] uppercase font-bold text-white/30">
                    Connect
                  </span>
                  <div className="flex items-center gap-2.5">
                    {selectedMember.linkedin && (
                      <a
                        href={selectedMember.linkedin}
                        target="_blank"
                        rel="noreferrer"
                        className="w-9 h-9 rounded-full bg-white/[0.05] border border-white/[0.08] text-white/40 hover:text-white hover:bg-[#0A66C2] hover:border-[#0A66C2]/50 flex items-center justify-center transition-all duration-300"
                      >
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>
                      </a>
                    )}
                    {selectedMember.github && (
                      <a
                        href={selectedMember.github}
                        target="_blank"
                        rel="noreferrer"
                        className="w-9 h-9 rounded-full bg-white/[0.05] border border-white/[0.08] text-white/40 hover:text-white hover:bg-[#24292e] hover:border-white/20 flex items-center justify-center transition-all duration-300"
                      >
                        <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
                      </a>
                    )}
                    {selectedMember.twitter && (
                      <a
                        href={selectedMember.twitter}
                        target="_blank"
                        rel="noreferrer"
                        className="w-9 h-9 rounded-full bg-white/[0.05] border border-white/[0.08] text-white/40 hover:text-white hover:bg-[#1DA1F2] hover:border-[#1DA1F2]/50 flex items-center justify-center transition-all duration-300"
                      >
                        <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.936 9.936 0 0024 4.59z"/></svg>
                      </a>
                    )}
                  </div>
                </div>
              </div>
            </motion.div>
          </motion.div>
        )}
      </AnimatePresence>
    </section>
  );
};


// --- GlimpseDeck Component (Interactive Coverflow) ---
const GlimpseDeck = ({ items }) => {
  const validItems = items.filter(item => item && item.image && item.image.trim() !== "");
  // Start with the middle item in the center
  const [centerIdx, setCenterIdx] = React.useState(Math.floor((validItems.length - 1) / 2));

  if (validItems.length === 0) return null;

  return (
    <div className="relative w-full max-w-6xl mx-auto flex items-center justify-center h-[550px] md:h-[750px] lg:h-[850px]">
      {validItems.map((item, i) => {
        const spread = 15; // Rotation spread in degrees
        const offset = i - centerIdx; // Distance from the currently centered item
        const rotation = offset * spread;
        const isActive = i === centerIdx;
        
        // Active item is highest z-index, others fall behind based on distance from center
        const zIndex = 50 - Math.abs(offset);

        return (
          <div
            key={i}
            onClick={() => setCenterIdx(i)}
            className="absolute cursor-pointer transition-all duration-700 ease-[cubic-bezier(0.23,1,0.32,1)]"
            style={{
              zIndex: zIndex,
              transform: isActive 
                ? 'scale(1.15) translateY(-30px)' 
                : `translateX(${offset * 110}px) translateY(${Math.abs(offset) * 20}px) rotate(${rotation}deg) scale(${1 - Math.abs(offset) * 0.08})`,
            }}
          >
            {/* Polaroid Wrapper */}
            <div className={`bg-white p-4 md:p-5 pb-12 md:pb-16 rounded shadow-[0_15px_35px_-10px_rgba(0,0,0,0.25)] transition-shadow duration-500 border border-stone-200/50 flex flex-col ${isActive ? 'shadow-[0_30px_60px_-15px_rgba(0,0,0,0.45)]' : 'hover:shadow-[0_20px_45px_-10px_rgba(0,0,0,0.35)]'}`}>
              
              <div className="w-[300px] sm:w-[400px] md:w-[500px] lg:w-[600px] aspect-[4/3] bg-stone-100 overflow-hidden relative">
                <img
                  src={item.image}
                  alt={item.title || `Lab glimpse ${i + 1}`}
                  className="w-full h-full object-cover"
                  loading="lazy"
                />
              </div>
              
              {/* Text content under photo - hidden if empty */}
              {(item.title || item.description || item.date) && (
                <div className="w-full mt-2 md:mt-4 flex flex-col items-center justify-center">
                  {item.title && <h4 className="font-handwriting text-2xl md:text-3xl text-stone-800 font-bold tracking-wide text-center">{item.title}</h4>}
                  {item.description && <p className="font-serif italic text-xs md:text-sm text-stone-500 mt-1.5 text-center">{item.description}</p>}
                  {item.date && (
                    <div className="mt-2 md:mt-4 text-center">
                       <span className="font-handwriting font-bold text-xl md:text-3xl text-blue-800/90 inline-block -rotate-2">{item.date}</span>
                    </div>
                  )}
                </div>
              )}

            </div>
          </div>
        );
      })}
    </div>
  );
};

// --- Glimpse Section Component ---
const Glimpse = () => {
  const items = SITE_CONTENT.glimpse || [];
  
  return (
    <section id="glimpse" className="py-16 md:py-32 bg-[#F7F5F0] text-ink px-4 md:px-6 lg:px-12 relative overflow-hidden">
      <div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[50%] h-[50%] bg-gold-200/20 rounded-full blur-[140px] pointer-events-none"></div>

      <SectionDivider />
      <div className="max-w-7xl mx-auto relative z-10 mt-8 md:mt-16">
        <div className="text-center mb-12 md:mb-20">
          <h2 className="text-sm tracking-widest text-olive-600 font-serif uppercase mb-4">Gallery</h2>
          <h3 className="text-4xl md:text-5xl lg:text-7xl font-serif text-ink">Glimpse</h3>
          <div className="w-16 h-[2px] bg-gold-500 mx-auto mt-8"></div>
        </div>

        <div className="py-8 md:py-12">
          <GlimpseDeck items={items} />
        </div>
      </div>
    </section>
  );
};



// --- PUBLICATIONS DATA ---
const publicationsData = SITE_CONTENT.publications;

const Publications = () => {
  const [expandedCategory, setExpandedCategory] = useState(null);

  const toggleCategory = (idx) => {
    setExpandedCategory(expandedCategory === idx ? null : idx);
  };

  // Category accent colors for visual distinction
  const categoryColors = [
    { accent: '#D4A853', bg: 'bg-gold-500' },   // Cardiovascular
    { accent: '#7E9980', bg: 'bg-sage-600' },    // Brain
    { accent: '#6B705C', bg: 'bg-olive-600' },   // Structural
    { accent: '#A67D2D', bg: 'bg-gold-700' }     // Pathogen
  ];

  return (
    <section id="publications" className="py-16 md:py-32 px-4 md:px-6 lg:px-12 bg-cream relative overflow-hidden">
      <SectionDivider />

      {/* Subtle decorative background */}
      <div className="absolute top-0 right-0 w-[35%] h-[35%] bg-sage-200/30 rounded-full blur-[120px] pointer-events-none"></div>
      <div className="absolute bottom-0 left-0 w-[25%] h-[25%] bg-gold-200/20 rounded-full blur-[100px] pointer-events-none"></div>

      <div className="max-w-5xl mx-auto relative z-10 mt-8 md:mt-16">
        {/* Header */}
        <div className="text-center mb-14 md:mb-20">
          <motion.h3
            initial={{ opacity: 0, y: 20 }}
            whileInView={{ opacity: 1, y: 0 }}
            viewport={{ once: true }}
            className="text-4xl md:text-5xl lg:text-7xl font-serif text-ink mb-6"
          >Publications</motion.h3>

          {/* Broad area of research */}
          <motion.div
            initial={{ opacity: 0, y: 15 }}
            whileInView={{ opacity: 1, y: 0 }}
            viewport={{ once: true }}
            className="max-w-2xl mx-auto"
          >
            <p className="text-sm text-muted mt-4 font-light">
              {publicationsData.note}
            </p>
          </motion.div>
        </div>

        {/* Research Categories */}
        <div className="space-y-6">
          {publicationsData.categories.map((category, catIdx) => (
            <motion.div
              key={catIdx}
              initial={{ opacity: 0, y: 20 }}
              whileInView={{ opacity: 1, y: 0 }}
              viewport={{ once: true, margin: "-30px" }}
              transition={{ delay: catIdx * 0.1 }}
            >
              {/* Category Header â€” clickable to expand */}
              <button
                onClick={() => toggleCategory(catIdx)}
                className="w-full group"
              >
                <div className={`bg-bone hover:bg-white border border-olive-200/60 hover:border-gold-400/50 rounded-xl p-5 md:p-7 transition-all duration-400 hover:shadow-[0_12px_40px_-10px_rgba(107,112,92,0.15)] relative overflow-hidden flex items-center gap-4 md:gap-6 ${expandedCategory === catIdx ? 'bg-white border-gold-400/50 shadow-[0_12px_40px_-10px_rgba(107,112,92,0.15)]' : ''}`}>
                  {/* Left accent bar */}
                  <div className={`absolute left-0 top-0 bottom-0 w-[4px] ${categoryColors[catIdx].bg} rounded-l-xl transition-all duration-500`}></div>

                  <div className="shrink-0 pl-4"></div>
                  <div className="flex-grow text-left">
                    <h4 className="font-serif text-xl md:text-2xl text-ink leading-snug group-hover:text-olive-800 transition-colors">
                      {category.name}
                    </h4>
                    <p className="text-xs text-muted mt-1">{category.papers.length} publications</p>
                  </div>

                  {/* Expand/Collapse chevron */}
                  <div className={`text-olive-400 transition-transform duration-300 ${expandedCategory === catIdx ? 'rotate-180' : ''}`}>
                    <ChevronDown />
                  </div>
                </div>
              </button>

              {/* Expanded papers list */}
              {expandedCategory === catIdx && (
                <motion.div
                  initial={{ opacity: 0, height: 0 }}
                  animate={{ opacity: 1, height: 'auto' }}
                  transition={{ duration: 0.3 }}
                  className="mt-2 space-y-3 pl-2 md:pl-6"
                >
                  {category.papers.map((pub, pubIdx) => (
                    <motion.a
                      key={pubIdx}
                      href={`https://pubmed.ncbi.nlm.nih.gov/${pub.pmid}/`}
                      target="_blank"
                      rel="noopener noreferrer"
                      initial={{ opacity: 0, x: -10 }}
                      animate={{ opacity: 1, x: 0 }}
                      transition={{ delay: pubIdx * 0.04, duration: 0.3 }}
                      className="group block"
                    >
                      <div className="bg-bone hover:bg-white border border-olive-200/40 hover:border-gold-400/40 rounded-lg p-4 md:p-6 transition-all duration-400 hover:shadow-[0_8px_30px_-8px_rgba(107,112,92,0.12)] relative overflow-hidden">
                        {/* Left accent */}
                        <div className="absolute left-0 top-0 bottom-0 w-[2px] bg-olive-200/40 group-hover:bg-gold-500 transition-colors duration-500 rounded-l-lg"></div>

                        <div className="pl-3">
                          {/* Number + Journal badge */}
                          <div className="flex flex-wrap items-center gap-2 mb-2">
                            <span className="text-gold-600 font-serif text-sm font-semibold">{pub.num}.</span>
                            <span className="inline-flex items-center gap-1.5 bg-olive-800 text-bone text-[0.55rem] font-bold uppercase tracking-widest px-2.5 py-0.5 rounded-md">
                              <svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20" /></svg>
                              {pub.journal}
                            </span>
                            <span className="text-[0.6rem] text-muted">({pub.year})</span>
                            {pub.pmid && <span className="text-[0.55rem] text-olive-400">PMID: {pub.pmid}</span>}
                          </div>

                          {/* Title */}
                          <h5 className="font-serif text-[1rem] md:text-[1.1rem] text-ink leading-snug mb-2 group-hover:text-olive-800 transition-colors duration-300">
                            <span className="bg-gradient-to-r from-gold-400 to-gold-300 bg-[length:0%_2px] bg-left-bottom bg-no-repeat group-hover:bg-[length:100%_2px] transition-all duration-500">
                              {pub.title}
                            </span>
                          </h5>

                          {/* Authors */}
                          <p className="text-muted text-xs font-light leading-relaxed">
                            {pub.authors}
                          </p>
                        </div>

                        {/* External link icon */}
                        <div className="absolute top-4 right-4 opacity-0 group-hover:opacity-60 transition-all duration-300">
                          <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="text-olive-600 transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform duration-300">
                            <path d="M7 17L17 7" />
                            <path d="M7 7h10v10" />
                          </svg>
                        </div>
                      </div>
                    </motion.a>
                  ))}
                </motion.div>
              )}
            </motion.div>
          ))}
        </div>

        {/* News/Highlights Section */}
        <motion.div
          initial={{ opacity: 0, y: 20 }}
          whileInView={{ opacity: 1, y: 0 }}
          viewport={{ once: true }}
          className="mt-16"
        >
          <div className="text-center mb-10">
            <h4 className="text-sm tracking-widest text-gold-600 font-serif uppercase mb-3">In the News</h4>
            <h5 className="text-4xl md:text-5xl lg:text-7xl font-serif text-ink">News & Highlights</h5>
          </div>

          <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
            {publicationsData.news.map((item, idx) => (
              <motion.a
                key={idx}
                href={item.url}
                target="_blank"
                rel="noopener noreferrer"
                initial={{ opacity: 0, y: 10 }}
                whileInView={{ opacity: 1, y: 0 }}
                viewport={{ once: true }}
                transition={{ delay: idx * 0.05 }}
                className="group block"
              >
                <div className="bg-bone hover:bg-white border border-olive-200/50 hover:border-gold-400/40 rounded-xl p-5 transition-all duration-300 hover:shadow-lg relative overflow-hidden h-full">
                  <div className="absolute left-0 top-0 bottom-0 w-[3px] bg-gold-400/30 group-hover:bg-gold-500 transition-colors duration-500 rounded-l-xl"></div>
                  <div className="pl-4 flex items-start gap-3">
                    <span className="text-gold-500 shrink-0 mt-0.5">
                      <NewsIcon />
                    </span>
                    <p className="text-sm text-olive-800 font-light leading-relaxed group-hover:text-ink transition-colors">
                      {item.text}
                    </p>
                  </div>
                </div>
              </motion.a>
            ))}
          </div>
        </motion.div>

        {/* Bottom Google Scholar link */}
        <motion.div
          initial={{ opacity: 0, y: 20 }}
          whileInView={{ opacity: 1, y: 0 }}
          viewport={{ once: true }}
          className="text-center mt-16 md:mt-24"
        >
          <a
            href={publicationsData.scholarUrl}
            target="_blank"
            rel="noopener noreferrer"
            className="inline-flex items-center gap-3 bg-olive-800 hover:bg-gold-600 text-bone transition-all duration-300 px-8 py-4 rounded-full text-xs font-semibold uppercase tracking-widest shadow-xl transform hover:-translate-y-1"
          >
            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><circle cx="11" cy="11" r="8" /><path d="m21 21-4.3-4.3" /></svg>
            View All on Google Scholar
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg>
          </a>
        </motion.div>
      </div>
    </section>
  )
}

const Footer = () => (
  <footer id="footer" className="bg-[#0a0f0d] text-bone relative overflow-hidden">
    <div className="absolute top-0 left-1/2 -translate-x-1/2 w-[90%] h-px bg-gradient-to-r from-transparent via-gold-500/50 to-transparent"></div>
    <div className="absolute top-0 left-1/2 -translate-x-1/2 w-[40%] h-28 bg-gold-400/6 blur-[80px] pointer-events-none"></div>
    <div className="absolute bottom-0 right-0 w-[30%] h-[30%] bg-emerald-900/8 rounded-full blur-[100px] pointer-events-none"></div>
    <svg className="absolute inset-0 w-full h-full opacity-[0.025] pointer-events-none" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="dna-helix" x="0" y="0" width="60" height="80" patternUnits="userSpaceOnUse"><path d="M30 0 Q45 20 30 40 Q15 60 30 80" stroke="#C8A96E" strokeWidth="0.8" fill="none"/><path d="M30 0 Q15 20 30 40 Q45 60 30 80" stroke="#C8A96E" strokeWidth="0.8" fill="none"/><line x1="18" y1="10" x2="42" y2="10" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/><line x1="15" y1="20" x2="45" y2="20" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/><line x1="18" y1="30" x2="42" y2="30" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/><line x1="18" y1="50" x2="42" y2="50" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/><line x1="15" y1="60" x2="45" y2="60" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/><line x1="18" y1="70" x2="42" y2="70" stroke="#C8A96E" strokeWidth="0.4" opacity="0.5"/></pattern></defs><rect width="100%" height="100%" fill="url(#dna-helix)" /></svg>

    <div className="relative z-10">
      <div className="max-w-7xl mx-auto px-6 lg:px-12 pt-20 md:pt-24 pb-16">
        <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-12 lg:gap-16">

          <div className="flex flex-col">
            <img src="Ashoka_University_logo_with_wordmark.png" alt="Ashoka University Logo" className="h-20 md:h-28 object-contain mb-8 brightness-0 invert opacity-85 self-start" />
            <p className="font-serif text-xl md:text-2xl text-bone/70 italic leading-relaxed mb-8">Computational Disease<br />Genomics Group</p>
            <div className="w-16 h-px bg-gold-500/40 mb-8"></div>
            <div className="flex items-center gap-4 mt-auto">
              {[
                { label: "GitHub", href: "https://github.com/raosahab73r-svg", path: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" },
                { label: "Google Scholar", href: "#", path: "M5.242 13.769L0 9.5 12 0l12 9.5-5.242 4.269C17.548 11.249 14.978 9.5 12 9.5c-2.977 0-5.548 1.748-6.758 4.269zM12 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14z" },
                { label: "ORCID", href: "#", path: "M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM7.369 4.378c.525 0 .947.431.947.947s-.422.947-.947.947a.95.95 0 0 1-.947-.947c0-.525.422-.947.947-.947zm-.722 3.038h1.444v10.041H6.647V7.416zm3.562 0h3.9c3.712 0 5.344 2.653 5.344 5.025 0 2.578-2.016 5.025-5.325 5.025h-3.919V7.416zm1.444 1.303v7.444h2.297c3.272 0 4.022-2.484 4.022-3.722 0-2.016-1.284-3.722-4.097-3.722h-2.222z" },
              ].map((s, i) => (
                <a key={i} href={s.href} target="_blank" rel="noopener noreferrer" aria-label={s.label}
                  className="w-12 h-12 md:w-14 md:h-14 rounded-lg bg-white/[0.04] border border-white/[0.08] flex items-center justify-center text-bone/40 hover:text-gold-400 hover:bg-gold-500/10 hover:border-gold-500/25 hover:-translate-y-1 transition-all duration-400">
                  <svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor"><path d={s.path}/></svg>
                </a>
              ))}
            </div>
          </div>

          <div className="flex flex-col">
            <h3 className="text-[0.8rem] md:text-sm font-sans uppercase tracking-[0.25em] text-gold-500/70 font-semibold mb-8">Contact</h3>
            <a href={`mailto:${SITE_CONTENT.footer.email}`} className="group flex items-start gap-5 mb-8">
              <div className="w-12 h-12 md:w-14 md:h-14 rounded-lg bg-gold-500/8 border border-gold-500/15 flex items-center justify-center flex-shrink-0 mt-1 group-hover:bg-gold-500/15 group-hover:border-gold-500/30 transition-all duration-400">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className="text-gold-400"><rect width="20" height="16" x="2" y="4" rx="2" /><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" /></svg>
              </div>
              <div className="flex-1">
                <span className="text-sm md:text-base text-bone/50 block mb-1 font-light">Email</span>
                <span className="text-lg md:text-xl font-serif text-bone/90 group-hover:text-gold-400 transition-colors duration-300 break-all leading-relaxed">{SITE_CONTENT.footer.email}</span>
              </div>
            </a>
            <div className="flex items-start gap-5">
              <div className="w-12 h-12 md:w-14 md:h-14 rounded-lg bg-gold-500/8 border border-gold-500/15 flex items-center justify-center flex-shrink-0 mt-1">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className="text-gold-400"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z" /><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2" /><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2" /><path d="M10 6h4" /><path d="M10 10h4" /><path d="M10 14h4" /><path d="M10 18h4" /></svg>
              </div>
              <div className="flex-1">
                <span className="text-sm md:text-base text-bone/50 block mb-1 font-light">Lab</span>
                <span className="text-lg md:text-xl font-serif text-bone/90 leading-relaxed block">{SITE_CONTENT.footer.labName}</span>
              </div>
            </div>
          </div>

          <div className="flex flex-col">
            <h3 className="text-[0.8rem] md:text-sm font-sans uppercase tracking-[0.25em] text-gold-500/70 font-semibold mb-8">Visit Us</h3>
            <div className="flex items-start gap-5 mb-8">
              <div className="w-12 h-12 md:w-14 md:h-14 rounded-lg bg-gold-500/8 border border-gold-500/15 flex items-center justify-center flex-shrink-0 mt-1">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className="text-gold-400"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" /><circle cx="12" cy="10" r="3" /></svg>
              </div>
              <div className="flex-1">
                <span className="text-sm md:text-base text-bone/50 block mb-2 font-light">Location</span>
                <span className="text-xl md:text-2xl font-serif text-bone block mb-2">TSB 4th Floor</span>
                <span className="text-base md:text-lg font-serif text-bone/60 leading-relaxed block">
                  {SITE_CONTENT.footer.address.map((line, idx) => (
                    <React.Fragment key={idx}>{line}<br /></React.Fragment>
                  ))}
                </span>
              </div>
            </div>
            <a href="https://maps.google.com/?q=Ashoka+University+Sonipat" target="_blank" rel="noopener noreferrer"
              className="group inline-flex items-center gap-3 text-base md:text-lg text-bone/60 hover:text-orange-400 transition-all duration-300 font-light mt-2">
              <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="text-orange-500/70 group-hover:text-orange-400 transition-colors"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" /><circle cx="12" cy="10" r="3" /></svg>
              Open in Google Maps
              <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="opacity-50 group-hover:opacity-100 transition-opacity transform group-hover:translate-x-1"><path d="M7 17 17 7"/><path d="M7 7h10v10"/></svg>
            </a>
          </div>

        </div>
      </div>

      <div className="max-w-7xl mx-auto px-6 lg:px-12 pb-16">
        <div className="w-full h-[350px] md:h-[420px] rounded-2xl overflow-hidden border border-white/10 relative">
          <iframe 
            src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3493.0!2d77.1014487!3d28.9469886!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x390dae77eed4d41f%3A0x78a0bc68e5af467!2sAshoka%20University!5e0!3m2!1sen!2sin!4v1714488392000!5m2!1sen!2sin" 
            width="100%" height="100%" 
            style={{ border: 0 }} 
            allowFullScreen="" loading="lazy" referrerPolicy="no-referrer-when-downgrade"
            className="absolute inset-0 w-full h-full"
          ></iframe>
        </div>
      </div>

      <div className="max-w-[90rem] mx-auto px-6 lg:px-12 pb-12">
        <div className="w-full h-px bg-gradient-to-r from-transparent via-orange-500/40 to-transparent mb-8"></div>
        <div className="flex items-center justify-center">
          <p className="text-xs md:text-sm text-bone/50 font-light tracking-widest uppercase text-center">© 2026 Computational Disease Genomics Group — Ashoka University</p>
        </div>
      </div>
    </div>
  </footer>
);




const App = () => {
  return (
    <div className="overflow-hidden bg-bone relative min-h-screen">
      {/* Global Background Fading Circles */}
      <div className="fixed top-0 left-0 w-[60vw] h-[60vw] max-w-[800px] max-h-[800px] bg-sage-300 rounded-full mix-blend-multiply filter blur-[120px] opacity-40 -translate-x-1/2 -translate-y-1/2 pointer-events-none z-0"></div>
      <div className="fixed bottom-0 right-0 w-[70vw] h-[70vw] max-w-[900px] max-h-[900px] bg-gold-200 rounded-full mix-blend-multiply filter blur-[150px] opacity-30 translate-x-1/4 translate-y-1/4 pointer-events-none z-0"></div>
      <div className="fixed top-1/2 right-0 w-[40vw] h-[40vw] max-w-[600px] max-h-[600px] bg-olive-200 rounded-full mix-blend-multiply filter blur-[100px] opacity-30 translate-x-1/3 -translate-y-1/2 pointer-events-none z-0"></div>
      <div className="fixed bottom-0 left-0 w-[50vw] h-[50vw] max-w-[700px] max-h-[700px] bg-emerald-100 rounded-full mix-blend-multiply filter blur-[130px] opacity-20 -translate-x-1/3 translate-y-1/3 pointer-events-none z-0"></div>


      <div className="relative z-10 w-full h-full">
        <Navbar />
        <Hero />
        <About />
        <Research />
        <Team />
        <Publications />
        <Glimpse />
        <Footer />
      </div>
    </div>
  );
};

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);

