// OriginalSections.jsx — v3
// visible/color props on Nav (App controls) + clean ghost morph (bell curve opacity)

// ── MenuOverlay ───────────────────────────────────────────────────────────────
const MenuOverlay = ({ open, onClose, onNavigate, t, hasCart, onCartClick }) => {
  // 스크롤 순서: About → News → Product → Idea → Interactive → Contact → (Cart)
  const links = [
    { label: t("navAbout"),   key: "about" },
    { label: t("navNews"),    key: "news" },
    { label: t("navProduct"), key: "product-section" },
    { label: t("navIdea"),    key: "idea" },
    { label: t("interactiveLabel") || "INTERACTIVE", key: "game" },
    { label: t("navContact"), key: "contact" },
    // hasCart=true 이면 장바구니가 비어있음 → 메뉴에 CART 추가
    ...(hasCart ? [{ label: t("navCart") || "CART", key: "cart" }] : []),
  ];
  return (
    <div style={{
      position:"fixed", inset:0, zIndex:9999, background:"#fff",
      overflowY: "auto",
      opacity: open?1:0, visibility: open?"visible":"hidden",
      transition:"opacity 0.4s cubic-bezier(0.16,1,0.32,1), visibility 0.4s",
    }}>
      <button onClick={onClose} style={{
        position:"fixed", top:24, right:32, background:"none", border:"none",
        cursor:"pointer", width:48, height:48, display:"flex", alignItems:"center",
        justifyContent:"center", color:"#1a1a1a", transition:"transform 0.3s",
        zIndex:10000,
      }}
      onMouseEnter={e=>e.currentTarget.style.transform="rotate(90deg)"}
      onMouseLeave={e=>e.currentTarget.style.transform="rotate(0)"}
      >
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
          <path d="M18 6L6 18M6 6l12 12"/>
        </svg>
      </button>
      <nav style={{
        textAlign:"center", padding:"72px 24px 64px", minWidth:0,
        minHeight:"100vh",
        display:"flex", flexDirection:"column",
        alignItems:"center", justifyContent:"center",
      }}>
        <ul style={{ listStyle:"none", margin:0, padding:0 }}>
          {links.map((l, i) => (
            <li key={l.key} style={{
              opacity: open?1:0,
              transform: open?"translateY(0)":"translateY(20px)",
              transition:`opacity 0.4s ease-out ${0.1+i*0.05}s, transform 0.4s ease-out ${0.1+i*0.05}s`,
            }}>
              <a href="#" onClick={(e)=>{e.preventDefault();onNavigate?.(l.key);onClose();}}
                style={{
                  display:"inline-block", fontSize:"clamp(24px,4.5vw,40px)",
                  fontWeight:500, lineHeight:1.3, color:"#1a1a1a",
                  textDecoration:"none", padding:"10px 0",
                  fontFamily:"'Inter',-apple-system,sans-serif",
                  transition:"color 0.3s, transform 0.3s",
                }}
                onMouseEnter={e=>{e.currentTarget.style.color="#000";e.currentTarget.style.transform="translateX(10px)";}}
                onMouseLeave={e=>{e.currentTarget.style.color="#1a1a1a";e.currentTarget.style.transform="translateX(0)";}}
              >{l.label}</a>
            </li>
          ))}
        </ul>
        <div style={{
          marginTop:48, opacity:open?1:0, transform:open?"translateY(0)":"translateY(20px)",
          transition:"opacity 0.4s ease-out 0.4s, transform 0.4s ease-out 0.4s",
        }}>
          <a href="mailto:apachi@post-dot-service.com" style={{
            display:"block", fontSize:16, color:"#737373",
            textDecoration:"none", marginBottom:24,
            fontFamily:"'Inter',-apple-system,sans-serif",
          }}>apachi@post-dot-service.com</a>
          <div style={{ display:"flex", justifyContent:"center", gap:32 }}>
            <a href="https://www.instagram.com/postdotservice/" target="_blank" rel="noopener noreferrer" style={{
              fontSize:10, fontWeight:500, letterSpacing:"0.2em",
              color:"#737373", textDecoration:"none", textTransform:"uppercase",
              fontFamily:"'Inter',-apple-system,sans-serif",
            }}>INSTAGRAM</a>
            <a href="#" style={{
              fontSize:10, fontWeight:500, letterSpacing:"0.2em",
              color:"#737373", textDecoration:"none", textTransform:"uppercase",
              fontFamily:"'Inter',-apple-system,sans-serif",
            }}>LINKEDIN</a>
          </div>
          <div style={{ marginTop:40, fontSize:10, fontWeight:500, letterSpacing:"0.1em",
            color:"#737373", textTransform:"uppercase", fontFamily:"'Inter',-apple-system,sans-serif" }}>
            made in seoul
          </div>
        </div>
      </nav>
    </div>
  );
};

