<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" type="image/png" href="/favicon.png">
    <title>Home+ Comfort Architect — iPad HVAC comfort reports for Long Island</title>
    <meta name="description" content="iPad LiDAR walk-throughs, real Manual J load calcs, and magazine-quality heat pump proposals built for Long Island homes. NYS Clean Heat + IRA rebates included.">
    <meta name="author" content="Home+ Comfort" />
    <meta name="robots" content="noindex" />
    <meta name="theme-color" content="#f7f6f3" />

    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <!-- Every page's first meaningful paint gates on a Supabase RPC; on a
         cold LTE connection the DNS+TLS handshake alone is 100-300ms that
         used to start only after the bundle booted. -->
    <link rel="preconnect" href="https://dlpafltpdpjnfrjkyryz.supabase.co" crossorigin />

    <!--
      LCP preload for the customer proposal hero. This is a client-rendered
      SPA, so without this the <img> doesn't exist until the bundle boots —
      the browser can't even discover it. Preloading starts the fetch during
      HTML parse. Must reference EXACTLY the file ProposalPage's <picture>
      renders (a mismatch downloads the hero twice). Harmless on other
      routes: an unused preload costs one cached request.
    -->
    <link
      rel="preload"
      as="image"
      type="image/webp"
      href="/proposal-hero-placeholder.webp"
      imagesrcset="/proposal-hero-placeholder-768.webp 768w, /proposal-hero-placeholder.webp 1600w"
      imagesizes="100vw"
      fetchpriority="high"
    />
    <!-- imagesrcset/imagesizes MIRROR the <picture> in ProposalPage exactly.
         Without them the preload always fetched the 1600w file while the
         <picture> on a phone chose the 768w one — every mobile visitor
         downloaded BOTH hero variants. -->

    <link
      href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Poppins:wght@500;600;700&display=swap"
      rel="stylesheet"
    />

    <meta property="og:type" content="website" />
    
    
    
  
  
  
  <meta property="og:image" content="https://architect.hometsair.com/proposal-hero-placeholder.jpg">
  <meta property="og:image:width" content="1600">
  <meta property="og:image:height" content="561">
  <meta name="twitter:image" content="https://architect.hometsair.com/proposal-hero-placeholder.jpg">
  <meta name="twitter:card" content="summary_large_image">
  
  
  
  
  
  
  
  
  <meta property="og:title" content="Your Comfort Proposal — Home+ Air & Heat">
  <meta name="twitter:title" content="Your Comfort Proposal — Home+ Air & Heat">
  <meta property="og:description" content="Your recommended comfort options, fully priced and ready to review.">
  <meta name="twitter:description" content="Your recommended comfort options, fully priced and ready to review.">
  <script type="module" crossorigin src="/assets/index-C9wsbJ77.js"></script>
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-I6tn-efJ.js">
  <link rel="modulepreload" crossorigin href="/assets/ui-vendor-CKOAbto4.js">
  <link rel="stylesheet" crossorigin href="/assets/index-s-bKmiTh.css">
</head>
  <body>
    <div id="root"></div>
  </body>
</html>
