const privacyBody = `Effective Date: [Insert Date]

1. Introduction

Welcome to The Visuals Brothers ("Visual Brothers", "we", "us", or "our").

This Privacy Policy explains how we collect, use, store and protect information that you provide when using our website or contacting us about our creative services.

By using our website or submitting information through our contact form, you acknowledge this Privacy Policy.

2. Information We Collect

When you contact us or submit an inquiry, we may collect information such as:

• Your name
• Email address
• Phone number, if provided
• Company or brand name, if provided
• Project requirements and creative brief
• Information contained in files or materials voluntarily submitted to us
• Any other information you choose to provide

We may also collect limited technical information necessary for the operation, security and improvement of our website.

3. How We Use Your Information

We may use the information you provide to:

• Respond to inquiries and messages
• Understand your project requirements
• Prepare quotations or proposals
• Communicate regarding potential or ongoing projects
• Provide our creative, production, editing, VFX, AI and related services
• Improve our website and user experience
• Maintain business and project records
• Protect our website and services against misuse or security threats

4. How We Protect Your Information

We take reasonable measures to protect information submitted through our website and during client communication.

However, no method of transmission or electronic storage can be guaranteed to be completely secure.

5. Sharing of Information

We do not sell or rent your personal information.

Information may be shared with trusted service providers where reasonably necessary to operate our website, communicate with clients, process files, or provide our services.

We may also disclose information where required by applicable law or to protect our legal rights, property or security.

6. Third-Party Services and Links

Our website may contain links to third-party platforms such as social media, video platforms or other websites.

These third-party services operate under their own privacy policies, and Visual Brothers is not responsible for their privacy practices.

7. Data Retention

We retain information only for as long as reasonably necessary for communication, business, project management, legal, accounting or other legitimate purposes.

When information is no longer reasonably required, we may delete or securely dispose of it where appropriate.

8. Your Requests

You may contact us to request clarification about the personal information we hold about you or to request correction or deletion where applicable.

Requests can be made at:

info@thevisualsbrothers.com

9. Changes to This Privacy Policy

We may update this Privacy Policy from time to time.

Any updated version will be made available on this website with a revised effective date.

10. Contact

For privacy-related questions:

The Visuals Brothers
info@thevisualsbrothers.com`;

const termsBody = `Effective Date: [Insert Date]

1. About Our Services

The Visuals Brothers provides creative and production services, which may include filmmaking, photography, video production, editing, VFX, motion graphics, AI-assisted creative production, product visuals, commercial content and related services.

Each project may have different requirements, deliverables, timelines and pricing.

2. Project Scope & Pricing

Project pricing is based on the agreed scope of work, deliverables, production requirements and creative complexity.

A package or quotation covers only the services and deliverables specifically agreed upon.

Any work requested outside the agreed scope may result in additional charges.

3. 50% Advance Payment

A 50% advance payment is required before the project officially begins, unless a different payment arrangement has been agreed upon in writing.

The remaining 50% balance will be payable according to the agreed project/payment schedule.

Work, production, editing or final delivery may be paused until required payments are received.

4. Additional Charges

Additional charges may apply when a project requires work beyond the originally agreed scope.

This may include, but is not limited to:

• Advanced VFX
• Heavy motion graphics
• Complex compositing
• Additional AI generation or iterations
• Additional shooting or production requirements
• Additional locations
• Additional crew or equipment
• Extra deliverables or formats
• Major creative changes
• Additional editing requirements
• Additional revisions beyond the agreed revision allowance

Any significant additional work will be communicated to the client before proceeding where reasonably possible.

5. Revisions

The number of revisions included in a project will depend on the agreed package or quotation.

Minor revisions within the agreed scope may be included.

Additional revisions, major changes, or changes that require substantial re-editing or re-production may incur additional charges.

6. Changes in Project Scope

Once a project scope, creative direction or deliverables have been approved, substantial changes requested by the client may affect:

• Project cost
• Production requirements
• Delivery timeline

Visual Brothers reserves the right to charge additional fees for substantial changes outside the original agreement.

7. Internal Workflow & Production Methods

Visual Brothers maintains its own internal creative and production workflow.

Our internal:

• Production processes
• Editing methods
• Creative techniques
• AI workflows
• VFX processes
• Project organization
• Internal tools and working methods
• Source/project files and internal production practices

are considered confidential/proprietary working information unless specifically agreed otherwise in writing.

Clients receive the agreed final deliverables, not necessarily our internal workflow, production methodology or editable working files.

Editable/source/project files are not included unless specifically agreed as part of the project.

8. Client Materials

The client is responsible for ensuring that any materials, logos, footage, music, photographs, documents or other assets supplied to Visual Brothers are authorized for use.

The client should have the necessary rights or permissions for materials they provide to us.

9. Client Approvals

The client is responsible for reviewing and approving creative work, drafts and final deliverables within a reasonable timeframe.

Delays in client feedback, approvals or provision of required materials may affect the project timeline.

10. Final Deliverables

Visual Brothers will provide the deliverables agreed upon in the project quotation or package.

Additional formats, versions, resolutions, exports or deliverables not included in the original agreement may be subject to additional charges.

11. Cancellation

Project cancellation terms, including treatment of advance payments, will depend on the stage of production and the specific agreement between Visual Brothers and the client.

Any cancellation or refund arrangement should be confirmed in writing.

12. Intellectual Property

Ownership and usage rights for final project deliverables will depend on the agreed project terms.

Unless otherwise agreed in writing, Visual Brothers retains ownership of its underlying creative methods, internal processes, templates, tools, working files and proprietary production techniques.

13. Portfolio & Promotion

Unless otherwise agreed with the client in writing, Visual Brothers may display completed work in its portfolio, website, social media or promotional materials.

If a project is confidential, embargoed or subject to an NDA, the applicable confidentiality agreement will take precedence.

14. Right to Refuse or Pause Work

Visual Brothers may refuse, pause or discontinue work where necessary due to non-payment, unreasonable scope changes, misuse of services, unlawful content, abusive conduct or other circumstances that make continued work impractical.

15. Agreement

By approving a quotation, package, proposal, project scope or commencing a project with Visual Brothers, the client acknowledges and agrees to the applicable project terms and conditions.

Specific written agreements, quotations or contracts may contain additional terms that take precedence over these general website Terms & Conditions where applicable.

16. Updates

Visual Brothers may update these Terms & Conditions from time to time.

The latest version will be made available on this website.

17. Contact

For questions regarding these Terms & Conditions:

The Visuals Brothers
info@thevisualsbrothers.com`;

