/* global React */
const { useMemo } = React;

// ──────────────────────────────────────────────────────────
// Shared atoms
// ──────────────────────────────────────────────────────────

const SVMonogram = ({ size = 56, ring = "rgba(255,255,255,0.18)" }) => (
  <svg width={size} height={size} viewBox="0 0 50 50" fill="none">
    <circle cx="25" cy="25" r="24" fill="none" stroke={ring} strokeWidth="1" />
    <circle cx="25" cy="25" r="21" fill="#1888FF" />
    <path d="M37.2023 18.195L32.0543 32.196H29.6948L24.5468 18.195H26.8478L30.9233 29.7L35.0573 18.195H37.2023Z" fill="white" />
    <path d="M23.9395 28.101C23.9395 30.5385 21.9895 32.391 18.5965 32.391C15.223 32.391 13.1755 30.5385 13 27.75H15.184C15.2815 29.5245 16.4125 30.675 18.5575 30.675C20.332 30.675 21.658 29.8365 21.658 28.3935C21.658 27.2235 20.8975 26.6385 19.279 26.2875L17.251 25.8975C15.2815 25.5075 13.4875 24.513 13.4875 22.134C13.4875 19.7745 15.5545 18 18.46 18C21.3655 18 23.569 19.7745 23.7445 22.563H21.5605C21.4435 20.886 20.2345 19.716 18.4795 19.716C16.666 19.716 15.6715 20.7885 15.6715 21.9975C15.6715 23.3235 16.822 23.7915 18.1285 24.0645L20.1955 24.474C22.594 24.9615 23.9395 26.0145 23.9395 28.101Z" fill="white" />
  </svg>
);

const SVWordmark = ({ height = 32, color = "#1E1E1E", monoColor = "#1888FF" }) => (
  <svg height={height} viewBox="0 0 200 50" fill="none" style={{ display: "block" }}>
    <circle cx="25" cy="25" r="21" fill={monoColor} />
    <path d="M37.2023 18.195L32.0543 32.196H29.6948L24.5468 18.195H26.8478L30.9233 29.7L35.0573 18.195H37.2023Z" fill="white" />
    <path d="M23.9395 28.101C23.9395 30.5385 21.9895 32.391 18.5965 32.391C15.223 32.391 13.1755 30.5385 13 27.75H15.184C15.2815 29.5245 16.4125 30.675 18.5575 30.675C20.332 30.675 21.658 29.8365 21.658 28.3935C21.658 27.2235 20.8975 26.6385 19.279 26.2875L17.251 25.8975C15.2815 25.5075 13.4875 24.513 13.4875 22.134C13.4875 19.7745 15.5545 18 18.46 18C21.3655 18 23.569 19.7745 23.7445 22.563H21.5605C21.4435 20.886 20.2345 19.716 18.4795 19.716C16.666 19.716 15.6715 20.7885 15.6715 21.9975C15.6715 23.3235 16.822 23.7915 18.1285 24.0645L20.1955 24.474C22.594 24.9615 23.9395 26.0145 23.9395 28.101Z" fill="white" />
    <path d="M67.7585 28.905C67.7585 31.3425 65.8085 33.195 62.4155 33.195C59.042 33.195 56.9945 31.3425 56.819 28.554H59.003C59.1005 30.3285 60.2315 31.479 62.3765 31.479C64.151 31.479 65.477 30.6405 65.477 29.1975C65.477 28.0275 64.7165 27.4425 63.098 27.0915L61.07 26.7015C59.1005 26.3115 57.3065 25.317 57.3065 22.938C57.3065 20.5785 59.3735 18.804 62.279 18.804C65.1845 18.804 67.388 20.5785 67.5635 23.367H65.3795C65.2625 21.69 64.0535 20.52 62.2985 20.52C60.485 20.52 59.4905 21.5925 59.4905 22.8015C59.4905 24.1275 60.641 24.5955 61.9475 24.8685L64.0145 25.278C66.413 25.7655 67.7585 26.8185 67.7585 28.905ZM75.3041 33H73.1591V20.9295H68.5961V18.999H79.8671V20.9295H75.3041V33ZM90.1198 33L88.8523 29.529H82.8073L81.5203 33H79.3558L84.7183 18.999H87.0778L92.4013 33H90.1198ZM85.8493 21.339L83.4508 27.7935H88.2088L85.8493 21.339ZM96.4761 33H94.3311V18.999H102.833V20.871H96.4761V25.434H101.897V27.306H96.4761V33ZM107.083 33H104.938V18.999H113.44V20.871H107.083V25.434H112.504V27.306H107.083V33ZM126.972 18.999L121.824 33H119.464L114.316 18.999H116.617L120.693 30.504L124.827 18.999H126.972ZM130.944 33H128.799V18.999H130.944V33ZM136.124 33H133.979V18.999H139.205C142.422 18.999 144.353 20.5785 144.353 23.367C144.353 25.3755 143.085 26.916 140.96 27.423L144.762 33H142.188L138.698 27.735H136.124V33ZM136.124 20.793V25.941H139.068C141.057 25.941 142.188 25.0635 142.188 23.367C142.188 21.69 141.057 20.793 139.068 20.793H136.124ZM152.104 33H149.959V20.9295H145.396V18.999H156.667V20.9295H152.104V33ZM169.346 18.999V27.969C169.346 31.1865 167.279 33.2925 163.925 33.2925C160.571 33.2925 158.524 31.1865 158.524 27.969V18.999H160.669V28.0275C160.669 30.0555 161.858 31.362 163.925 31.362C166.012 31.362 167.201 30.0555 167.201 28.0275V18.999H169.346ZM181.431 33L180.163 29.529H174.118L172.831 33H170.667L176.029 18.999H178.389L183.712 33H181.431ZM177.16 21.339L174.762 27.7935H179.52L177.16 21.339ZM194.125 33H185.642V18.999H187.787V31.0695H194.125V33Z" fill={color} />
  </svg>
);

