<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Terms &amp; Conditions | Jessica Pineda Real Estate</title>
  <meta name="description" content="Terms and Conditions of use for the Jessica Pineda Real Estate website and services. International REALTOR® Member of NAR.">
  <meta name="robots" content="index, follow">
  <link rel="canonical" href="https://jessicapinedarealestate.com/en/terms">

  <meta property="og:type" content="website">
  <meta property="og:title" content="Terms &amp; Conditions | Jessica Pineda Real Estate">
  <meta property="og:description" content="Terms and Conditions of use for the Jessica Pineda Real Estate website and services.">
  <meta property="og:url" content="https://jessicapinedarealestate.com/en/terms">
  <meta property="og:locale" content="en_US">

  <link rel="alternate" hreflang="en" href="https://jessicapinedarealestate.com/en/terms">
  <link rel="alternate" hreflang="es" href="https://jessicapinedarealestate.com/terminos-condiciones">

  <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Outfit:wght@300;400;500;600&display=swap" media="print" onload="this.media='all'">
  <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Outfit:wght@300;400;500;600&display=swap"></noscript>

  <style>
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { background: #0c0a08; color: #fdfaf5; font-family: system-ui, sans-serif; overflow-x: hidden; }
    #site-header { height: 80px; }
  </style>

  <link rel="stylesheet" href="../assets/css/styles.css">
  <link rel="icon" type="image/svg+xml" href="/favicon.svg">
  <link rel="apple-touch-icon" href="/favicon.svg">
</head>
<body class="page-legal">

  <div id="site-header"></div>

  <main>

    <section class="hero hero--minimal section--dark" style="min-height: 38vh;">
      <div class="hero__content" style="text-align: center; align-items: center; max-width: 900px; margin-inline: auto;">
        <div class="hero__eyebrow reveal">
          <span class="hero__eyebrow-line"></span>
          <span class="hero__eyebrow-text">Legal document · Last updated: April 2026</span>
          <span class="hero__eyebrow-line"></span>
        </div>
        <h1 class="hero__title reveal reveal--delay-1" style="font-size: var(--text-3xl); text-align: center; max-width: 22ch;">
          Terms &amp; <em>Conditions</em>
        </h1>
        <p class="hero__subtitle reveal reveal--delay-2" style="text-align: center; max-width: 60ch; margin-inline: auto;">
          Terms of use for the jessicapinedarealestate.com website and the services offered by Jessica Pineda, International REALTOR® Member of NAR.
        </p>
      </div>
    </section>

    <section class="section section--dark-2">
      <div class="container--narrow">

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">1. Acceptance of Terms</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            Access to and use of the website jessicapinedarealestate.com (hereinafter, "the Site") implies full and unreserved acceptance of these Terms and Conditions. If you do not agree with any part of these terms, please refrain from using the Site.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">2. Purpose of the Site</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            The Site is owned by <strong style="color: var(--white);">Jessica Pineda</strong>, International REALTOR® Member of the National Association of REALTORS® (NAR), with operating headquarters in Mexico City, Mexico. The purpose of the Site is to provide information about Miami preconstruction luxury real estate projects in Florida, USA, directed at international investors, and to facilitate contact with the data controller.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">3. Nature of Published Information</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85; margin-bottom: 1rem;">
            All information about projects, prices, delivery dates, plans, specifications, renderings and availability published on the Site:
          </p>
          <ul style="list-style: disc; padding-left: 1.5rem; color: rgba(253,250,245,0.75); font-size: var(--text-md); line-height: 2;">
            <li>Comes directly from real estate developers and is offered for informational purposes only.</li>
            <li>Is subject to change without notice by the corresponding developer.</li>
            <li><strong style="color: var(--white);">Does not constitute an offer to sell</strong> or solicitation in jurisdictions where such offer or solicitation cannot legally be made.</li>
            <li>Prices are quoted in U.S. dollars (USD) unless expressly indicated, and may vary according to project conditions at the time of the transaction.</li>
            <li>Images and renderings are illustrative representations; the final product may vary.</li>
          </ul>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">4. Services Offered</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            Jessica Pineda operates exclusively under NAR's official <em>International REALTOR® Members</em> program, representing international investors in formal introductions to Miami real estate developers. <strong style="color: var(--white);">She does not act as an attorney, tax advisor, or financial intermediary.</strong> Any legal, tax or financial matter is referred to specialized independent professionals.
          </p>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85; margin-top: 1rem;">
            Buyer representation does not generate any cost to the visitor; applicable commissions are paid by the developer in accordance with NAR's international referral model.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">5. Intellectual Property</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85; margin-bottom: 1rem;">
            All Site content — including text, brands, designs, photographs, videos, logos, source code, editorial structure and blog articles — is the property of Jessica Pineda or used under valid license from its respective rights holders (including real estate developers, NAR and brand providers).
          </p>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            Reproduction, distribution, public communication, transformation or any other use of the content without prior written authorization is <strong style="color: var(--white);">expressly prohibited</strong>. The <strong style="color: var(--white);">REALTOR®</strong> brand and associated logos are registered trademarks controlled by the National Association of REALTORS® and used under license.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">6. Permitted &amp; Prohibited Use of the Site</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85; margin-bottom: 1rem;">
            The user agrees to use the Site lawfully and in accordance with morality and public order. The following is expressly prohibited:
          </p>
          <ul style="list-style: disc; padding-left: 1.5rem; color: rgba(253,250,245,0.75); font-size: var(--text-md); line-height: 2;">
            <li>Using the Site for unlawful, fraudulent or harmful purposes to third parties.</li>
            <li>Introducing viruses, malware or any code that may damage the Site's operation.</li>
            <li>Performing scraping, mining or automated data extraction without express authorization.</li>
            <li>Impersonating the data controller or any third party.</li>
            <li>Using Site information to send unsolicited commercial communication (spam).</li>
          </ul>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">7. Third-Party Links</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            The Site may contain links to third-party websites (developers, social networks, hosting platforms). Jessica Pineda is not responsible for the content, privacy practices or terms of use of those sites. The inclusion of a link does not imply endorsement or validation of the linked content.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem; background: rgba(196,164,107,0.06); border-left: 3px solid var(--gold); padding: 1.5rem 1.75rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">8. Equal Housing Opportunity</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            This Site and all services offered comply with the U.S. Federal Fair Housing Act. We do not discriminate on the basis of race, color, religion, sex, national origin, familial status, disability, or any other category protected by applicable U.S. federal law or international laws.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">9. Limitation of Liability</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85; margin-bottom: 1rem;">
            Site information is offered "as is" without warranties of any kind. Jessica Pineda <strong style="color: var(--white);">will not be responsible</strong> for:
          </p>
          <ul style="list-style: disc; padding-left: 1.5rem; color: rgba(253,250,245,0.75); font-size: var(--text-md); line-height: 2;">
            <li>Errors or omissions in information published by real estate developers.</li>
            <li>Changes in prices, plans, delivery dates or conditions by the developer.</li>
            <li>Losses or damages arising from the use or inability to use the Site.</li>
            <li>Investment decisions made based on the published information (each investor must conduct their own due diligence).</li>
            <li>Content or practices of linked third-party websites.</li>
            <li>Interruptions, technical failures or malicious attacks against the Site.</li>
          </ul>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">10. Modifications to Terms</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            Jessica Pineda reserves the right to modify these Terms and Conditions at any time. Modifications will be published on this same page, indicating the date of the last update. Continued use of the Site after publication implies acceptance of the modified terms.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">11. Privacy &amp; Data Protection</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            The processing of personal data collected through the Site is governed by our <a href="privacy-policy.html" style="color: var(--gold-light);">Privacy Policy</a>, in compliance with applicable international data protection regulations including GDPR (European Union) and CCPA (California).
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--white); margin-bottom: 1rem;">12. Governing Law &amp; Jurisdiction</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            These Terms and Conditions are governed by the federal laws of the United Mexican States. For interpretation, execution and compliance with these terms, the parties expressly submit to the jurisdiction of the competent courts of Mexico City, waiving any other jurisdiction that may correspond by reason of their present or future domicile. Real estate transactions in U.S. territory are also governed by applicable Florida state law and corresponding federal regulation.
          </p>
        </div>

        <div class="reveal" style="margin-bottom: 2.5rem; background: rgba(196,164,107,0.08); border: 1px solid rgba(196,164,107,0.3); border-left: 4px solid var(--gold); padding: 1.75rem 2rem;">
          <h2 style="font-family: var(--font-display); font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 400; color: var(--gold-light); margin-bottom: 1rem;">13. Contact</h2>
          <p style="font-size: var(--text-md); color: rgba(253,250,245,0.8); line-height: 1.85;">
            For any inquiry about these Terms and Conditions, you may write to <a href="mailto:contacto@jessicapinedarealestate.com" style="color: var(--gold-light);">contacto@jessicapinedarealestate.com</a> or contact through the channels available on the <a href="contact.html" style="color: var(--gold-light);">contact page</a>.
          </p>
        </div>

        <div class="reveal" style="text-align: center; padding: 2rem 0; border-top: 1px solid rgba(196,164,107,0.2);">
          <p style="font-size: var(--text-sm); color: rgba(253,250,245,0.6); line-height: 1.85; max-width: 60ch; margin: 0 auto;">
            By using this website you confirm that you have read, understood and accepted these Terms and Conditions in their entirety.
          </p>
          <p style="font-family: var(--font-display); font-size: 0.95rem; color: var(--gold-light); margin-top: 1.5rem; letter-spacing: 0.06em;">
            Last updated: April 30, 2026
          </p>
        </div>

      </div>
    </section>

  </main>

  <div id="site-footer"></div>

  <script src="../assets/js/main.js" defer></script>
</body>
</html>