// ── OriginalNav ── (App controls visibility + color) ─────────────────────────
const OriginalNav = ({ onNavigate, onToggleLang, lang, t, visible, color, cartItem, onCartClick }) => {
  const [menuOpen, setMenuOpen] = React.useState(false);
  const prevVisRef = React.useRef(visible);
  const [hideTransition, setHideTransition] = React.useState(false);
  const [navW, setNavW] = React.useState(window.innerWidth);
  React.useEffect(() => {
    const h = () => setNavW(window.innerWidth);
    window.addEventListener("resize", h, { passive: true });
    return () => window.removeEventListener("resize", h);
  }, []);
  const isMobileNav = navW < 768;

  React.useEffect(() => {
    if (!visible && prevVisRef.current) {
      // 숨길 때 → 즉시 (히어로섹션으로 스크롤 복귀 시 빠른 소멸)
      setHideTransition(true);
    } else if (visible && !prevVisRef.current) {
      // 나타날 때 → 부드러운 트랜지션
      setHideTransition(false);
    }
    prevVisRef.current = visible;
  }, [visible]);

  const tc = color || "rgba(255,255,255,0.9)";
  const borderC = tc === "#1a1a1a" ? "rgba(0,0,0,0.35)" : "rgba(255,255,255,0.6)";
  const hasCart = !!cartItem;

  return (
    <>
      <MenuOverlay open={menuOpen} onClose={()=>setMenuOpen(false)} onNavigate={onNavigate} t={t} hasCart={!hasCart} onCartClick={onCartClick}/>
      <header style={{
        position:"fixed", top:0, left:0, right:0, zIndex:50, background:"transparent",
        opacity: visible ? 1 : 0,
        pointerEvents: visible ? "auto" : "none",
        transition: hideTransition
          ? "opacity 0.06s ease"               // 히어로 복귀 시 즉시 사라짐
          : "opacity 0.45s cubic-bezier(0.4,0,0.2,1)",
      }}>
        <div id="orig-scroll-progress" style={{
          position:"absolute", top:0, left:0, height:2,
          background: tc, transformOrigin:"left", transform:"scaleX(0)",
          transition:"transform 0.1s linear", width:"100%", zIndex:1,
        }}/>
        <div style={{ display:"flex", alignItems:"center", justifyContent:"space-between", padding: isMobileNav ? "18px 16px" : "24px 3rem" }}>
          <a href="#" onClick={(e)=>{e.preventDefault();onNavigate?.("orig-home");}}
            style={{
              fontSize: isMobileNav ? 10 : 12,
              fontWeight:500,
              letterSpacing: isMobileNav ? "1.6px" : "2.4px",
              color: tc, textDecoration:"none",
              fontFamily:"'Inter',-apple-system,sans-serif",
              transition:"color 0.3s",
              whiteSpace:"nowrap",
            }}>
            post (dot) service
          </a>
          <div style={{ display:"flex", alignItems:"center", gap:16 }}>
            <button onClick={onToggleLang} style={{
              display:"inline-flex", alignItems:"center", gap:4,
              padding: isMobileNav ? "4px 8px" : "4px 10px",
              border:`1px solid ${borderC}`,
              borderRadius:9999, fontSize:10, fontWeight:500,
              letterSpacing:"0.05em", textTransform:"uppercase",
              color: tc, background:"none", cursor:"pointer",
              fontFamily:"'Inter',-apple-system,sans-serif",
              transition:"color 0.3s, border-color 0.3s",
              whiteSpace:"nowrap", flexShrink:0,
            }}>
              <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                <circle cx="12" cy="12" r="10"/>
                <path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/>
              </svg>
              {t("navLang")}
            </button>
            {/* 장바구니에 아이템 있을 때만 헤더에 카트 버튼 표시 */}
            {hasCart && (
              <button onClick={onCartClick} style={{
                position:"relative", display:"inline-flex", alignItems:"center", gap:6,
                padding:"4px 10px", border:`1px solid ${borderC}`,
                borderRadius:9999, fontSize:10, fontWeight:500,
                letterSpacing:"0.08em", textTransform:"uppercase",
                color: tc, background:"none", cursor:"pointer",
                fontFamily:"'Inter',-apple-system,sans-serif",
                transition:"color 0.3s, border-color 0.3s",
              }}>
                <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                  <path d="M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z"/>
                  <line x1="3" y1="6" x2="21" y2="6"/>
                  <path d="M16 10a4 4 0 01-8 0"/>
                </svg>
                {t("navCart") || "CART"}
                {/* 아이템 뱃지 */}
                <span style={{
                  position:"absolute", top:-4, right:-4, width:14, height:14,
                  background: tc, color: tc === "#1a1a1a" ? "#fff" : "#1a1a1a",
                  borderRadius:"50%", fontSize:8, fontWeight:700,
                  display:"flex", alignItems:"center", justifyContent:"center",
                }}>1</span>
              </button>
            )}
            <button onClick={()=>setMenuOpen(true)} style={{
              display:"flex", flexDirection:"column", gap:6,
              background:"none", border:"none", cursor:"pointer", padding:4,
            }}>
              {[24,18,24].map((w,i)=>(
                <span key={i} style={{ display:"block", height:2, background:tc, width:w, transition:"background 0.3s" }}/>
              ))}
            </button>
          </div>
        </div>
      </header>
    </>
  );
};