// Generic portrait silhouette — used as photo placeholder in profile pic / banner
const PortraitSilhouette = ({ tone = "rgba(255,255,255,0.92)", bg = "linear-gradient(160deg, #1888FF 0%, #004B8D 100%)" }) => (
  <div style={{
    width: "100%", height: "100%", position: "relative",
    background: bg, overflow: "hidden",
  }}>
    {/* soft radial highlight */}
    <div style={{
      position: "absolute", inset: 0,
      background: "radial-gradient(ellipse at 30% 25%, rgba(255,255,255,0.18), transparent 55%)"
    }} />
    {/* head */}
    <svg viewBox="0 0 200 200" preserveAspectRatio="xMidYMax meet" style={{ position: "absolute", inset: 0, width: "100%", height: "100%" }}>
      <circle cx="100" cy="78" r="32" fill={tone} />
      <path d="M40 200 C 40 145, 70 120, 100 120 C 130 120, 160 145, 160 200 Z" fill={tone} />
    </svg>
  </div>
);

// Decorative blue gradient field with subtle "Q1" mark — reusable hero
const Q1Field = ({ children, dense = false, vignette = true }) => (
  <div style={{
    position: "absolute", inset: 0,
    background: "linear-gradient(125deg, #1470D6 0%, #1888FF 38%, #004B8D 100%)",
    overflow: "hidden",
  }}>
    {/* Massive ghosted Q1 */}
    <div style={{
      position: "absolute",
      right: dense ? "-6%" : "-12%",
      bottom: dense ? "-30%" : "-50%",
      fontFamily: "'Plus Jakarta Sans', sans-serif",
      fontWeight: 800,
      fontSize: dense ? "42vmin" : "62vmin",
      lineHeight: 0.8,
      letterSpacing: "-0.06em",
      color: "rgba(255,255,255,0.07)",
      pointerEvents: "none",
      userSelect: "none",
    }}>Q1</div>
    {/* angular cuts */}
    <svg style={{ position: "absolute", inset: 0, width: "100%", height: "100%" }} preserveAspectRatio="none" viewBox="0 0 100 100">
      <line x1="0" y1="22" x2="100" y2="8" stroke="rgba(255,255,255,0.08)" strokeWidth="0.15" />
      <line x1="0" y1="78" x2="100" y2="92" stroke="rgba(255,255,255,0.08)" strokeWidth="0.15" />
    </svg>
    {/* corner glow */}
    {vignette && <div style={{
      position: "absolute", inset: 0,
      background: "radial-gradient(ellipse at 12% 18%, rgba(255,255,255,0.18), transparent 40%)"
    }} />}
    {children}
  </div>
);

