const { useState, useEffect, useRef, useCallback } = React;

/* ══════════════════════════════════════════
   ICONS
══════════════════════════════════════════ */
const I = {
  arrow:   () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M3 11L11 3M11 3H4.5M11 3V9.5" stroke="currentColor" strokeWidth="1.4" strokeLinecap="square"/></svg>,
  arrowR:  () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 7H12M12 7L8 3M12 7L8 11" stroke="currentColor" strokeWidth="1.4" strokeLinecap="square"/></svg>,
  arrowUp: () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M7 12V2M7 2L3 6M7 2L11 6" stroke="currentColor" strokeWidth="1.4" strokeLinecap="square"/></svg>,
  app:     () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><rect x="5" y="1" width="8" height="16" rx="1" stroke="currentColor" strokeWidth="1.2"/><circle cx="9" cy="14" r="0.8" fill="currentColor"/><path d="M7 3.5H11" stroke="currentColor" strokeWidth="1.2"/></svg>,
  web:     () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><rect x="1.5" y="3" width="15" height="12" stroke="currentColor" strokeWidth="1.2"/><path d="M1.5 7H16.5 M6 3V15" stroke="currentColor" strokeWidth="1.2"/></svg>,
  graphic: () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><path d="M9 1L17 16H1L9 1Z" stroke="currentColor" strokeWidth="1.2" strokeLinejoin="miter"/><circle cx="9" cy="11" r="2" stroke="currentColor" strokeWidth="1.2"/></svg>,
  seo:     () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><circle cx="8" cy="8" r="5" stroke="currentColor" strokeWidth="1.2"/><path d="M12 12L16 16 M6 8H10 M8 6V10" stroke="currentColor" strokeWidth="1.2" strokeLinecap="square"/></svg>,
  video:   () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><rect x="1.5" y="4" width="11" height="10" stroke="currentColor" strokeWidth="1.2"/><path d="M12.5 7L16.5 4V14L12.5 11Z" stroke="currentColor" strokeWidth="1.2" strokeLinejoin="miter"/></svg>,
  ai:      () => <svg width="20" height="20" viewBox="0 0 18 18" fill="none"><rect x="4" y="4" width="10" height="10" stroke="currentColor" strokeWidth="1.2"/><rect x="7" y="7" width="4" height="4" stroke="currentColor" strokeWidth="1.2"/><path d="M9 1V4M9 14V17M1 9H4M14 9H17M2 2L4 4M16 16L14 14M2 16L4 14M16 2L14 4" stroke="currentColor" strokeWidth="1.2"/></svg>,
  sun:     () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><circle cx="7" cy="7" r="3" stroke="currentColor" strokeWidth="1.3"/><path d="M7 1V2.5M7 11.5V13M1 7H2.5M11.5 7H13M2.5 2.5L3.6 3.6M10.4 10.4L11.5 11.5M2.5 11.5L3.6 10.4M10.4 3.6L11.5 2.5" stroke="currentColor" strokeWidth="1.3" strokeLinecap="round"/></svg>,
  moon:    () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M12 8.5C11.3 9.5 10.2 10 9 10C6.8 10 5 8.2 5 6C5 4.8 5.5 3.7 6.5 3C4 3.3 2 5.4 2 8C2 10.8 4.2 13 7 13C9.6 13 11.7 11 12 8.5Z" stroke="currentColor" strokeWidth="1.3" strokeLinejoin="miter"/></svg>,
  check:   () => <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M2 7L5.5 10.5L12 3.5" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round"/></svg>,
  globe:   () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="6.5" stroke="currentColor" strokeWidth="1.2"/><path d="M8 1.5C8 1.5 5.5 4.5 5.5 8C5.5 11.5 8 14.5 8 14.5M8 1.5C8 1.5 10.5 4.5 10.5 8C10.5 11.5 8 14.5 8 14.5M1.5 8H14.5" stroke="currentColor" strokeWidth="1.2"/></svg>,
  quote:   () => <svg width="28" height="20" viewBox="0 0 28 20" fill="none"><path d="M0 20V12C0 6 3 2.5 9 0l1.5 2C7 3.5 5.5 6 5.5 9H11V20H0ZM17 20V12C17 6 20 2.5 26 0l1.5 2C24 3.5 22.5 6 22.5 9H28V20H17Z" fill="currentColor" opacity=".15"/></svg>,
};

/* ══════════════════════════════════════════
   I18N HOOK
══════════════════════════════════════════ */
function useLang() {
  const [lang, setLang] = useState((window.i18n && window.i18n.lang) || "en");
  useEffect(() => {
    if (!window.i18n) return;
    return window.i18n.onChange(setLang);
  }, []);
  const t = useCallback((k) => (window.i18n ? window.i18n.t(k) : k), [lang]);
  return { lang, t, setLang: (l) => window.i18n && window.i18n.setLang(l) };
}

/* ══════════════════════════════════════════
   LOGO
══════════════════════════════════════════ */
function Logo({ className = "logo" }) {
  return (
    <a href="#top" className={className}>
      {/* Light mode: dark logo */}
      <img className="logo-img logo-light" src="assets/dreamit-logo-light.svg" alt="DreamIT — Build the Future"/>
      {/* Dark mode: full wordmark with BUILD THE FUTURE tagline */}
      <img className="logo-img logo-dark"  src="assets/dreamit-logo-full.png"  alt="DreamIT — Build the Future"/>
    </a>
  );
}

/* ══════════════════════════════════════════
   LANG SWITCHER
══════════════════════════════════════════ */
function LangSwitch() {
  const { lang, setLang } = useLang();
  const [open, setOpen] = useState(false);
  const ref = useRef(null);
  useEffect(() => {
    const onDoc = (e) => { if (ref.current && !ref.current.contains(e.target)) setOpen(false); };
    document.addEventListener("click", onDoc);
    return () => document.removeEventListener("click", onDoc);
  }, []);
  const labels = { en: { name: "EN", full: "English" }, ar: { name: "ع", full: "العربية" }, bn: { name: "বাং", full: "বাংলা" } };
  return (
    <div className={"lang-switch " + (open ? "open" : "")} ref={ref}>
      <button className="lang-switch-btn" onClick={(e) => { e.stopPropagation(); setOpen(o => !o); }} aria-label="Change language">
        <span>{labels[lang].name}</span><span className="caret"/>
      </button>
      <div className="lang-menu" role="menu">
        {["en","ar","bn"].map(l => (
          <button key={l} className={"lang-menu-item " + (lang===l?"active":"")} onClick={() => { setLang(l); setOpen(false); }}>
            <span>{labels[l].full}</span><span className="code">{l.toUpperCase()}</span>
          </button>
        ))}
      </div>
    </div>
  );
}

