<!doctype html>
<html lang="pt-BR" translate="no">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0" />
    <title>PatriMatch — Marketplace de Luxo | Carros, Imóveis, Aeronaves, Barcos</title>
    <meta name="description" content="Compre, venda e conecte. O marketplace premium do Brasil para carros de luxo, imóveis exclusivos, aeronaves, barcos e muito mais. Sem intermediários.">
    <meta name="keywords" content="marketplace luxo, carros luxo, imóveis luxo, aeronaves, barcos, produtos premium, networking profissional, Brasil">
    <meta name="robots" content="index, follow">
    <meta name="language" content="Portuguese">
    <meta name="google" content="notranslate" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="author" content="PatriMatch" />
    <link rel="canonical" href="https://patrimatch.com.br/" />
    
    <!-- Critical: DNS Prefetch and Preconnect for faster loading -->
    <link rel="preconnect" href="https://fhyttfpyeurvrbpdtdmv.supabase.co" crossorigin />
    <link rel="dns-prefetch" href="https://fhyttfpyeurvrbpdtdmv.supabase.co" />
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="dns-prefetch" href="https://js.stripe.com" />
    <link rel="dns-prefetch" href="https://api.stripe.com" />
    
    <!-- Resource hints for critical scripts -->
    <link rel="modulepreload" href="data:application/octet-stream;base64,aW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGNyZWF0ZVJvb3QsIHR5cGUgUm9vdCBhcyBSZWFjdFJvb3QgfSBmcm9tICJyZWFjdC1kb20vY2xpZW50IjsKaW1wb3J0IEFwcCBmcm9tICIuL0FwcC50c3giOwppbXBvcnQgIi4vaW5kZXguY3NzIjsKaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gIi4vY29tcG9uZW50cy9FcnJvckJvdW5kYXJ5IjsKaW1wb3J0IHsgT2ZmbGluZVBhZ2UgfSBmcm9tICIuL2NvbXBvbmVudHMvT2ZmbGluZVBhZ2UiOwppbXBvcnQgeyBMYW5ndWFnZVByb3ZpZGVyIH0gZnJvbSAiLi9jb250ZXh0cy9MYW5ndWFnZUNvbnRleHQiOwoKY29uc3QgUm9vdENvbXBvbmVudCA9ICgpID0+IHsKICBjb25zdCBbaXNPbmxpbmUsIHNldElzT25saW5lXSA9IHVzZVN0YXRlKG5hdmlnYXRvci5vbkxpbmUpOwoKICB1c2VFZmZlY3QoKCkgPT4gewogICAgY29uc3QgaGFuZGxlT25saW5lID0gKCkgPT4gc2V0SXNPbmxpbmUodHJ1ZSk7CiAgICBjb25zdCBoYW5kbGVPZmZsaW5lID0gKCkgPT4gc2V0SXNPbmxpbmUoZmFsc2UpOwoKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBoYW5kbGVPbmxpbmUpOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVPZmZsaW5lKTsKCiAgICByZXR1cm4gKCkgPT4gewogICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgaGFuZGxlT25saW5lKTsKICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVPZmZsaW5lKTsKICAgIH07CiAgfSwgW10pOwoKICBpZiAoIWlzT25saW5lKSB7CiAgICByZXR1cm4gPE9mZmxpbmVQYWdlIC8+OwogIH0KCiAgcmV0dXJuICgKICAgIDxFcnJvckJvdW5kYXJ5PgogICAgICA8TGFuZ3VhZ2VQcm92aWRlcj4KICAgICAgICA8QXBwIC8+CiAgICAgIDwvTGFuZ3VhZ2VQcm92aWRlcj4KICAgIDwvRXJyb3JCb3VuZGFyeT4KICApOwp9OwoKLy8gU3RvcmUgcm9vdCBpbnN0YW5jZSB0byBwcmV2ZW50IHJlY3JlYXRpb24KbGV0IHJvb3Q6IFJlYWN0Um9vdCB8IG51bGwgPSBudWxsOwoKY29uc3QgbW91bnRBcHAgPSAoKSA9PiB7CiAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKTsKICAKICBpZiAoIWNvbnRhaW5lcikgewogICAgY29uc29sZS5lcnJvcigiUm9vdCBjb250YWluZXIgbm90IGZvdW5kIik7CiAgICByZXR1cm47CiAgfQoKICAvLyBDbGVhciBhbnkgY29udGVudCB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBpbmplY3RlZCBieSBicm93c2VyIGV4dGVuc2lvbnMKICB3aGlsZSAoY29udGFpbmVyLmZpcnN0Q2hpbGQpIHsKICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChjb250YWluZXIuZmlyc3RDaGlsZCk7CiAgfQoKICAvLyBPbmx5IGNyZWF0ZSByb290IG9uY2UKICBpZiAoIXJvb3QpIHsKICAgIHJvb3QgPSBjcmVhdGVSb290KGNvbnRhaW5lcik7CiAgfQoKICByb290LnJlbmRlcigKICAgIDxSZWFjdC5TdHJpY3RNb2RlPgogICAgICA8Um9vdENvbXBvbmVudCAvPgogICAgPC9SZWFjdC5TdHJpY3RNb2RlPgogICk7Cn07CgovLyDilIDilIDilIAgUmVzdG9yZSBhY2Nlc3NpYmlsaXR5IHNldHRpbmdzIGJlZm9yZSBmaXJzdCBwYWludCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKKCgpID0+IHsKICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwogIGNvbnN0IHNjYWxlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oImExMXlfZm9udHNpemUiKTsKICBpZiAoc2NhbGUpIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoIi0tYTExeS1mb250LXNjYWxlIiwgc2NhbGUpOwogIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiYTExeV9jb250cmFzdCIpID09PSAidHJ1ZSIpIHJvb3QuY2xhc3NMaXN0LmFkZCgiYTExeS1oaWdoLWNvbnRyYXN0Iik7CiAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJhMTF5X21vdGlvbiIpID09PSAidHJ1ZSIpIHJvb3QuY2xhc3NMaXN0LmFkZCgiYTExeS1yZWR1Y2UtbW90aW9uIik7CiAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJhMTF5X2R5c2xleGlhIikgPT09ICJ0cnVlIikgcm9vdC5jbGFzc0xpc3QuYWRkKCJhMTF5LWR5c2xleGlhIik7CiAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJhMTF5X2N1cnNvciIpID09PSAidHJ1ZSIpIHJvb3QuY2xhc3NMaXN0LmFkZCgiYTExeS1sYXJnZS1jdXJzb3IiKTsKfSkoKTsKCi8vIEhhbmRsZSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb25zIHdpdGggRE9NIHJlYWR5IHN0YXRlCmlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnbG9hZGluZycpIHsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbW91bnRBcHApOwp9IGVsc2UgewogIG1vdW50QXBwKCk7Cn0KCi8vIEF1dG8tcmVsb2FkIHdoZW4gYSBsYXp5LWxvYWRlZCBjaHVuayBmYWlscyB0byBsb2FkIChzdGFsZSBkZXBsb3ltZW50IC8gTUlNRSBlcnJvcikuCi8vIFZpdGUgZmlyZXMgdGhpcyBldmVudCB3aGVuIGR5bmFtaWMgaW1wb3J0KCkgZmFpbHMuIFdlIHJlbG9hZCBvbmNlIHRvIGdldCBmcmVzaCBpbmRleC5odG1sLgp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndml0ZTpwcmVsb2FkRXJyb3InLCAoKSA9PiB7CiAgY29uc3QgcmVsb2FkS2V5ID0gJ3ZpdGVfcHJlbG9hZF9yZWxvYWQnOwogIGlmICghc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShyZWxvYWRLZXkpKSB7CiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHJlbG9hZEtleSwgJzEnKTsKICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKICB9Cn0pOwoKLy8gUGF0Y2ggcmVtb3ZlQ2hpbGQgdG8gcHJldmVudCBlcnJvcnMgZnJvbSBicm93c2VyIGV4dGVuc2lvbnMKY29uc3Qgb3JpZ2luYWxSZW1vdmVDaGlsZCA9IE5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkOwpOb2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCA9IGZ1bmN0aW9uPFQgZXh0ZW5kcyBOb2RlPihjaGlsZDogVCk6IFQgewogIGlmIChjaGlsZC5wYXJlbnROb2RlICE9PSB0aGlzKSB7CiAgICBjb25zb2xlLndhcm4oJ0F0dGVtcHRlZCB0byByZW1vdmUgYSBub2RlIHRoYXQgaXMgbm90IGEgY2hpbGQuIElnbm9yaW5nLicpOwogICAgcmV0dXJuIGNoaWxkOwogIH0KICByZXR1cm4gb3JpZ2luYWxSZW1vdmVDaGlsZC5jYWxsKHRoaXMsIGNoaWxkKSBhcyBUOwp9Owo=" />
    
    <!-- PWA Meta Tags -->
    <meta name="theme-color" content="#d4af37" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <meta name="apple-mobile-web-app-title" content="Patrimatch" />
    <link rel="manifest" href="/app.webmanifest" />
    <link rel="apple-touch-icon" href="/pwa-192x192.png" />
    
    <!-- Open Graph / Facebook -->
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://patrimatch.com.br/" />
    <meta property="og:title" content="PatriMatch — Marketplace de Luxo" />
    <meta property="og:description" content="O marketplace premium do Brasil para carros de luxo, imóveis exclusivos, aeronaves, barcos e muito mais. Sem intermediários." />
    <meta property="og:site_name" content="PatriMatch" />
    <meta property="og:locale" content="pt_BR" />
    <meta property="og:locale:alternate" content="en_US" />
    <meta property="og:locale:alternate" content="es_ES" />
    <meta property="og:image" content="https://patrimatch.com.br/og-image.jpg" />
    <meta property="og:image:width" content="1200" />
    <meta property="og:image:height" content="630" />
    <meta property="og:image:alt" content="PatriMatch — Marketplace de Luxo" />

    <!-- Twitter Cards -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:url" content="https://patrimatch.com.br/" />
    <meta name="twitter:site" content="@patrimatch" />
    <meta name="twitter:title" content="PatriMatch — Marketplace de Luxo" />
    <meta name="twitter:description" content="O marketplace premium do Brasil para carros de luxo, imóveis exclusivos, aeronaves, barcos e muito mais." />
    <meta name="twitter:image" content="https://patrimatch.com.br/og-image.jpg" />
    <meta name="twitter:image:alt" content="PatriMatch — Marketplace de Luxo" />
  
    <link rel="icon" type="image/x-icon" href="https://storage.googleapis.com/gpt-engineer-file-uploads/WAjo18zjjqVwgIMabN9qzM4pb0h1/uploads/1759606205433-image2.png">

    <!-- Performance: Inline critical CSS hint -->
    <style>
      /* Critical CSS for faster initial paint */
      body { margin: 0; font-family: system-ui, -apple-system, sans-serif; }
      #root { min-height: 100vh; }
      .animate-spin { animation: spin 1s linear infinite; }
      @keyframes spin { to { transform: rotate(360deg); } }
    </style>
  <script type="module" crossorigin src="/assets/index-Dtnd8aG0.js"></script>
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DeHlsF8I.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-query-YmBv9eF4.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-supabase-BtrSfPgE.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-ui-WE8vOJ7h.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-charts-CYLnU8Ta.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-icons-CMzSI_Ee.js">
  <link rel="stylesheet" crossorigin href="/assets/index-CIsTouJT.css">
</head>

  <body>
    <!-- Wrapper to protect React root from browser extension DOM modifications -->
    <div id="app-wrapper" style="display: contents;">
      <div id="root"></div>
    </div>
  </body>
</html>