// Eyebrow tag chip — "Q1 2026"
const EyebrowChip = ({ children, color = "#fff", bg = "rgba(255,255,255,0.14)", border = "rgba(255,255,255,0.28)" }) => (
  <div style={{
    display: "inline-flex", alignItems: "center", gap: 8,
    padding: "8px 16px",
    background: bg,
    border: `1px solid ${border}`,
    borderRadius: 9999,
    color,
    fontFamily: "'Inter', sans-serif",
    fontWeight: 600,
    fontSize: 13,
    letterSpacing: "0.14em",
    textTransform: "uppercase",
    backdropFilter: "blur(6px)",
  }}>
    <span style={{ width: 6, height: 6, borderRadius: 9999, background: "#fff", boxShadow: "0 0 0 3px rgba(255,255,255,0.18)" }} />
    {children}
  </div>
);

// ──────────────────────────────────────────────────────────
// 1. PROFILE PICTURE — square 1080×1080, with circle-safe variant
// ──────────────────────────────────────────────────────────
function ProfilePictureSquare({ name, title, photoUrl }) {
  return (
    <div style={{
      width: 1080, height: 1080, position: "relative",
      background: "#1888FF", overflow: "hidden",
      fontFamily: "'Inter', sans-serif",
    }}>
      <Q1Field />
      <div style={{
        position: "absolute",
        top: 130, left: "50%", transform: "translateX(-50%)",
        width: 580, height: 580, borderRadius: 9999, overflow: "hidden",
        border: "8px solid rgba(255,255,255,0.95)",
        boxShadow: "0 30px 80px -20px rgba(0,0,0,0.45), 0 0 0 16px rgba(255,255,255,0.08)",
      }}>
        {photoUrl
          ? <img src={photoUrl} alt="" style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
          : <PortraitSilhouette />}
      </div>
      <svg style={{ position: "absolute", top: 60, left: "50%", transform: "translateX(-50%)", width: 720, height: 720, pointerEvents: "none" }} viewBox="0 0 720 720">
        <defs>
          <path id="ringPath" d="M 360,360 m -340,0 a 340,340 0 1,1 680,0 a 340,340 0 1,1 -680,0" />
        </defs>
        <text fontFamily="Inter, sans-serif" fontSize="22" fontWeight="600" letterSpacing="14" fill="rgba(255,255,255,0.55)">
          <textPath href="#ringPath" startOffset="0%">
            Q1 2026 · BUSINESS REVIEW · STAFFVIRTUAL · Q1 2026 · BUSINESS REVIEW · STAFFVIRTUAL ·{" "}
          </textPath>
        </text>
      </svg>
      <div style={{ position: "absolute", left: 0, right: 0, bottom: 0, padding: "60px 80px 80px", textAlign: "center", color: "#fff" }}>
        <div style={{ fontFamily: "'Plus Jakarta Sans', sans-serif", fontWeight: 800, fontSize: 76, lineHeight: 1.0, letterSpacing: "-0.02em", marginBottom: 14, textShadow: "0 2px 20px rgba(0,0,0,0.18)" }}>{name || "Your Name"}</div>
        {title && <div style={{ fontFamily: "'Inter', sans-serif", fontWeight: 500, fontSize: 30, color: "rgba(255,255,255,0.82)", letterSpacing: "0.01em" }}>{title}</div>}
      </div>
      <div style={{ position: "absolute", top: 56, left: 56 }}>
        <EyebrowChip>I'm Attending · Q1 2026</EyebrowChip>
      </div>
      <div style={{ position: "absolute", top: 56, right: 56 }}>
        <SVMonogram size={84} ring="rgba(255,255,255,0.35)" />
      </div>
    </div>
  );
}