/* ══════════════════════════════════════════
   3D TILT
══════════════════════════════════════════ */
function use3DTilt(strength=6) {
  const ref = useRef(null);
  useEffect(() => {
    const el = ref.current; if (!el) return;
    let raf;
    const onMove = (e) => {
      const r = el.getBoundingClientRect();
      const rx = (0.5-(e.clientY-r.top)/r.height)*strength;
      const ry = ((e.clientX-r.left)/r.width-0.5)*strength;
      const glow = el.querySelector(".tilt-glow");
      if (glow) { glow.style.left=(e.clientX-r.left)+"px"; glow.style.top=(e.clientY-r.top)+"px"; }
      cancelAnimationFrame(raf);
      raf = requestAnimationFrame(() => { el.style.transform = `perspective(900px) rotateX(${rx}deg) rotateY(${ry}deg) translateZ(0)`; });
    };
    const onLeave = () => { cancelAnimationFrame(raf); el.style.transform=`perspective(900px) rotateX(0deg) rotateY(0deg)`; };
    el.addEventListener("pointermove", onMove); el.addEventListener("pointerleave", onLeave);
    return () => { el.removeEventListener("pointermove",onMove); el.removeEventListener("pointerleave",onLeave); cancelAnimationFrame(raf); };
  },[strength]);
  return ref;
}
function Tilt({children,strength=6,className="",style}) {
  const ref = use3DTilt(strength);
  return <div ref={ref} className={"tilt-3d "+className} style={style}><span className="tilt-glow"/><div className="tilt-content">{children}</div></div>;
}

/* ══════════════════════════════════════════
   TOP ANNOUNCEMENT BAR — Probashi Bondhu
══════════════════════════════════════════ */
function TopBar() {
  const [closed, setClosed] = useState(() => sessionStorage.getItem('ninetymins-topbar-closed') === '1');
  useEffect(() => {
    document.body.classList.toggle('has-topbar', !closed);
    return () => document.body.classList.remove('has-topbar');
  }, [closed]);
  if (closed) return null;
  const dismiss = (e) => {
    e.preventDefault(); e.stopPropagation();
    sessionStorage.setItem('ninetymins-topbar-closed','1');
    setClosed(true);
  };
  return (
    <a className="topbar topbar-nm" href="ninetymins" rel="noopener">
      <div className="topbar-inner container">
        <span className="topbar-badge">
          <span className="topbar-pulse"/>
          New Concern
        </span>
        <span className="topbar-brand">NinetyMins</span>
        <span className="topbar-msg">
          FIFA World Cup 2026 hub · live scores · every player · match history · news · guides. Built by Dream Group at <strong>ninetymins.com</strong>.
        </span>
        <span className="topbar-cta">
          Explore <span className="topbar-arrow">→</span>
        </span>
        <button className="topbar-close" onClick={dismiss} aria-label="Dismiss">
          <svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 2L10 10M10 2L2 10" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square"/></svg>
        </button>
      </div>
    </a>
  );
}