// ── OriginalHero ──────────────────────────────────────────────────────────────
const OriginalHero = ({ onScrollDown, t }) => {
  const [videoVisible, setVideoVisible] = React.useState(false);
  const [charsVisible, setCharsVisible] = React.useState(false);
  const sectionRef = React.useRef(null);
  const titleRef   = React.useRef(null);
  const ghostRef   = React.useRef(null);

  React.useEffect(() => {
    const t1 = setTimeout(()=>setVideoVisible(true), 2000);
    const t2 = setTimeout(()=>setCharsVisible(true), 400);
    return ()=>{ clearTimeout(t1); clearTimeout(t2); };
  }, []);

  React.useEffect(() => {
    let startRect = null;

    const onScroll = () => {
      const sec   = sectionRef.current;
      const title = titleRef.current;
      const ghost = ghostRef.current;
      if (!sec || !title || !ghost) return;

      const heroH = sec.offsetHeight;
      // 애니메이션 범위 확장: heroH * 0.85 (더 긴 스크롤에서 모프 진행)
      const p = Math.min(Math.max(window.scrollY / (heroH * 0.85), 0), 1);

      // scroll progress bar
      const bar = document.getElementById("orig-scroll-progress");
      if (bar) {
        const max = document.body.scrollHeight - window.innerHeight;
        bar.style.transform = `scaleX(${max>0 ? window.scrollY/max : 0})`;
      }

      if (p <= 0) {
        title.style.opacity = "1";
        ghost.style.opacity = "0";
        return;
      }

      // 스크롤 극초기(p<0.03)에 시작 위치 캡처
      if (!startRect && p < 0.03) {
        startRect = title.getBoundingClientRect();
      }
      if (!startRect) return;

      // ── 히어로 타이틀: 스크롤 시작 즉시 사라짐 (p=0.03에 완전 소멸) ─────
      title.style.opacity = String(Math.max(0, 1 - p * 35));

      // ── Ghost 투명도: 3단계 ──────────────────────────────────────────────
      // Phase 1 (p: 0→0.06)   : fade-in (0 → 1)
      // Phase 2 (p: 0.06→0.72): 완전 불투명 이동 구간
      // Phase 3 (p: 0.72→0.88): 헤더 도착 후 fade-out → 헤더 로고와 크로스페이드
      let gOp;
      if (p < 0.06) {
        gOp = p / 0.06;
      } else if (p < 0.72) {
        gOp = 1.0;
      } else {
        // p=0.72 도착, p=0.88 완전 소멸 (헤더 로고가 fade-in되는 동안 ghost는 fade-out)
        gOp = Math.max(0, 1.0 - (p - 0.72) / 0.16);
      }
      ghost.style.opacity = String(gOp);

      // ── Ghost 위치: p=0.72에 헤더 로고 위치 도착 후 제자리 유지 ──────────
      const rawPos = Math.min(p / 0.72, 1.0);
      // easeInOutQuad: 출발/도착 모두 부드럽게, 중간은 빠르게
      const posP = rawPos < 0.5
        ? 2 * rawPos * rawPos
        : 1 - Math.pow(-2 * rawPos + 2, 2) / 2;

      const startLeft  = startRect.left;
      const startTop   = startRect.top;
      const startFSize = Math.min(startRect.height * 0.75, 80);
      const endLeft    = 48;   // 헤더 로고 left (padding 3rem ≈ 48px)
      const endTop     = 28;   // 헤더 로고 top
      const endFSize   = 12;

      ghost.style.left          = (startLeft  + (endLeft  - startLeft)  * posP) + "px";
      ghost.style.top           = (startTop   + (endTop   - startTop)   * posP) + "px";
      ghost.style.fontSize      = (startFSize + (endFSize - startFSize)  * posP) + "px";
      ghost.style.letterSpacing = (0.15 + (0.2 - 0.15) * posP) + "em";
    };

    window.addEventListener("scroll", onScroll, { passive:true });
    return () => window.removeEventListener("scroll", onScroll);
  }, []);

  const taglineRows = [
    [ {chars:[{c:"a",xl:true},{c:"l",xl:false,up:true},{c:"w",xl:true,down:true}]}, {chars:[{c:"a",xl:false},{c:"y",xl:true,up:true},{c:"s",xl:false,down:true}]} ],
    [ {chars:[{c:"f",xl:false,up:true},{c:"(",xl:true}],indent:"4rem"}, {chars:[{c:"r",xl:true,down:true},{c:"o",xl:false,up:true},{c:")",xl:true},{c:"m",xl:false,down:true}],marginRight:"6rem"} ],
    [ {chars:[{c:"(",xl:true},{c:"s",xl:false,up:true},{c:"m",xl:true,down:true}]}, {chars:[{c:"a",xl:false},{c:"l",xl:true,up:true},{c:"l",xl:false,down:true}]} ],
    [ {chars:[{c:"i",xl:false,down:true},{c:"d",xl:true}],indent:"8rem"}, {chars:[{c:"e",xl:false,up:true},{c:"a",xl:true,down:true},{c:")",xl:false}],marginRight:"3rem"} ],
  ];

  return (
    <section ref={sectionRef} style={{
      position:"relative", minHeight:"100vh",
      display:"flex", flexDirection:"column",
      overflow:"hidden", background:"#fff",
      fontFamily:"'Inter',-apple-system,sans-serif",
    }}>
      <style>{`
        @media (max-width: 768px) {
          #orig-hero-inner { padding: clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5rem) 2rem !important; }
        }
      `}</style>
      {/* Background video */}
      <div style={{ position:"absolute",inset:0,opacity:videoVisible?1:0,transition:"opacity 1.5s ease",pointerEvents:"none" }}>
        <video autoPlay loop muted playsInline
          style={{ position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",opacity:0.6,filter:"grayscale(1) contrast(1.5)" }}
          src="assets/videos/wave-overlay.mp4"/>
      </div>

      {/* Ghost title — fixed, morphs from hero position toward header, then vanishes */}
      <div ref={ghostRef} style={{
        position:"fixed",
        fontFamily:"'Inter',-apple-system,sans-serif",
        fontWeight:600,
        lineHeight:0.9,
        color:"#1a1a1a",
        opacity:0,
        pointerEvents:"none",
        zIndex:55,
        whiteSpace:"nowrap",
        transformOrigin:"left top",
      }}>
        post (<span style={{ display:"inline",background:"#1a1a1a",color:"#fff",padding:"0 3px" }}>dot</span>) service
      </div>

      <div id="orig-hero-inner" style={{ position:"relative",zIndex:10,flex:1,display:"flex",flexDirection:"column",padding:"clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5rem) 2rem" }}>
        {/* Keywords */}
        <div style={{
          display:"flex",flexDirection:"column",alignItems:"center",gap:4,marginTop:32,
          opacity:charsVisible?1:0, transform:charsVisible?"translateY(0)":"translateY(20px)",
          transition:"opacity 0.6s ease 0.1s,transform 0.6s ease 0.1s",
        }}>
          {t("heroKeywords").map(k=>(
            <span key={k} style={{ fontSize:10,fontWeight:500,letterSpacing:"0.1em",textTransform:"uppercase",color:"#737373" }}>{k}</span>
          ))}
        </div>

        {/* Main title */}
        <div style={{ flex:1,display:"flex",alignItems:"center",justifyContent:"flex-end",
          opacity:charsVisible?1:0, transform:charsVisible?"translateY(0)":"translateY(30px)",
          transition:"opacity 0.7s ease 0.2s,transform 0.7s ease 0.2s",
        }}>
          <h1 ref={titleRef} style={{
            fontSize:"clamp(0.85rem,4.8vw,6rem)",fontWeight:600,lineHeight:0.9,
            letterSpacing:"0.15em",textAlign:"right",color:"#1a1a1a",margin:0,
            whiteSpace:"nowrap",
          }}>
            post ({" "}
            <span style={{ display:"inline",background:"#1a1a1a",color:"#fff",padding:"0 4px" }}>dot</span>
            {" "}) service
          </h1>
        </div>

        {/* Description */}
        <div style={{ maxWidth:"56rem",margin:"0 auto 3rem",opacity:charsVisible?1:0,
          transform:charsVisible?"translateY(0)":"translateY(20px)",
          transition:"opacity 0.6s ease 0.35s,transform 0.6s ease 0.35s",
        }}>
          <p style={{ fontSize:10,fontWeight:500,letterSpacing:"0.15em",lineHeight:1.8,textTransform:"uppercase",color:"#737373",textAlign:"center" }}>
            {t("heroDesc")}
          </p>
        </div>

        {/* Kinetic tagline */}
        <div style={{ display:"flex",flexDirection:"column",gap:8,opacity:charsVisible?1:0,transition:"opacity 0.8s ease 0.4s" }}>
          {taglineRows.map((row,ri)=>(
            <div key={ri} style={{ display:"flex",justifyContent:"space-between",alignItems:"flex-end" }}>
              {row.map((group,gi)=>(
                <div key={gi} style={{ display:"flex",alignItems:"flex-end",gap:8,marginLeft:group.indent||0,marginRight:group.marginRight||0 }}>
                  {group.chars.map((ch,ci)=>(
                    <span key={ci} style={{
                      fontSize:ch.xl?"clamp(1.875rem,5vw,3.75rem)":"clamp(1.5rem,4vw,3rem)",
                      fontWeight:300,letterSpacing:"-0.025em",lineHeight:1,
                      transform:ch.up?"translateY(4px)":ch.down?"translateY(-2px)":"none",
                      display:"inline-block",color:"#1a1a1a",
                    }}>{ch.c}</span>
                  ))}
                </div>
              ))}
            </div>
          ))}
        </div>
      </div>

      {/* Scroll indicator */}
      <button onClick={onScrollDown} style={{
        position:"absolute",bottom:32,left:"50%",transform:"translateX(-50%)",
        display:"flex",flexDirection:"column",alignItems:"center",gap:8,
        zIndex:10,background:"none",border:"none",padding:0,cursor:"pointer",
      }}>
        <span style={{ fontSize:10,fontWeight:500,letterSpacing:"0.1em",textTransform:"uppercase",color:"#737373" }}>{t("heroScroll")}</span>
        <svg style={{ animation:"bounce-y 1.5s ease-in-out infinite",color:"#737373" }}
          width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1">
          <path d="M6 9l6 6 6-6"/>
        </svg>
      </button>

      <style>{`@keyframes bounce-y{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}`}</style>
    </section>
  );
};

// ── OriginalAbout ─────────────────────────────────────────────────────────────
const OriginalAbout = ({ t }) => {
  const [muted, setMuted] = React.useState(true);
  const videoRef = React.useRef(null);
  const toggleMute = () => { setMuted(m=>{ if(videoRef.current) videoRef.current.muted=!m; return !m; }); };

  return (
    <section style={{ position:"relative",overflow:"hidden",padding:"8rem 4rem",background:"#1a1a1a",fontFamily:"'Inter',-apple-system,sans-serif" }}>
      <div style={{ position:"absolute",inset:0,zIndex:0 }}>
        <video ref={videoRef} autoPlay loop muted playsInline
          style={{ position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",opacity:0.9,filter:"grayscale(0.2)" }}
          src="assets/videos/about-background.mp4"/>
        <div style={{ position:"absolute",inset:0,background:"rgba(0,0,0,0.1)" }}/>
      </div>
      <button onClick={toggleMute} style={{
        position:"absolute",top:24,right:24,zIndex:20,padding:12,
        background:"rgba(0,0,0,0.4)",borderRadius:9999,border:"none",cursor:"pointer",
        display:"flex",alignItems:"center",justifyContent:"center",color:"rgba(255,255,255,0.9)",
      }}
      onMouseEnter={e=>e.currentTarget.style.background="rgba(0,0,0,0.65)"}
      onMouseLeave={e=>e.currentTarget.style.background="rgba(0,0,0,0.4)"}
      >
        {muted
          ? <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5"><path d="M11 5L6 9H2v6h4l5 4V5z"/><path d="M23 9l-6 6M17 9l6 6"/></svg>
          : <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5"><path d="M11 5L6 9H2v6h4l5 4V5z"/><path d="M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07"/></svg>
        }
      </button>
      <div style={{ maxWidth:"80rem",margin:"0 auto",position:"relative",zIndex:1 }}>
        <div style={{ display:"flex",alignItems:"center",justifyContent:"center",marginBottom:8 }}>
          <span style={{ fontSize:10,fontWeight:500,letterSpacing:"0.1em",textTransform:"uppercase",color:"rgba(255,255,255,0.5)" }}>{t("aboutLabel")}</span>
        </div>
        <h2 style={{ textAlign:"center",color:"#fff",fontSize:"clamp(1.75rem,4vw,3rem)",fontWeight:500,lineHeight:1.2,marginBottom:"2rem" }}>{t("aboutHeading")}</h2>
        <div style={{ margin:"0 auto 5rem",maxWidth:"68rem",textAlign:"center" }}>
          {["aboutP1","aboutP2","aboutP3","aboutP4"].map(key=>(
            <p key={key} style={{ fontSize:16,fontWeight:400,lineHeight:1.9,color:"rgba(255,255,255,0.8)",marginBottom:"2.5rem" }}>{t(key)}</p>
          ))}
        </div>
        <style>{`
          @media (max-width: 768px) { .about-feature-grid { grid-template-columns: 1fr !important; } }
        `}</style>
        <div className="about-feature-grid" style={{ display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:"2rem" }}>
          {[[t("feature1Title"),t("feature1Sub")],[t("feature2Title"),t("feature2Sub")],[t("feature3Title"),t("feature3Sub")]].map(([title,sub])=>(
            <div key={title} style={{ padding:"2.5rem",background:"rgba(255,255,255,0.07)",border:"1px solid rgba(255,255,255,0.15)",textAlign:"center",transition:"transform 0.3s" }}
              onMouseEnter={e=>e.currentTarget.style.transform="translateY(-4px)"}
              onMouseLeave={e=>e.currentTarget.style.transform="translateY(0)"}
            >
              <h3 style={{ fontSize:"clamp(1.25rem,2vw,1.5rem)",fontWeight:500,lineHeight:1.3,color:"#fff",marginBottom:16 }}>{title}</h3>
              <p style={{ fontSize:10,fontWeight:500,letterSpacing:"0.1em",textTransform:"uppercase",color:"rgba(255,255,255,0.4)" }}>{sub}</p>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

window.OriginalNav   = OriginalNav;
window.OriginalHero  = OriginalHero;
window.OriginalAbout = OriginalAbout;