// Circle-safe composition: everything sits comfortably inside the inscribed circle.
// 1080×1080 frame, but all content lives inside r≈540 of center.
function ProfilePictureCircle({ name, title, photoUrl }) {
  // truncate long names so the arc doesn't overflow
  const displayName = (name || "Your Name").trim();
  const upperName = displayName.toUpperCase();

  return (
    <div style={{
      width: 1080, height: 1080, position: "relative",
      background: "#1888FF", overflow: "hidden",
      fontFamily: "'Inter', sans-serif",
    }}>
      <Q1Field />

      {/* Photo well — large, centered, circle. Sized to nearly fill the inscribed circle. */}
      <div style={{
        position: "absolute",
        top: 160, left: "50%", transform: "translateX(-50%)",
        width: 760, height: 760, borderRadius: 9999, overflow: "hidden",
        border: "8px solid rgba(255,255,255,0.95)",
        boxShadow: "0 30px 80px -20px rgba(0,0,0,0.45), 0 0 0 12px rgba(255,255,255,0.10)",
      }}>
        {photoUrl
          ? <img src={photoUrl} alt="" style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
          : <PortraitSilhouette />}
      </div>

      {/* Top arc — eyebrow text along the upper inside of the circle */}
      <svg style={{ position: "absolute", inset: 0, width: "100%", height: "100%", pointerEvents: "none" }} viewBox="0 0 1080 1080">
        <defs>
          {/* Top arc — sits in the thin band above the enlarged photo. Center 540,540, radius 510. */}
          <path id="ppArcTop" d="M 80,330 A 510,510 0 0 1 1000,330" fill="none" />
        </defs>
        <text fill="rgba(255,255,255,0.92)" fontFamily="Inter, sans-serif" fontSize="28" fontWeight="700" letterSpacing="10">
          <textPath href="#ppArcTop" startOffset="50%" textAnchor="middle">
            Q1 · BUSINESS REVIEW · 2026
          </textPath>
        </text>
      </svg>

      {/* Name — sits just below the enlarged photo, centered inside circle */}
      <div style={{
        position: "absolute",
        left: 0, right: 0,
        top: 945,
        textAlign: "center",
        color: "#fff",
        fontFamily: "'Plus Jakarta Sans', sans-serif",
        fontWeight: 800,
        fontSize: 48,
        lineHeight: 1,
        letterSpacing: "-0.02em",
        textShadow: "0 2px 20px rgba(0,0,0,0.25)",
        padding: "0 200px",
        whiteSpace: "nowrap",
        overflow: "hidden",
        textOverflow: "ellipsis",
      }}>{upperName}</div>

      {title && (
        <div style={{
          position: "absolute",
          left: 0, right: 0,
          top: 1010,
          textAlign: "center",
          color: "rgba(255,255,255,0.85)",
          fontFamily: "'Inter', sans-serif",
          fontWeight: 500,
          fontSize: 22,
          letterSpacing: "0.08em",
          textTransform: "uppercase",
          padding: "0 240px",
          whiteSpace: "nowrap",
          overflow: "hidden",
          textOverflow: "ellipsis",
        }}>{title}</div>
      )}
    </div>
  );
}

function ProfilePicture({ name, title, circular = false, photoUrl = null }) {
  if (circular) {
    return (
      <div style={{ width: 1080, height: 1080, borderRadius: 9999, overflow: "hidden" }}>
        <ProfilePictureCircle name={name} title={title} photoUrl={photoUrl} />
      </div>
    );
  }
  return <ProfilePictureSquare name={name} title={title} photoUrl={photoUrl} />;
}