/* ══════════════════════════════════════════
   NAV
══════════════════════════════════════════ */
function Nav({ theme, setTheme }) {
  const { t } = useLang();
  const [menuOpen, setMenuOpen] = useState(false);
  const [scrolled, setScrolled] = useState(false);
  useEffect(() => {
    const onScroll = () => setScrolled(window.scrollY > 30);
    const onResize = () => { if (window.innerWidth > 880) setMenuOpen(false); };
    window.addEventListener("scroll", onScroll, {passive:true});
    window.addEventListener("resize", onResize);
    return () => { window.removeEventListener("scroll",onScroll); window.removeEventListener("resize",onResize); };
  }, []);
  useEffect(() => {
    document.body.classList.toggle('nav-open', menuOpen);
    return () => document.body.classList.remove('nav-open');
  }, [menuOpen]);
  const closeMenu = () => setMenuOpen(false);
  return (
    <header className={"nav"+(scrolled?" nav--scrolled":"")}>
      {menuOpen && <div className="nav-backdrop" onClick={closeMenu}/>}
      <div className="container nav-inner">
        <Logo/>
        <nav className={"nav-links"+(menuOpen?" open":"")}>
          <a href="services" onClick={closeMenu}>{t("nav.services")}</a>
          <a href="group" onClick={closeMenu}>Products</a>
          <a href="ai" onClick={closeMenu} style={{background:"linear-gradient(135deg,#06b6d4,#a855f7)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent",fontWeight:600}}>Dream AI</a>
          <a href="about" onClick={closeMenu}>{t("nav.about")}</a>
          <a href="blog" onClick={closeMenu}>{t("nav.blog")}</a>
          <a href="offer" onClick={closeMenu} style={{color:"var(--accent)",fontWeight:600}}>🇶🇦 Offer</a>
        </nav>
        <div className="nav-cta">
          <LangSwitch/>
          <button className="theme-toggle" onClick={()=>setTheme(theme==="dark"?"light":"dark")} aria-label="Toggle theme">
            {theme==="dark"?<I.sun/>:<I.moon/>}
          </button>
          <button className={"nav-hamburger"+(menuOpen?" open":"")} onClick={()=>setMenuOpen(o=>!o)} aria-label="Toggle menu">
            <span className="bar"/>
          </button>
          <a href="contact" className="btn btn-primary" style={{padding:"10px 20px"}}>
            {t("nav.start")} <span className="arrow"><I.arrow/></span>
          </a>
        </div>
      </div>
    </header>
  );
}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
function Hero({ accent }) {
  const Hero3D = window.Hero3D;
  const { t } = useLang();
  return (
    <section className="hero" id="top">
      <div className="hero-ambient"/>
      <div className="hero-ambient hero-ambient--2"/>
      <div className="container hero-inner">
        <div className="reveal">
          {/* Live badge */}
          <div className="hero-live-badge">
            <span className="hlb-dot"/>
            <span className="hlb-text">Qatar's #1 Tech Studio · Since 2011</span>
            <span className="hlb-sep">|</span>
            <span className="hlb-new">🔥 Qatar Offer — 1,000 QAR</span>
            <a href="offer" className="hlb-cta">See Offer →</a>
          </div>

          <h1 className="hero-title">
            {t("hero.title.l1")}<br/>
            <span className="stroke">{t("hero.title.l2a")}</span>{" "}
            <span className="stroke">{t("hero.title.l2b")}</span>
            <span className="accent">.</span>
          </h1>
          <p className="hero-sub">{t("hero.sub")}</p>
          <div className="hero-ctas">
            <a href="contact" className="btn btn-primary btn-lg">
              {t("hero.ctaStart")} <span className="arrow"><I.arrow/></span>
            </a>
            <a href="services" className="btn btn-lg">
              {t("hero.ctaExplore")} <span className="arrow"><I.arrowR/></span>
            </a>
          </div>
        </div>
        <div className="hero-visual reveal">
          {Hero3D ? <Hero3D accent={accent}/> : null}
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   STAT SLIDER
══════════════════════════════════════════ */
function StatSlider() {
  const stats = [
    { num: 15,  suffix: "+", label: "Years Active",      sub: "Est. 2011" },
    { num: 240, suffix: "+", label: "Projects Shipped",  sub: "4 Continents" },
    { num: 11,  suffix: "",  label: "Live Products",     sub: "SaaS · Mobile · AI" },
    { num: 60,  suffix: "+", label: "Senior Team",       sub: "Doha · Dhaka · Madrid" },
    { num: 4,   suffix: "",  label: "Countries",         sub: "QA · BD · ES · UK" },
  ];

  const [active, setActive]   = useState(0);
  const trackRef   = useRef(null);
  const countEls   = useRef([]);
  const sectionRef = useRef(null);
  const timerRef   = useRef(null);
  const animated   = useRef(false);

  /* Counter animation on scroll-into-view */
  useEffect(() => {
    const el = sectionRef.current; if (!el) return;
    const obs = new IntersectionObserver(([entry]) => {
      if (entry.isIntersecting && !animated.current) {
        animated.current = true;
        stats.forEach((s, i) => {
          const node = countEls.current[i]; if (!node) return;
          const end = s.num;
          const duration = 1400 + i * 60;
          const startTime = performance.now();
          const tick = (now) => {
            const p = Math.min((now - startTime) / duration, 1);
            const ease = 1 - Math.pow(1 - p, 3);
            node.textContent = Math.round(ease * end);
            if (p < 1) requestAnimationFrame(tick);
            else node.textContent = end;
          };
          setTimeout(() => requestAnimationFrame(tick), i * 100);
        });
      }
    }, { threshold: 0.3 });
    obs.observe(el);
    return () => obs.disconnect();
  }, []);

  /* Auto-advance (mobile) */
  const resetTimer = useCallback(() => {
    clearInterval(timerRef.current);
    timerRef.current = setInterval(() => setActive(a => (a + 1) % stats.length), 3200);
  }, []);
  useEffect(() => { resetTimer(); return () => clearInterval(timerRef.current); }, []);

  /* Sync scroll on mobile when active changes */
  useEffect(() => {
    const track = trackRef.current;
    if (!track || window.innerWidth >= 768) return;
    const cardW = track.scrollWidth / stats.length;
    track.scrollTo({ left: active * cardW, behavior: "smooth" });
  }, [active]);

  const onScroll = useCallback(() => {
    const track = trackRef.current; if (!track) return;
    resetTimer();
    const cardW = track.scrollWidth / stats.length;
    setActive(Math.min(Math.max(Math.round(track.scrollLeft / cardW), 0), stats.length - 1));
  }, [resetTimer]);

  return (
    <div className="ss-wrap reveal" ref={sectionRef}>
      <div className="ss-track" ref={trackRef} onScroll={onScroll}>
        {stats.map((s, i) => (
          <div
            className={"ss-card" + (active === i ? " ss-active" : "")}
            key={i}
            data-ghost={s.num + s.suffix}
            onClick={() => { setActive(i); resetTimer(); }}
          >
            <div className="ss-inner">
              <div className="ss-number-row">
                <span className="ss-num" ref={el => countEls.current[i] = el}>{s.num}</span>
                <span className="ss-suf">{s.suffix}</span>
              </div>
              <div className="ss-label">{s.label}</div>
              <div className="ss-sub">{s.sub}</div>
            </div>
            <div className="ss-bar"/>
          </div>
        ))}
      </div>
      <div className="ss-dots">
        {stats.map((_, i) => (
          <button
            key={i}
            className={"ss-dot" + (active === i ? " ss-dot-on" : "")}
            onClick={() => { setActive(i); resetTimer(); }}
            aria-label={"Stat " + (i + 1)}
          />
        ))}
      </div>
    </div>
  );
}

/* ══════════════════════════════════════════
   SAFAR — PRODUCT ANNOUNCEMENT
══════════════════════════════════════════ */
function SafarAnnouncement() {
  const features = ["Files & Docs","Payments","Airline Tickets","Hajj Packages","Agreements","AI Co-pilot"];
  return (
    <section className="safar-section">
      <div className="safar-ambient"/>
      <div className="container safar-inner">

        {/* ── LEFT: copy ── */}
        <div className="safar-left reveal">
          <div className="safar-badge">
            <span className="safar-badge-dot"/>
            New Product · Live Now
          </div>
          <div className="safar-logo-box">
            <img src="https://safar.mydreamit.dev/wordmark.png" alt="SAFAR" className="safar-wordmark"/>
          </div>
          <h2 className="safar-title">
            The AI Operating System<br/>
            for <em className="safar-em">Travel &amp; Visa Agencies</em>
          </h2>
          <p className="safar-body">
            Files, payments, tickets, agreements, Hajj packages, AI co-pilot —
            every operation your agency needs, in one calm and intelligent platform.
          </p>
          <div className="safar-features">
            {features.map(f => <span className="safar-feat" key={f}>{f}</span>)}
          </div>
          <div className="safar-actions">
            <a href="https://safar.mydreamit.dev/" target="_blank" rel="noopener noreferrer" className="btn btn-primary">
              Try Free <span className="arrow"><I.arrowR/></span>
            </a>
            <a href="https://safar.mydreamit.dev/" target="_blank" rel="noopener noreferrer" className="btn safar-btn-ghost">
              See how it works <span className="arrow"><I.arrowR/></span>
            </a>
          </div>
          <div className="safar-by">
            <span>A product by</span>
            <img className="logo-img logo-light safar-parent-logo" src="assets/dreamit-logo-light.svg" alt="DreamIT"/>
            <img className="logo-img logo-dark safar-parent-logo"  src="assets/dreamit-logo-full.png"  alt="DreamIT"/>
          </div>
        </div>

        {/* ── RIGHT: browser mockup ── */}
        <div className="safar-right reveal" style={{animationDelay:".18s"}}>
          <div className="safar-mockup">
            <div className="safar-mockup-glow"/>
            {/* browser chrome */}
            <div className="safar-mockup-head">
              <div className="smh-dots"><span/><span/><span/></div>
              <span className="smh-url">safar.mydreamit.dev</span>
            </div>
            {/* app body */}
            <div className="safar-mockup-body">
              <img src="https://safar.mydreamit.dev/wordmark.png" alt="SAFAR" className="safar-mockup-logo"/>
              <div className="safar-chips">
                <div className="safar-chip sc-green"><span className="sc-dot"/>Files synced · 2,841 docs</div>
                <div className="safar-chip sc-blue" style={{animationDelay:".3s"}}><span className="sc-dot"/>AI co-pilot active</div>
                <div className="safar-chip sc-amber" style={{animationDelay:".6s"}}><span className="sc-dot"/>3 Hajj packages ready</div>
              </div>
              <div className="safar-mockup-stats">
                <div className="sms-item"><span className="sms-n">∞</span><span className="sms-l">Files</span></div>
                <div className="sms-div"/>
                <div className="sms-item"><span className="sms-n">AI</span><span className="sms-l">Co-pilot</span></div>
                <div className="sms-div"/>
                <div className="sms-item"><span className="sms-n">1</span><span className="sms-l">Platform</span></div>
              </div>
            </div>
          </div>
        </div>

      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   LOGO MARQUEE — Sister Concerns + Products
══════════════════════════════════════════ */
function LogoMarquee() {
  // Dream Group products — each card links to its internal product page (which has "Visit Live →" CTA to subdomain)
  const products = [
    { src: "assets/products/ninetymins.com.svg",             name: "NinetyMins",       tag: "FIFA WC 2026 Hub",   url: "ninetymins",         cat: "Sports" },
    { src: "assets/products/safar.mydreamit.dev.png",        name: "SAFAR",            tag: "Travel AI OS",       url: "safar",              cat: "AI · Travel" },
    { src: "assets/products/probashi.mydreamit.dev.png",     name: "Probashi Bondhu",  tag: "Expat Companion",    url: "probashi-bondhu",    cat: "Mobile App" },
    { src: "assets/products/ai.mydreamit.dev.png",           name: "AI Studio",        tag: "Smart AI Platform",  url: "ai-studio",          cat: "AI Platform" },
    { src: "assets/products/dreamintcs.com.png",             name: "Dream International", tag: "Visa & Job Consultancy", url: "dream-international", cat: "Consultancy" },
    { src: "assets/products/workforce.mydreamit.dev.png",    name: "Dream Workforce",  tag: "AI HR & Manpower",   url: "dream-workforce",    cat: "HR-Tech" },
    { src: "assets/products/soulmatego.app.png",             name: "Soulmate Go",      tag: "Find Real Partners", url: "soulmate-go",        cat: "Lifestyle" },
    { src: "assets/products/bondon.app.png",                 name: "Bondhon",          tag: "Bengali Matrimony",  url: "bondhon",            cat: "Lifestyle" },
    { src: "assets/products/moneybag.mydreamit.dev.png",     name: "MoneyBag",         tag: "Digital Wallet",     url: "moneybag",           cat: "FinTech" },
    { src: "assets/products/countly.net.png",                name: "Countly",          tag: "Easiest Accounting", url: "countly",            cat: "Accounting" },
    { src: "assets/products/player.mydreamit.dev.png",       name: "Playr",            tag: "Local Sports App",   url: "playr",              cat: "Sports" },
    { src: "assets/products/probashiinfo.com.png",           name: "Probashi Info",    tag: "Expat Info Guide",   url: "probashi-info",      cat: "Media" },
    { src: "assets/products/banglatimeline.com.png",         name: "Bangla Timeline",  tag: "People's Voice News",url: "bangla-timeline",    cat: "Media" },
    { src: "assets/products/mydreamit.dev.png",              name: "DreamIT",          tag: "Build the Future",   url: "/",                  cat: "Parent" },
  ];

  const row1 = products;
  const row2 = [...products].reverse();
  const doubled1 = [...row1, ...row1];
  const doubled2 = [...row2, ...row2];

  const Card = ({ p, idx }) => (
    <a className="dp-card" href={p.url} key={idx} aria-label={`Learn about ${p.name}`}>
      <div className="dp-card-glow"/>
      <div className="dp-card-logo">
        <img src={p.src} alt={p.name} loading="lazy"/>
      </div>
      <div className="dp-card-body">
        <div className="dp-card-name">{p.name}</div>
        <div className="dp-card-tag">{p.tag}</div>
      </div>
      <div className="dp-card-cat">{p.cat}</div>
      <div className="dp-card-arrow">
        <svg width="13" height="13" viewBox="0 0 14 14" fill="none"><path d="M3 11L11 3M11 3H4.5M11 3V9.5" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square"/></svg>
      </div>
    </a>
  );

  return (
    <div className="lm-section dp-section">
      <div className="container">
        <div className="dp-header reveal">
          <span className="eyebrow eyebrow-dot">Dream Group · 13 Ventures</span>
          <h2 className="dp-title">One vision.<br/><span className="dp-title-accent">Thirteen ventures.</span></h2>
          <p className="dp-sub">From AI platforms to travel SaaS to expat apps — all building the future together.</p>
        </div>
      </div>

      <div className="dp-marquee-wrap">
        {/* Row 1 — slides left */}
        <div className="dp-marquee">
          <div className="dp-track dp-track-left">
            {doubled1.map((p,i) => <Card p={p} idx={i} key={`r1-${i}`}/>)}
          </div>
        </div>
        {/* Row 2 — slides right */}
        <div className="dp-marquee">
          <div className="dp-track dp-track-right">
            {doubled2.map((p,i) => <Card p={p} idx={i} key={`r2-${i}`}/>)}
          </div>
        </div>
        <div className="dp-fade-l"/>
        <div className="dp-fade-r"/>
      </div>

      <div className="container dp-footer">
        <div className="dp-cta-row">
          <a href="group" className="btn btn-primary dp-cta">
            Explore all 13 ventures <span className="arrow"><I.arrowR/></span>
          </a>
          <span className="dp-cta-hint">Click any logo to visit its product</span>
        </div>
      </div>
    </div>
  );
}

/* ══════════════════════════════════════════
   SERVICES — premium redesign
══════════════════════════════════════════ */
function BentoServices() {
  const services = [
    {
      num:"01", icon:<I.ai/>,      title:"AI Development",
      short:"LLM · RAG · Autonomous Agents",
      desc:"Custom AI systems built for production — from RAG-powered knowledge bases to autonomous agents that replace entire workflows.",
      tags:["LLM","RAG","AGENTS"],  href:"ai-development-company-qatar",  color:"#ff1a1a", featured:true,
    },
    { num:"02", icon:<I.app/>,     title:"App Development",  short:"iOS · Android · Flutter",         desc:"Native and cross-platform mobile apps shipped on time and on budget.",        tags:["iOS","ANDROID","FLUTTER"],       href:"app-development-company-qatar",         color:"#6366f1" },
    { num:"03", icon:<I.web/>,     title:"Web Development",  short:"Next.js · React · Laravel",       desc:"High-performance web applications and SaaS platforms that scale.",             tags:["NEXT.JS","REACT","LARAVEL"],      href:"web-development-company-qatar",         color:"#14b8a6" },
    { num:"04", icon:<I.seo/>,     title:"SEO & Marketing",  short:"Technical · On-Page · Content",   desc:"Compounding organic growth engineered with data, not guesswork.",               tags:["TECHNICAL","ON-PAGE","CONTENT"],  href:"seo-services-qatar",                    color:"#f59e0b" },
    { num:"05", icon:<I.video/>,   title:"Video Production", short:"Ad Films · Explainer · Brand",    desc:"Ad films and brand storytelling that stop the scroll and convert viewers.",     tags:["AD FILM","EXPLAINER","BRAND"],    href:"video-marketing-services-qatar",        color:"#ec4899" },
    { num:"06", icon:<I.graphic/>, title:"Graphic Design",   short:"Brand · UI/UX · Motion",          desc:"Brand identity, design systems and motion graphics that make you stand out.",  tags:["BRAND","UI/UX","MOTION"],         href:"graphic-design-company-qatar",          color:"#8b5cf6" },
  ];
  const [feat, ...rest] = services;
  return (
    <section className="s" id="services">
      <div className="container">
        <div className="section-head reveal">
          <div>
            <span className="eyebrow eyebrow-dot">SERVICES</span>
            <h2>What we<br/><span className="accent">build</span>.</h2>
          </div>
          <p className="lead">Six core disciplines — AI-native software to brand identity. Every engagement is end-to-end, owned in-house.</p>
        </div>

        {/* ── Featured: AI Development ── */}
        <a href={feat.href} className="svc-feat reveal" style={{"--sc": feat.color}}>
          <div className="svc-feat-left">
            <span className="svc-num-tag">{feat.num}</span>
            <div className="svc-feat-icon"><span>{feat.icon}</span></div>
            <h3 className="svc-feat-title">{feat.title}</h3>
            <p className="svc-feat-desc">{feat.desc}</p>
            <div className="svc-tags">
              {feat.tags.map(t=><span key={t} className="svc-tag">{t}</span>)}
            </div>
          </div>
          <div className="svc-feat-right">
            <div className="svc-feat-orb"/>
            <div className="svc-feat-arrow"><I.arrow/></div>
          </div>
          <div className="svc-feat-bar"/>
        </a>

        {/* ── 5 service cards ── */}
        <div className="svc-grid reveal">
          {rest.map((s,i)=>(
            <a href={s.href} className="svc-card" key={i} style={{"--sc": s.color}}>
              <div className="svc-card-head">
                <div className="svc-card-icon">{s.icon}</div>
                <span className="svc-num-tag">{s.num}</span>
              </div>
              <h3 className="svc-card-title">{s.title}</h3>
              <p className="svc-card-short">{s.short}</p>
              <p className="svc-card-desc">{s.desc}</p>
              <div className="svc-tags" style={{marginTop:"auto",paddingTop:16}}>
                {s.tags.map(t=><span key={t} className="svc-tag">{t}</span>)}
              </div>
              <div className="svc-card-cta">Explore <I.arrowR/></div>
              <div className="svc-card-glow"/>
              <div className="svc-card-bar"/>
            </a>
          ))}
        </div>

        <div className="svc-bottom-cta reveal">
          <a href="services" className="btn btn-primary">All Services <span className="arrow"><I.arrow/></span></a>
          <a href="contact" className="btn">Start a Project <span className="arrow"><I.arrowR/></span></a>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   CLIENTS LOGOS
══════════════════════════════════════════ */
function Clients() {
  const clients = [
    { abbr:"QF",  name:"Qatar Foundation",    sector:"Education · QA",   color:"#6366f1" },
    { abbr:"WQ",  name:"Woqod",               sector:"Energy · QA",       color:"#f59e0b" },
    { abbr:"QIB", name:"QIIB",                sector:"Banking · QA",      color:"#14b8a6" },
    { abbr:"AL",  name:"Al Meera",            sector:"Retail · QA",       color:"#ec4899" },
    { abbr:"OR",  name:"Ooredoo Qatar",       sector:"Telecom · QA",      color:"#ff1a1a" },
    { abbr:"HMC", name:"Hamad Medical",       sector:"Healthcare · QA",   color:"#22c55e" },
    { abbr:"GP",  name:"Grameenphone",        sector:"Telecom · BD",      color:"#f97316" },
    { abbr:"BB",  name:"Brac Bank",           sector:"Finance · BD",      color:"#8b5cf6" },
    { abbr:"PR",  name:"PRAN Group",          sector:"FMCG · BD",         color:"#ef4444" },
    { abbr:"AC",  name:"ACI Limited",         sector:"Healthcare · BD",   color:"#3b82f6" },
    { abbr:"BG",  name:"Bashundhara Grp",     sector:"Real Estate · BD",  color:"#a78bfa" },
    { abbr:"bK",  name:"bKash",               sector:"Fintech · BD",      color:"#e40066" },
  ];
  return (
    <section className="cli-section">
      <div className="container">
        <div className="cli-head reveal">
          <span className="eyebrow eyebrow-dot">TRUSTED BY</span>
          <h2 style={{marginTop:14,fontSize:"clamp(28px,3.5vw,44px)"}}>
            Brands that <span className="accent">trust</span> us.
          </h2>
          <p className="lead" style={{marginTop:12,maxWidth:520}}>
            240+ businesses across Qatar, Bangladesh, Spain and the UK have shipped with DreamIT.
          </p>
        </div>
        <div className="cli-grid reveal">
          {clients.map((c,i)=>(
            <div className="cli-card" key={i} style={{"--cc":c.color}}>
              <div className="cli-abbr">{c.abbr}</div>
              <div>
                <div className="cli-name">{c.name}</div>
                <div className="cli-sector">{c.sector}</div>
              </div>
            </div>
          ))}
        </div>
        <div className="cli-note reveal">
          <span>+228 more clients across 4 continents</span>
          <a href="demo" className="btn" style={{marginLeft:24}}>See Portfolio <span className="arrow"><I.arrowR/></span></a>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   DREAM GROUP SHOWCASE
══════════════════════════════════════════ */
function DreamGroupShowcase() {
  const companies = [
    { logo:"assets/dream-international-logo.png", name:"Dream International",  cat:"Manpower & Overseas Employment", founded:"2017", color:"#f59e0b" },
    { logo:"assets/dream-workforce-logo.png",     name:"Dream Workforce",       cat:"HR Management & Staffing",       founded:"2021", color:"#10b981" },
    { logo:"assets/dream-abroad-logo.png",        name:"Dream Abroad",          cat:"Travel, Visa & Tourism",         founded:"2021", color:"#6366f1" },
    { logo:"assets/4uai-logo.png",                name:"4UAI",                  cat:"AI-Powered SaaS Platform",       founded:"2023", color:"#ff1a1a" },
    { logo:"assets/soulmate-logo.png",            name:"Soulmate Go",           cat:"Social & Matchmaking App",       founded:"2022", color:"#ec4899" },
    { logo:"assets/bondon-logo.png",              name:"Bondhon",               cat:"Community & Communication",      founded:"2022", color:"#8b5cf6" },
    { logo:"assets/countly-logo.png",             name:"Countly",               cat:"Analytics & Insights Platform",  founded:"2023", color:"#14b8a6" },
    { logo:"assets/probashi-info-logo.png",       name:"Probashi Info",         cat:"Diaspora Information Portal",    founded:"2021", color:"#f97316" },
    { logo:"assets/moneybag-logo.png",            name:"MoneyBag",              cat:"Fintech & Remittance",           founded:"2023", color:"#22c55e" },
    { logo:"assets/playr-logo.png",               name:"Playr",                 cat:"Sports & Recreation Platform",  founded:"2023", color:"#3b82f6" },
    { logo:"assets/bangla-timeline-logo.png",     name:"Bangla Timeline",       cat:"News & Media Platform",          founded:"2022", color:"#ef4444" },
    { logo:"assets/probashi-bhondu-logo.png",     name:"Probashi Bondhu",       cat:"Migrant Worker Support",        founded:"2023", color:"#a78bfa" },
  ];
  return (
    <section className="s dg-section" id="group">
      <div className="container">
        <div className="section-head reveal">
          <div>
            <span className="eyebrow eyebrow-dot">DREAM GROUP</span>
            <h2>One group.<br/><span className="accent">Many ventures</span>.</h2>
          </div>
          <div>
            <p className="lead">Dream Group is a 15-year-old conglomerate with 13 subsidiaries spanning tech, manpower, fintech, and media. DreamIT is the technology engine at its core.</p>
            <a href="group" className="btn" style={{marginTop:24,display:"inline-flex"}}>
              Full Group Overview <span className="arrow"><I.arrowR/></span>
            </a>
          </div>
        </div>
        <div className="dg-grid reveal">
          {companies.map((c,i) => (
            <div className="dg-card" key={i} style={{"--brand":c.color}}>
              <div className="dg-card-top">
                <div className="dg-logo-wrap">
                  <img src={c.logo} alt={c.name} loading="lazy"/>
                </div>
                <span className="dg-founded">{c.founded}</span>
              </div>
              <div className="dg-name">{c.name}</div>
              <div className="dg-cat">{c.cat}</div>
              <div className="dg-bar"/>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   WHY DREAMIT
══════════════════════════════════════════ */
function WhyDreamIT() {
  const reasons = [
    { num:"01", icon:"🏗️", title:"Products, Not Just Deliverables", desc:"We've shipped 11 live products ourselves — SaaS, mobile, AI. We know the difference between code that ships and code that scales." },
    { num:"02", icon:"⚡", title:"Full-Stack Ownership",             desc:"Design, engineering, AI and DevOps under one roof. No vendor handoffs, no scope blame, one team accountable for everything." },
    { num:"03", icon:"🌍", title:"15 Years, Zero Shortcuts",         desc:"Since 2011, 240+ clients across Qatar, Bangladesh, Spain and beyond — all built on repeat business and referrals." },
    { num:"04", icon:"🤖", title:"AI-Native From Day One",           desc:"We don't bolt AI onto projects. We architect systems around intelligence — RAG, agents, fine-tuning, and custom LLM pipelines." },
    { num:"05", icon:"📦", title:"End-to-End Delivery",              desc:"Strategy → Design → Build → Launch → Support. One team, one contract, zero handoffs, complete accountability." },
    { num:"06", icon:"🔐", title:"Enterprise Security Standards",    desc:"SOC 2, ISO 27001, HIPAA-aware development. Your data and your clients' data is treated with the utmost care." },
  ];
  return (
    <section className="s" id="why">
      <div className="container">
        <div className="section-head reveal">
          <div>
            <span className="eyebrow eyebrow-dot">WHY DREAMIT</span>
            <h2>The studio that<br/><span className="accent">ships</span>.</h2>
          </div>
          <p className="lead">We're operators who've built our own products. That changes everything about how we build yours.</p>
        </div>
        <div className="why-grid-new reveal">
          {reasons.map((r,i) => (
            <div className="why-card-new" key={i}>
              <div className="why-card-top">
                <span className="why-icon">{r.icon}</span>
                <span className="why-num-new">{r.num}</span>
              </div>
              <h3 className="why-title-new">{r.title}</h3>
              <p className="why-desc-new">{r.desc}</p>
            </div>
          ))}
        </div>
        {/* Big stat */}
        <div className="why-big-row reveal">
          <div className="why-big-stat-wrap">
            <div className="why-big-num">240<span className="accent">+</span></div>
            <div className="why-big-label">Projects shipped across 4 continents in 15 years</div>
          </div>
          <div className="why-big-divider"/>
          <div className="why-big-checks">
            {["Qatar-based HQ in Doha","60+ senior operators","11 live in-market products","Design to deployment in one team","Arabic, Bengali & English support","Agile with weekly demos"].map((c,i) => (
              <div className="why-check" key={i}><span className="wc-icon"><I.check/></span>{c}</div>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════ */
function Testimonials() {
  const items = [
    { quote:"DreamIT delivered our AI-powered HR platform in 8 weeks. The code quality and speed were unlike anything we'd seen from a regional agency.", name:"Ahmed Al-Rashid", role:"CEO, Dream Workforce · Qatar", init:"A" },
    { quote:"They built Probashi Info from idea to launch in 12 weeks. The team speaks our language — literally. Arabic, Bengali, English. They get it.", name:"Tariqul Islam", role:"Founder, Probashi Info · Bangladesh", init:"T" },
    { quote:"Our web app went from mockup to live in 6 weeks. DreamIT's design team is world-class. We've worked with studios in London — DreamIT is better.", name:"Maria González", role:"Product Lead, TechStart · Madrid", init:"M" },
  ];
  return (
    <section className="s testi-section">
      <div className="container">
        <div className="section-head reveal">
          <div>
            <span className="eyebrow eyebrow-dot">CLIENT VOICES</span>
            <h2>What clients<br/><span className="accent">say</span>.</h2>
          </div>
          <p className="lead">Real results from real clients. We let the work speak.</p>
        </div>
        <div className="testi-grid reveal">
          {items.map((t,i) => (
            <div className="testi-card" key={i}>
              <div className="testi-q-icon">"</div>
              <p className="testi-quote">{t.quote}</p>
              <div className="testi-author">
                <div className="testi-avatar">{t.init}</div>
                <div>
                  <div className="testi-name">{t.name}</div>
                  <div className="testi-role">{t.role}</div>
                </div>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   PORTFOLIO TEASER
══════════════════════════════════════════ */
function PortfolioTeaser() {
  const demos = [
    { label:"Restaurant", emoji:"🍽️", color:"#ef4444" },
    { label:"Law Firm",   emoji:"⚖️", color:"#f59e0b" },
    { label:"Real Estate",emoji:"🏠", color:"#10b981" },
    { label:"Hospital",   emoji:"🏥", color:"#6366f1" },
    { label:"SaaS",       emoji:"💻", color:"#8b5cf6" },
    { label:"Fashion",    emoji:"👗", color:"#ec4899" },
    { label:"Hotel",      emoji:"🏨", color:"#14b8a6" },
    { label:"E-commerce", emoji:"🛒", color:"#f97316" },
  ];
  return (
    <section className="s pt-section">
      <div className="container">
        <div className="pt-header reveal">
          <div>
            <span className="eyebrow eyebrow-dot">PORTFOLIO · 26+ DEMOS</span>
            <h2>Built for every<br/><span className="accent">industry</span>.</h2>
            <p style={{color:"var(--text-dim)",marginTop:16,fontSize:16,maxWidth:480,lineHeight:1.7}}>
              26+ live demo websites across every major industry — see exactly what your business could look like online.
            </p>
            <a href="demo" className="btn btn-primary" style={{marginTop:28,display:"inline-flex"}}>
              Browse All 26 Demos <span className="arrow"><I.arrow/></span>
            </a>
          </div>
          <div className="pt-grid">
            {demos.map((d,i) => (
              <div className="pt-card" key={i} style={{"--demo-color":d.color}}>
                <span className="pt-em">{d.emoji}</span>
                <span className="pt-label">{d.label}</span>
              </div>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   QATAR OFFER BANNER
══════════════════════════════════════════ */
function QatarOfferBanner() {
  return (
    <section className="s offer-banner-section">
      <div className="container reveal">
        <div className="offer-banner">
          <div className="ob-glow"/>
          <div className="ob-content">
            <div className="ob-badge">🇶🇦 Qatar Exclusive · Limited to 100 Spots</div>
            <h2 className="ob-title">Complete Online Presence<br/>for Just <span style={{color:"var(--accent)"}}>1,000 QAR</span></h2>
            <p className="ob-sub">Website · Logo · Business Card · 5 Social Posters · SEO · Google Business · Domain · 1-Year Hosting & Support. Everything. One price.</p>
            <div className="ob-actions">
              <a href="offer" className="btn btn-primary btn-lg">
                See Full Offer <span className="arrow"><I.arrow/></span>
              </a>
              <div className="ob-spots">
                <span className="obs-dot"/>
                <span>Only <strong>37</strong> spots remaining</span>
              </div>
            </div>
          </div>
          <div className="ob-price-block">
            <div className="ob-old">Market value 3,500+ QAR</div>
            <div className="ob-price"><span className="ob-cur">QAR</span>1,000</div>
            <div className="ob-save">You save 73%</div>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   MINI CTA
══════════════════════════════════════════ */
function MiniCTA() {
  return (
    <section className="s mini-cta-section" id="start">
      <div className="container reveal">
        <div className="mini-cta">
          <div className="mini-cta-text">
            <span className="eyebrow eyebrow-dot">START BUILDING</span>
            <h2>Ready to ship<br/>something <span className="accent">real</span>?</h2>
            <p className="mini-cta-sub">Book a free 30-min strategy call. We'll tell you exactly what we'd build and how long it takes.</p>
          </div>
          <div className="mini-cta-actions">
            <a href="contact" className="btn btn-primary">Book a Free Call <span className="arrow"><I.arrow/></span></a>
            <a href="about"   className="btn">Meet the Team <span className="arrow"><I.arrowR/></span></a>
            <a href="https://wa.me/97430043532" target="_blank" className="btn" style={{background:"#25d366",borderColor:"#25d366",color:"#fff"}}>
              💬 WhatsApp Us
            </a>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
function Footer() {
  const { t } = useLang();
  return (
    <footer className="footer">
      <div className="container">
        <div className="footer-grid">
          <div className="footer-brand">
            <Logo/>
            <p style={{marginTop:16,fontSize:14,lineHeight:1.7}}>{t("foot.brand.tag")}</p>
            <div className="foot-socials">
              <a href="https://wa.me/97430043532" target="_blank" className="foot-social" title="WhatsApp">💬</a>
              <a href="mailto:hello@mydreamit.dev" className="foot-social" title="Email">✉️</a>
              <a href="https://mydreamit.dev/group" className="foot-social" title="Dream Group">🏢</a>
            </div>
          </div>
          <div className="footer-col">
            <div className="footer-col-title">{t("foot.products")}</div>
            <ul>
              <li><a href="https://4uai.io" target="_blank" rel="noopener">4UAI</a></li>
              <li><a href="https://soulmatego.app" target="_blank" rel="noopener">Soulmate Go</a></li>
              <li><a href="https://bondhon.app" target="_blank" rel="noopener">Bondhon</a></li>
              <li><a href="https://countly.net" target="_blank" rel="noopener">Countly</a></li>
              <li><a href="https://probashiinfo.com" target="_blank" rel="noopener">Probashi Info</a></li>
            </ul>
          </div>
          <div className="footer-col">
            <div className="footer-col-title">{t("foot.group")}</div>
            <ul>
              <li><a href="group">Dream Group</a></li>
              <li><a href="#">Dream International</a></li>
              <li><a href="#">Dream Workforce</a></li>
              <li><a href="#">Dream Abroad</a></li>
              <li><a href="#">MoneyBag</a></li>
            </ul>
          </div>
          <div className="footer-col">
            <div className="footer-col-title">{t("foot.studio")}</div>
            <ul>
              <li><a href="services">{t("nav.services")}</a></li>
              <li><a href="demo">Portfolio</a></li>
              <li><a href="offer">🇶🇦 Qatar Offer</a></li>
              <li><a href="about">{t("nav.about")}</a></li>
              <li><a href="blog">{t("nav.blog")}</a></li>
              <li><a href="contact">{t("nav.contact")}</a></li>
            </ul>
          </div>
          <div className="footer-col">
            <div className="footer-col-title">OFFICES</div>
            <ul>
              <li><a href="#">📍 Doha, Qatar</a></li>
              <li><a href="#">📍 Dhaka, Bangladesh</a></li>
              <li><a href="#">📍 Madrid, Spain</a></li>
            </ul>
            <div style={{marginTop:20}}>
              <div className="footer-col-title">CONTACT</div>
              <a href="mailto:hello@mydreamit.dev" style={{fontSize:13,color:"var(--text-dim)"}}>hello@mydreamit.dev</a>
            </div>
          </div>
        </div>
        <div className="footer-bottom">
          <span>{t("foot.copy")}</span>
          <span className="live">{t("foot.ops")}</span>
          <span>SOC 2 &middot; ISO 27001 &middot; HIPAA</span>
        </div>
      </div>
    </footer>
  );
}

/* ══════════════════════════════════════════
   BACK TO TOP
══════════════════════════════════════════ */
function BackToTop() {
  const [visible, setVisible] = useState(false);
  useEffect(() => {
    const onScroll = () => setVisible(window.scrollY > 400);
    window.addEventListener("scroll", onScroll, {passive:true});
    return () => window.removeEventListener("scroll", onScroll);
  }, []);
  return (
    <button className={"back-to-top"+(visible?" visible":"")} onClick={() => window.scrollTo({top:0,behavior:"smooth"})} aria-label="Back to top">
      <I.arrowUp/>
    </button>
  );
}

/* ══════════════════════════════════════════
   APP
══════════════════════════════════════════ */
function App() {
  const [theme, setTheme] = useState(() => localStorage.getItem('dreamit-theme') || 'dark');
  const [accent] = useState("#ff1a1a");
  useEffect(() => {
    document.body.setAttribute("data-theme", theme);
    localStorage.setItem('dreamit-theme', theme);
  }, [theme]);
  return (
    <>
      <TopBar/>
      <Nav theme={theme} setTheme={setTheme}/>
      <Hero accent={accent}/>
      <StatSlider/>
      <SafarAnnouncement/>
      <LogoMarquee/>
      <BentoServices/>
      <WhyDreamIT/>
      <Testimonials/>
      <PortfolioTeaser/>
      <QatarOfferBanner/>
      <MiniCTA/>
      <Footer/>
      <BackToTop/>
    </>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<App/>);