function LegalModal({ type, onClose }) {
  const title = type === "privacy" ? "PRIVACY POLICY" : "TERMS & CONDITIONS";
  const body = type === "privacy" ? privacyBody : termsBody;
  const [closing, setClosing] = React.useState(false);

  React.useEffect(() => {
    document.body.style.overflow = "hidden";
    function onKey(e) { if (e.key === "Escape") handleClose(); }
    window.addEventListener("keydown", onKey);
    return () => { document.body.style.overflow = ""; window.removeEventListener("keydown", onKey); };
  }, []);

  function handleClose() {
    setClosing(true);
    setTimeout(onClose, 280);
  }

  return (
    <div onClick={(e) => { if (e.target === e.currentTarget) handleClose(); }} style={{
      position: "fixed", inset: 0, zIndex: 1000, display: "flex", alignItems: "center", justifyContent: "center",
      background: "rgba(15,23,42,0.75)", backdropFilter: "blur(6px)",
      animation: `${closing ? "vb-modal-fade-out" : "vb-modal-fade-in"} 0.28s ease both`,
    }}>
      <div style={{
        position: "relative", width: "min(720px, 92vw)", maxHeight: "86vh", overflow: "hidden",
        background: "var(--slate-900)", border: "1px solid var(--border-subtle)", borderRadius: "12px",
        boxShadow: "0 24px 80px rgba(0,0,0,0.5)", fontFamily: "var(--font-body)",
        animation: `${closing ? "vb-modal-scale-out" : "vb-modal-scale-in"} 0.3s cubic-bezier(0.22,1,0.36,1) both`,
      }}>
        <img src="site/doodle-v1-filmreel.png" alt="" aria-hidden="true" style={{ position: "absolute", top: "6%", right: "5%", width: "56px", opacity: 0.08, transform: "rotate(6deg)", pointerEvents: "none" }} />
        <img src="site/doodle-star.png" alt="" aria-hidden="true" style={{ position: "absolute", bottom: "6%", right: "8%", width: "34px", opacity: 0.1, transform: "rotate(-5deg)", pointerEvents: "none" }} />
        <button onClick={handleClose} aria-label="Close" style={{
          position: "absolute", top: "18px", right: "18px", zIndex: 2, width: "36px", height: "36px", borderRadius: "50%",
          border: "1px solid var(--border-strong)", background: "transparent", color: "var(--text-primary)",
          fontSize: "16px", cursor: "pointer", display: "flex", alignItems: "center", justifyContent: "center",
          transition: "transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease",
        }}
        onMouseEnter={(e) => { e.currentTarget.style.transform = "scale(1.12)"; e.currentTarget.style.boxShadow = "0 0 14px rgba(217,119,6,0.4)"; e.currentTarget.style.borderColor = "var(--accent-primary)"; }}
        onMouseLeave={(e) => { e.currentTarget.style.transform = "scale(1)"; e.currentTarget.style.boxShadow = "none"; e.currentTarget.style.borderColor = "var(--border-strong)"; }}>×</button>
        <div style={{ padding: "48px 48px 12px", position: "relative", zIndex: 1 }}>
          <img src="site/logo.png" alt="The Visuals Brothers" style={{ height: "84px", width: "auto", opacity: 0.95, marginBottom: "20px" }} />
          <div style={{ fontSize: "12px", color: "var(--accent-primary)", textTransform: "uppercase", letterSpacing: "3px", marginBottom: "8px" }}>Legal</div>
          <h2 style={{ fontSize: "28px", fontWeight: 700, color: "var(--text-primary)", margin: "0 0 24px" }}>{title}</h2>
        </div>
        <div style={{
          padding: "0 48px 48px", overflowY: "auto", maxHeight: "calc(86vh - 160px)",
          color: "var(--text-secondary)", fontSize: "14px", lineHeight: 1.8, whiteSpace: "pre-line", position: "relative", zIndex: 1,
        }}>{body}</div>
      </div>
    </div>
  );
}

window.LegalModal = LegalModal;