// ──────────────────────────────────────────────────────────
// 2. LINKEDIN BANNER — 1584×396
// ──────────────────────────────────────────────────────────
function LinkedInBanner({ name }) {
  return (
    <div style={{
      width: 1584, height: 396, position: "relative", overflow: "hidden",
      fontFamily: "'Inter', sans-serif", color: "#fff",
    }}>
      <Q1Field dense />

      {/* LinkedIn safe-zone notice — subtle outline showing avatar overlap region (left circle) — purely decorative omit */}

      {/* Vertical accent bar */}
      <div style={{
        position: "absolute", left: 360, top: 60, bottom: 60, width: 2,
        background: "linear-gradient(180deg, transparent, rgba(255,255,255,0.35), transparent)",
      }} />

      {/* Right side — main message */}
      <div style={{
        position: "absolute",
        left: 410, right: 60, top: 0, bottom: 0,
        display: "flex", flexDirection: "column", justifyContent: "center",
      }}>
        <div style={{ marginBottom: 18 }}>
          <EyebrowChip>Q1 2026 · Quarterly Business Review</EyebrowChip>
        </div>
        <div style={{
          fontFamily: "'Plus Jakarta Sans', sans-serif",
          fontWeight: 800,
          fontSize: 78,
          lineHeight: 0.98,
          letterSpacing: "-0.025em",
          marginBottom: 14,
        }}>
          Building what's<br/>
          <span style={{ color: "rgba(255,255,255,0.62)" }}>next, together.</span>
        </div>
        <div style={{
          fontWeight: 500, fontSize: 20, color: "rgba(255,255,255,0.82)",
          letterSpacing: "0.01em",
        }}>
          {name ? `${name} · ` : ""}STAFFVIRTUAL · Q1 Business Review · 2026
        </div>
      </div>

      {/* Top-right wordmark + corner mark */}
      <div style={{ position: "absolute", top: 36, right: 60, display: "flex", alignItems: "center", gap: 18 }}>
        <div style={{ fontSize: 12, fontWeight: 600, letterSpacing: "0.18em", color: "rgba(255,255,255,0.7)" }}>SV · Q1 / 2026</div>
        <SVMonogram size={42} ring="rgba(255,255,255,0.4)" />
      </div>

      {/* Bottom-left — kept clear of LinkedIn avatar overlap (avatar sits ~ x:60, w:160) */}
      <div style={{ position: "absolute", left: 240, bottom: 36, fontSize: 11, fontWeight: 600, letterSpacing: "0.2em", color: "rgba(255,255,255,0.6)" }}>
            17 YEARS · 95.6% RETENTION
      </div>
    </div>
  );
}

// ──────────────────────────────────────────────────────────
// 3. ZOOM / TEAMS VIRTUAL BACKGROUND — 1920×1080
// ──────────────────────────────────────────────────────────
function ZoomBackground({ name }) {
  return (
    <div style={{
      width: 1920, height: 1080, position: "relative", overflow: "hidden",
      fontFamily: "'Inter', sans-serif", color: "#fff",
    }}>
      <Q1Field />

      {/* Foreground content — composed in two zones to avoid the speaker bubble (typically lower-center) */}

      {/* Top-left — brand */}
      <div style={{ position: "absolute", top: 64, left: 80, display: "flex", alignItems: "center", gap: 20 }}>
        <SVMonogram size={64} ring="rgba(255,255,255,0.32)" />
        <div>
          <div style={{ fontFamily: "'Plus Jakarta Sans', sans-serif", fontWeight: 800, fontSize: 26, letterSpacing: "0.04em" }}>STAFFVIRTUAL</div>
          <div style={{ fontSize: 13, fontWeight: 500, color: "rgba(255,255,255,0.7)", letterSpacing: "0.18em", textTransform: "uppercase", marginTop: 4 }}>Q1 Business Review · 2026</div>
        </div>
      </div>

      {/* Top-right — eyebrow */}
      <div style={{ position: "absolute", top: 72, right: 80 }}>
        <EyebrowChip>Live · Q1 2026 Business Review</EyebrowChip>
      </div>

      {/* Left rail — title */}
      <div style={{
        position: "absolute",
        left: 80, top: 220, maxWidth: 880,
      }}>
        <div style={{
          fontFamily: "'Plus Jakarta Sans', sans-serif",
          fontWeight: 800,
          fontSize: 132,
          lineHeight: 0.92,
          letterSpacing: "-0.03em",
          marginBottom: 26,
        }}>
          Q1<br/>
          <span style={{ color: "rgba(255,255,255,0.62)" }}>Business</span><br/>
          Review.
        </div>
        <div style={{ fontSize: 22, fontWeight: 500, color: "rgba(255,255,255,0.82)", maxWidth: 620, lineHeight: 1.4 }}>
          The numbers, the milestones, the people. One quarter, one team, one direction.
        </div>
      </div>

      {/* Right rail — vertical stat ladder */}
      <div style={{
        position: "absolute", right: 100, top: 240, width: 360,
        display: "flex", flexDirection: "column", gap: 28,
      }}>
        {[
          { v: "17", l: "Years in business" },
          { v: "95.6%", l: "Client retention" },
          { v: "7.2 yr", l: "Average tenure" },
        ].map((s, i) => (
          <div key={i} style={{
            borderLeft: "2px solid rgba(255,255,255,0.4)",
            paddingLeft: 24,
          }}>
            <div style={{
              fontFamily: "'Plus Jakarta Sans', sans-serif",
              fontWeight: 800, fontSize: 64, lineHeight: 1, letterSpacing: "-0.03em",
            }}>{s.v}</div>
            <div style={{ fontSize: 14, fontWeight: 600, letterSpacing: "0.16em", textTransform: "uppercase", color: "rgba(255,255,255,0.7)", marginTop: 6 }}>{s.l}</div>
          </div>
        ))}
      </div>

      {/* Bottom strip — kept above lower-center safe area where speaker bubble lives, keep narrow on edges */}
      <div style={{
        position: "absolute", left: 80, bottom: 64,
        fontSize: 14, fontWeight: 600, letterSpacing: "0.22em", textTransform: "uppercase",
        color: "rgba(255,255,255,0.55)",
      }}>
        {name ? `${name} · ` : ""}Cebu · Miami · Worldwide
      </div>
      <div style={{
        position: "absolute", right: 80, bottom: 64,
        fontSize: 14, fontWeight: 600, letterSpacing: "0.22em", textTransform: "uppercase",
        color: "rgba(255,255,255,0.55)",
      }}>
        SV / Q1 — 2026
      </div>
    </div>
  );
}

// ──────────────────────────────────────────────────────────
// 4. EMAIL SIGNATURE BANNER — 600×200 (standard)
// ──────────────────────────────────────────────────────────
function EmailSignature({ name, title }) {
  return (
    <div style={{
      width: 600, height: 200, position: "relative", overflow: "hidden",
      fontFamily: "'Inter', sans-serif", color: "#fff",
      borderRadius: 0,
    }}>
      <Q1Field dense />

      <div style={{
        position: "absolute", inset: 0,
        display: "flex", alignItems: "center",
        padding: "0 32px",
      }}>
        {/* Left — big Q1 marker */}
        <div style={{
          fontFamily: "'Plus Jakarta Sans', sans-serif",
          fontWeight: 800,
          fontSize: 116,
          lineHeight: 0.85,
          letterSpacing: "-0.04em",
          marginRight: 28,
          textShadow: "0 2px 12px rgba(0,0,0,0.15)",
        }}>Q1</div>

        {/* Divider */}
        <div style={{
          width: 1, alignSelf: "stretch", margin: "26px 0",
          background: "rgba(255,255,255,0.3)",
        }} />

        {/* Right — copy */}
        <div style={{ marginLeft: 24, flex: 1 }}>
          <div style={{
            fontSize: 11, fontWeight: 700, letterSpacing: "0.22em",
            color: "rgba(255,255,255,0.78)", marginBottom: 8,
          }}>I'M ATTENDING — 2026 QBR</div>
          <div style={{
            fontFamily: "'Plus Jakarta Sans', sans-serif",
            fontWeight: 800, fontSize: 28, lineHeight: 1.05,
            letterSpacing: "-0.02em", marginBottom: 6,
          }}>Q1 Business Review</div>
          <div style={{ fontSize: 13, fontWeight: 500, color: "rgba(255,255,255,0.78)", lineHeight: 1.4 }}>
            {name ? <span style={{ color: "#fff", fontWeight: 600 }}>{name}{title ? ", " : ""}</span> : null}
            {title ? <span>{title} · </span> : null}
            STAFFVIRTUAL
          </div>
        </div>

        {/* Right monogram */}
        <div style={{ marginLeft: 12 }}>
          <SVMonogram size={48} ring="rgba(255,255,255,0.35)" />
        </div>
      </div>
    </div>
  );
}

// ──────────────────────────────────────────────────────────
// 5. SAVE THE DATE — 1080×1080 social tile
// ──────────────────────────────────────────────────────────
function SaveTheDate() {
  return (
    <div style={{
      width: 1080, height: 1080, position: "relative", overflow: "hidden",
      fontFamily: "'Inter', sans-serif", color: "#fff",
    }}>
      <Q1Field />

      {/* Top — eyebrow + monogram */}
      <div style={{ position: "absolute", top: 60, left: 60, right: 60, display: "flex", justifyContent: "space-between", alignItems: "center" }}>
        <EyebrowChip>Save the Date</EyebrowChip>
        <SVMonogram size={64} ring="rgba(255,255,255,0.3)" />
      </div>

      {/* Center stack */}
      <div style={{
        position: "absolute", left: 60, right: 60, top: "50%",
        transform: "translateY(-50%)",
      }}>
        <div style={{
          fontFamily: "'Plus Jakarta Sans', sans-serif",
          fontWeight: 800,
          fontSize: 220,
          lineHeight: 0.85,
          letterSpacing: "-0.05em",
          marginBottom: 8,
        }}>Q1</div>
        <div style={{
          fontFamily: "'Plus Jakarta Sans', sans-serif",
          fontWeight: 800,
          fontSize: 96,
          lineHeight: 0.95,
          letterSpacing: "-0.03em",
          marginBottom: 30,
        }}>
          Business<br/>
          <span style={{ color: "rgba(255,255,255,0.62)" }}>Review.</span>
        </div>
        <div style={{ display: "flex", alignItems: "flex-end", gap: 36, flexWrap: "wrap" }}>
          <div>
            <div style={{ fontSize: 14, fontWeight: 700, letterSpacing: "0.22em", color: "rgba(255,255,255,0.7)", marginBottom: 8 }}>2026</div>
            <div style={{ fontFamily: "'Plus Jakarta Sans', sans-serif", fontWeight: 700, fontSize: 32, letterSpacing: "-0.01em" }}>One quarter in.<br/>The next one starts here.</div>
          </div>
        </div>
      </div>

      {/* Bottom strip */}
      <div style={{
        position: "absolute", left: 60, right: 60, bottom: 60,
        display: "flex", justifyContent: "space-between", alignItems: "center",
        fontSize: 14, fontWeight: 600, letterSpacing: "0.22em", textTransform: "uppercase",
        color: "rgba(255,255,255,0.65)",
      }}>
        <span>STAFFVIRTUAL</span>
        <span>Cebu · Miami</span>
        <span>SV / Q1 — 2026</span>
      </div>

      {/* Corner ticks */}
      {[[40, 40, "tl"], [40, 40, "tr"], [40, 40, "bl"], [40, 40, "br"]].map(([w, h, pos], i) => {
        const map = { tl: { top: 24, left: 24, br: 0 }, tr: { top: 24, right: 24, bl: 0 }, bl: { bottom: 24, left: 24, tr: 0 }, br: { bottom: 24, right: 24, tl: 0 } }[pos];
        return (
          <div key={i} style={{
            position: "absolute", width: w, height: h,
            ...map,
            borderTop: pos.startsWith("t") ? "2px solid rgba(255,255,255,0.5)" : "none",
            borderBottom: pos.startsWith("b") ? "2px solid rgba(255,255,255,0.5)" : "none",
            borderLeft: pos.endsWith("l") ? "2px solid rgba(255,255,255,0.5)" : "none",
            borderRight: pos.endsWith("r") ? "2px solid rgba(255,255,255,0.5)" : "none",
          }} />
        );
      })}
    </div>
  );
}

// Expose
Object.assign(window, {
  ProfilePicture, LinkedInBanner, ZoomBackground, EmailSignature, SaveTheDate,
  SVMonogram, SVWordmark, Q1Field, EyebrowChip,
});
