<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<!-- Meta Pixel — Breslow Outdoors (304663385312173) — deferred to after page is interactive -->
<script>
(function(){
  function loadPixel(){
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '304663385312173');
    fbq('track', 'PageView');
  }
  if(document.readyState==='complete')setTimeout(loadPixel,1500);
  else window.addEventListener('load',function(){setTimeout(loadPixel,1500)});
})();
</script>
<noscript><img height="1" width="1" style="display:none" alt=""
src="https://www.facebook.com/tr?id=304663385312173&ev=PageView&noscript=1"/></noscript>

<script async src="https://www.googletagmanager.com/gtag/js?id=G-RNKYQTFTYN"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','G-RNKYQTFTYN');gtag('config','AW-1052777336');</script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Breslow Design &amp; Build — Luxury Outdoor Shade Solutions Since 1924 | Pergolas, Awnings, Motorized Screens</title>
<meta name="description" content="Luxury outdoor shade solutions for residential and commercial projects. Motorized louvered pergolas, retractable awnings, and motorized screen shades — designed, engineered, and installed by Breslow since 1924. Country clubs, restaurants, rooftop terraces, and high-end homes across NJ, NY, CT, and 6 more states.">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large">
<link rel="canonical" href="https://www.breslow.com/">
<!-- Preload the hero image (now static across all viewports) -->
<link rel="preload" as="image" href="/media/sansavero/sansavero-home-hero-poster.webp?v=2" type="image/webp" fetchpriority="high">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/favicon.svg">

<!-- Perf: warm up third-party connections so they're ready when needed -->
<link rel="preconnect" href="https://www.youtube-nocookie.com">
<link rel="preconnect" href="https://i.ytimg.com" crossorigin>
<link rel="dns-prefetch" href="https://www.googletagmanager.com">
<link rel="dns-prefetch" href="https://www.google-analytics.com">
<link rel="dns-prefetch" href="https://connect.facebook.net">
<meta property="og:type" content="website">
<meta property="og:title" content="Breslow Design &amp; Build — Luxury Outdoor Shade Solutions Since 1924">
<meta property="og:description" content="Motorized louvered pergolas, retractable awnings, and motorized screen shades. The Northeast's one-stop shop for luxury outdoor shade — since 1924.">
<meta property="og:url" content="https://www.breslow.com/">
<meta property="og:image" content="https://www.breslow.com/media/portfolio/demarest-nj/demarest-nj-modern-aluminum-louvered-roof-cover.jpg">
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://www.breslow.com/#organization",
  "name": "Breslow Design & Build",
  "description": "Breslow Design & Build is the Northeast's premier outdoor living design-build firm — founded 1924, 4th generation family-owned. Full turnkey custom pergolas, louvered roofs, retractable awnings, and motorized screen shades. PE-stamped engineering. 9 states.",
  "foundingDate": "1924",
  "numberOfEmployees": {"@type": "QuantitativeValue", "value": 25},
  "telephone": "+19737989328",
  "alternateName": "Breslow Design & Build LLC",
  "slogan": "Luxury Outdoor Shade Solutions Since 1924",
  "email": "design@breslow.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "65 Brown Ave",
    "addressLocality": "Springfield",
    "addressRegion": "NJ",
    "postalCode": "07081",
    "addressCountry": "US"
  },
  "hasMap": "https://maps.google.com/?q=Breslow+Design+Build+65+Brown+Ave+Springfield+NJ",
  "publicAccess": false,
  "geo": {"@type":"GeoCoordinates","latitude":40.7045,"longitude":-74.3193},
  "areaServed": [
    {"@type":"State","name":"New Jersey"},
    {"@type":"State","name":"Connecticut"},
    {"@type":"State","name":"New York"},
    {"@type":"State","name":"Pennsylvania"},
    {"@type":"State","name":"Maryland"},
    {"@type":"State","name":"Delaware"},
    {"@type":"State","name":"Rhode Island"},
    {"@type":"State","name":"Massachusetts"},
    {"@type":"State","name":"Florida"}
  ],
  "url": "https://www.breslow.com",
  "logo": "https://www.breslow.com/media/breslow-logo-gold-black.svg",
  "image": "https://www.breslow.com/media/portfolio/demarest-nj/demarest-nj-modern-aluminum-louvered-roof-cover.jpg",
  "sameAs": [
    "https://www.instagram.com/breslowdesign/",
    "https://www.youtube.com/@MotorizedPergola",
    "https://www.tiktok.com/@breslowdesign"
  ],
  "openingHoursSpecification": [
    {"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"10:00","closes":"18:00"},
    {"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"10:00","closes":"15:00"}
  ],
  "priceRange": "$$$",
  "aggregateRating": {"@type":"AggregateRating","ratingValue":"4.9","reviewCount":"100","bestRating":"5","worstRating":"1"},
  "review": [
    {"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":"5"},"author":{"@type":"Person","name":"Colleen D."},"datePublished":"2025-09-01","reviewBody":"Dana, Jorge and the entire Breslow team were amazing to work with. They were attentive to my client's needs and made everything happen seamlessly. The pergola is incredible and such a beautiful addition to my client's outdoor space."},
    {"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":"5"},"author":{"@type":"Person","name":"Anthony Corcoran"},"datePublished":"2025-08-15","reviewBody":"We love our motorized louvered pergola. They were great through the entire process and I would totally use them again. Responsive and professional."},
    {"@type":"Review","reviewRating":{"@type":"Rating","ratingValue":"5"},"author":{"@type":"Person","name":"Jennifer Puricelli"},"datePublished":"2025-10-01","reviewBody":"I'm obsessed with my pergola and the wonderful shade it provides. This company was amazing to work with — always available for questions and always professional. The designer and Jorge are a perfect team!"}
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Breslow Design & Build — Motorized Louvered Roof Pergola Project Walkthrough",
  "description": "Walk through a real Breslow motorized louvered roof pergola installation. See the Azenco R-Blade aluminum louvered system in operation — engineered, custom-milled, and installed by Breslow Design & Build, a 4th-generation family business serving NJ, NY, and CT since 1924.",
  "thumbnailUrl": [
    "https://i.ytimg.com/vi/V4p7LZHruLk/maxresdefault.jpg",
    "https://i.ytimg.com/vi/V4p7LZHruLk/hqdefault.jpg"
  ],
  "uploadDate": "2025-01-01",
  "contentUrl": "https://www.youtube.com/watch?v=V4p7LZHruLk",
  "embedUrl": "https://www.youtube.com/embed/V4p7LZHruLk",
  "publisher": {
    "@type": "Organization",
    "name": "Breslow Design & Build",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.breslow.com/media/breslow-logo-gold-black.svg"
    }
  }
}
</script>
<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"FAQPage",
  "mainEntity":[
    {"@type":"Question","name":"What is a motorized pergola?","acceptedAnswer":{"@type":"Answer","text":"A motorized pergola is a pergola whose roof can be opened and closed at the touch of a button. The Azenco R-Blade™ features motorized aluminum louvers that rotate 0°–160°, giving you full control over sunlight, shade, and rain protection from your phone or remote."}},
    {"@type":"Question","name":"How much does a Breslow system cost?","acceptedAnswer":{"@type":"Answer","text":"Residential systems typically range from $50,000 to $150,000+ depending on size, complexity, and features. Commercial projects are scoped individually. We provide accurate, detailed estimates during your free consultation. Financing options are available."}},
    {"@type":"Question","name":"What is Azek wrapping?","acceptedAnswer":{"@type":"Answer","text":"Azek wrapping is custom-milled PVC trim applied to every column, beam, fascia, and crown moulding — matched precisely to your home's existing architecture. The result is a pergola that looks like it was designed with your home from day one, not added on afterward."}},
    {"@type":"Question","name":"How long does it take to install a motorized pergola?","acceptedAnswer":{"@type":"Answer","text":"Residential projects typically take 2–4 days on-site. The full process — design, permitting, fabrication, and installation — is typically 8–12 weeks from signed contract. Our team handles everything including PE-stamped engineering."}},
    {"@type":"Question","name":"Do motorized pergolas require maintenance?","acceptedAnswer":{"@type":"Answer","text":"Azenco R-Blade™ systems are built from 6063-T6 aerospace-grade aluminum with a powder-coat finish — they require very minimal maintenance. We recommend an annual inspection of the motor and louver seals. Breslow offers a lifetime service program for all installed systems."}},
    {"@type":"Question","name":"What areas do you service?","acceptedAnswer":{"@type":"Answer","text":"We're based in North Jersey and serve NJ, CT, NY, PA, MD, DE, RI, MA, and Florida — 9 states in total. By appointment only — call or book online to schedule a consultation."}},
    {"@type":"Question","name":"Can I add heating and screens to a motorized pergola?","acceptedAnswer":{"@type":"Answer","text":"Absolutely. Breslow integrates infrared heating panels, motorized zip-track screens (R-Shade™), LED lighting, and outdoor audio into every R-Blade™ system. These are engineered in from the start — not added as afterthoughts."}},
    {"@type":"Question","name":"Is a motorized pergola worth the investment?","acceptedAnswer":{"@type":"Answer","text":"For homeowners who use their outdoor space regularly, an Azenco R-Blade™ system transforms a seasonal patio into a year-round living room. The combination of rain protection, heat, and lighting means the space is usable 10–11 months a year in the Northeast."}},
    {"@type":"Question","name":"Do you work in New York City and on rooftops?","acceptedAnswer":{"@type":"Answer","text":"Yes. Breslow has completed numerous NYC rooftop and penthouse installations — fully NYC DOB compliant, PE-stamped for elevated wind loads, and coordinated with building management for crane logistics."}}
  ]
}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Service","name":"Azenco R-Blade™ Motorized Pergola Installation","provider":{"@id":"https://www.breslow.com/#organization"},"serviceType":"Motorized Pergola Installation","description":"Custom Azenco R-Blade™ motorized louvered roof system design, engineering, and installation. Features 0°–160° adjustable louvers, 110 mph wind rating, rain sensor, and app control. Tailored to any residential or commercial space.","areaServed":["NJ","CT","NY","PA","MD","DE","RI","MA","FL"]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Service","name":"Azenco R-Shade™ Retractable Screen Installation","provider":{"@id":"https://www.breslow.com/#organization"},"serviceType":"Retractable Screen Installation","description":"Azenco R-Shade™ zip-track motorized retractable screens for pergolas, porches, and patios. Wind-rated to 65 mph. Options include solar/UV, privacy, blackout, and clear vinyl enclosure fabrics.","areaServed":["NJ","CT","NY","PA","MD","DE","RI","MA","FL"]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Service","name":"Custom Retractable Awning Installation","provider":{"@id":"https://www.breslow.com/#organization"},"serviceType":"Awning Installation","description":"Breslow designs and installs custom motorized and manual retractable awnings for residential and commercial properties. Featuring architectural-grade fabrics, Somfy motors, and structural integration matching your home's exterior.","areaServed":["NJ","CT","NY","PA","MD","DE","RI","MA","FL"]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.breslow.com"}]}
</script>

<link rel="stylesheet" href="/assets/site-styles.css">

<style>
/* ── v11: 4-section transcript-aligned homepage ────────────────────
   Hero (background video) · Trust strip · Why · Portfolio grid · CTA */

/* Hero — match production index.html: layered video + grad + grid + glow */
.v11-hero{padding:140px 48px 100px;text-align:center;min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#0d1117 0%,#1a2332 50%,#0d1117 100%)}
.v11-hero-bg{position:absolute;inset:0;z-index:0}
.v11-hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;border:none}
.v11-hero-fade{opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94);z-index:1}
.v11-hero-fade.is-playing{opacity:1}
.v11-hero-poster{z-index:0}
.v11-hero-video::-webkit-media-controls{display:none!important;-webkit-appearance:none}
.v11-hero-video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}
.v11-hero-bg-grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.65) 100%)}
.v11-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(184,149,106,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,149,106,.04) 1px,transparent 1px);background-size:60px 60px;opacity:.2}
.v11-hero-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(184,149,106,.08) 0%,transparent 70%);pointer-events:none}
.v11-hero-content{position:relative;z-index:1;max-width:920px;margin:0 auto}
.v11-hero-badge{position:absolute;top:88px;right:48px;z-index:3;width:124px;height:124px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.55));transition:transform .3s ease}
.v11-hero-badge:hover{transform:scale(1.05)}
.v11-hero-badge img{width:100%;height:100%;display:block}
@media(max-width:768px){.v11-hero-badge{top:74px;right:14px;width:84px;height:84px}}
@media(max-width:480px){.v11-hero-badge{top:70px;right:12px;width:72px;height:72px}}
.v11-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gd);border:1px solid rgba(184,149,106,.25);padding:9px 22px;margin-bottom:28px;background:rgba(184,149,106,.04)}
.v11-hero h1{font-family:var(--fd,Georgia,serif);font-size:clamp(2rem,4.5vw,3.2rem);color:#fff;font-weight:400;line-height:1.15;max-width:880px;margin:0 auto 20px;letter-spacing:-.3px}
.v11-hero h1 em{color:var(--gd);font-style:italic}
.v11-hero p.lead{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.85;max-width:580px;margin:0 auto 36px;font-weight:300}
.v11-hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* Products section — minimal, dark, flows with the rest of the page */
.v11-products{background:var(--bg,#080808);color:#fff;padding:96px 48px;position:relative;border-top:1px solid rgba(255,255,255,.05)}
.v11-products-head{max-width:780px;margin:0 auto 56px;text-align:center}
.v11-products-head .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd,#b8956a);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-products-head h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0;letter-spacing:-.3px}
.v11-products-head h2 em{color:var(--gd,#b8956a);font-style:italic}
.v11-prod-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.v11-prod-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:none;border:none}
.v11-prod-img{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#1a1714}
.v11-prod-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.v11-prod-card:hover .v11-prod-img img{transform:scale(1.04)}
.v11-prod-body{padding:22px 2px 0}
.v11-prod-eyebrow{font-size:.52rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gd,#b8956a);margin-bottom:10px}
.v11-prod-title{font-family:var(--fd,Georgia,serif);font-size:1.3rem;line-height:1.25;font-weight:400;color:#fff;margin:0 0 8px;letter-spacing:-.2px}
.v11-prod-tagline{font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.55);margin:0 0 18px;letter-spacing:.5px}
.v11-prod-cta{font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd,#b8956a);display:inline-block}
.v11-prod-cta::after{content:" →";display:inline-block;margin-left:6px;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}
.v11-prod-card:hover .v11-prod-cta::after{transform:translateX(4px)}

/* Why section — two-column with inline video (now lives BELOW the portfolio for SEO long-tail) */
.v11-why{background:var(--bg,#080808);color:#fff;padding:96px 48px;position:relative}
.v11-why-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.v11-why .ps-badge,.v11-why-text .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-why h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 24px;letter-spacing:-.3px}
.v11-why h2 em{color:var(--gd);font-style:italic}
.v11-why p{font-size:.98rem;line-height:1.75;color:rgba(255,255,255,.78);margin:0 0 18px}
.v11-why-cta{margin-top:28px}
.v11-why-video{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1a1714}
.v11-why-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Portfolio grid section — copy of /portfolio/'s .gal-* pattern */
.v11-portfolio{background:var(--bg,#080808);color:#fff;padding:96px 0 80px;position:relative}
.v11-portfolio-head{max-width:780px;margin:0 auto 56px;text-align:center;padding:0 48px}
.v11-portfolio-head .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-portfolio-head h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 18px;letter-spacing:-.3px}
.v11-portfolio-head h2 em{color:var(--gd);font-style:italic}
.v11-portfolio-head p{font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.7);margin:0}

.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:1600px;margin:0 auto}
.gal-item{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:#1a1714;color:inherit;text-decoration:none;display:block}

/* Desktop bento — mixed tile sizes for editorial rhythm */
@media(min-width:701px){
  .gal-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
  .gal-item:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:8/6}   /* East Hanover — big hero */
  .gal-item:nth-child(2){grid-column:span 2;grid-row:span 2;aspect-ratio:8/6}   /* Armonk — big hero */
  .gal-item:nth-child(3){grid-column:span 2;aspect-ratio:8/3}                    /* Tenafly — wide */
  .gal-item:nth-child(8){grid-column:span 2;aspect-ratio:8/3}                    /* Darien-3 — wide */
  .gal-item:nth-child(9){grid-column:span 2;aspect-ratio:8/3}                    /* Old Westbury — wide */
  /* Items 4, 5, 6, 7, 10 stay as standard 4:3 squares — Monmouth kitchen (4) stays uncropped */
}
.gal-item-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94),filter .35s cubic-bezier(.25,.46,.45,.94)}
.gal-item:hover .gal-item-img{transform:scale(1.04);filter:brightness(.78)}
/* ── Featured landscape video inside Signature Work ───────────────────
   16:9 aspect on desktop / 4:3 on mobile, edge-to-edge inside the section.
   Poster paints first; video crossfades in once playing. */
.v11-feature-vid{position:relative;display:block;width:100%;max-width:1600px;margin:0 auto 56px;aspect-ratio:16/9;overflow:hidden;background:#0c0c0c;color:inherit;text-decoration:none;box-shadow:0 24px 64px -16px rgba(0,0,0,.6),0 8px 24px -8px rgba(0,0,0,.4);border:1px solid rgba(184,149,106,.12)}
.v11-feature-vid-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);transform:scale(1.02)}
.v11-feature-vid-media.is-playing{opacity:1;transform:scale(1)}
.v11-feature-vid::before{content:'';position:absolute;inset:0;background:url('/media/sansavero/sansavero-home-hero-poster.jpg?v=2') center/cover no-repeat;z-index:0}
.v11-feature-vid-grad{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.85) 100%);pointer-events:none}
.v11-feature-vid-meta{position:absolute;left:48px;right:48px;bottom:36px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:#fff;pointer-events:none}
.v11-feature-vid-eyebrow{display:inline-block;font-family:var(--fb,Inter,system-ui,sans-serif);font-size:.52rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gd,#b8956a);margin-bottom:12px;line-height:1}
.v11-feature-vid-meta h3{font-family:var(--fd,Georgia,serif);font-size:clamp(1.2rem,2.4vw,1.85rem);font-weight:400;line-height:1.2;color:#fff;letter-spacing:.1px;margin:0;max-width:760px}
.v11-feature-vid-meta h3 em{font-style:italic;color:rgba(255,255,255,.7);font-size:.86em}
.v11-feature-vid-cta{flex-shrink:0;font-family:var(--fb,Inter,system-ui,sans-serif);font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd,#b8956a);padding-bottom:6px;border-bottom:1px solid rgba(184,149,106,.45);transition:border-color .25s,color .25s}
.v11-feature-vid:hover .v11-feature-vid-cta{color:#fff;border-bottom-color:#fff}
.v11-feature-vid:hover .v11-feature-vid-media{transform:scale(1.04)}
/* Live-playing dot on the corner so it reads as "video" not "still image" */
.v11-feature-vid::after{content:'';position:absolute;left:24px;top:24px;z-index:4;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 0 12px rgba(255,255,255,.6);animation:featureVidPulse 2.2s ease-in-out infinite;pointer-events:none}
@keyframes featureVidPulse{0%,100%{opacity:.85}50%{opacity:1;box-shadow:0 0 0 6px rgba(255,255,255,.12),0 0 18px rgba(255,255,255,.8)}}
@media(max-width:900px){
  .v11-feature-vid{margin:0 0 40px;aspect-ratio:16/10}
  .v11-feature-vid-meta{left:24px;right:24px;bottom:22px;flex-direction:column;align-items:flex-start;gap:14px}
  .v11-feature-vid-eyebrow{margin-bottom:8px}
  .v11-feature-vid-meta h3{font-size:1.05rem;max-width:100%}
  .v11-feature-vid::after{left:16px;top:16px}
}
@media(max-width:580px){
  .v11-feature-vid{aspect-ratio:4/3}
  .v11-feature-vid-meta{left:18px;right:18px;bottom:18px}
  .v11-feature-vid-meta h3{font-size:.96rem}
}
.gal-item-overlay{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .3s}
.gal-item:hover .gal-item-overlay{opacity:1;transform:translateY(0)}
.gal-item-loc{font-family:var(--fd,Georgia,serif);font-style:italic;font-size:.92rem;line-height:1;color:#fff;margin:0;letter-spacing:.1px;text-shadow:0 1px 6px rgba(0,0,0,.55);white-space:nowrap}
.gal-item-cta{display:inline-flex;align-items:center;font-size:.95rem;color:var(--gd,#b8956a);text-shadow:0 1px 6px rgba(0,0,0,.55);transition:transform .25s}
.gal-item-cta::after{content:"→";font-size:1em}
.gal-item:hover .gal-item-cta{transform:translateX(3px)}

.v11-portfolio-cta{text-align:center;margin-top:48px;padding:0 48px}

/* Ambient autoplay loop — full-width 16:9 landscape band. object-fit:cover fills (source is 16:9 landscape, no crop). */
.v11-loop{position:relative;width:100%;background:#000;overflow:hidden;aspect-ratio:16/9;max-height:78vh}
.v11-loop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

/* Portrait variant — for 9:16 vertical clips. Foreground video in true aspect (contained),
   background fills the 16:9 container with a blurred copy of the poster (Instagram/TikTok
   reel-on-desktop pattern). */
.v11-loop-portrait .v11-loop-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(36px) brightness(.55);transform:scale(1.18);z-index:0}
.v11-loop-portrait video{object-fit:contain;z-index:1;background:transparent}

/* Commercial strip — restaurants, rooftops, country clubs */
.v11-commercial{background:var(--bg,#080808);color:#fff;padding:80px 0 88px;position:relative;border-top:1px solid rgba(255,255,255,.05)}
.v11-commercial-head{max-width:840px;margin:0 auto 48px;text-align:center;padding:0 48px}
.v11-commercial-head .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd,#b8956a);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-commercial-head h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 18px;letter-spacing:-.3px}
.v11-commercial-head h2 em{color:var(--gd,#b8956a);font-style:italic}
.v11-commercial-head p{font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.72);margin:0}
.v11-comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:1600px;margin:0 auto}
.v11-comm-tile{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a1714;display:block;text-decoration:none;color:inherit;cursor:pointer}
.v11-comm-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94),filter .35s cubic-bezier(.25,.46,.45,.94)}
.v11-comm-tile:hover img{transform:scale(1.04);filter:brightness(.78)}
.v11-comm-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.78) 100%);pointer-events:none}
.v11-comm-label{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.v11-comm-eyebrow{font-size:.5rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gd,#b8956a);margin-bottom:4px}
.v11-comm-name{font-family:var(--fd,Georgia,serif);font-style:italic;font-size:1rem;color:#fff;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.v11-commercial-cta{text-align:center;margin-top:48px;padding:0 48px}
/* Commercial feature video band — sits between tile grid and CTA */
.v11-comm-vid{position:relative;display:block;width:100%;max-width:1400px;margin:48px auto 0;aspect-ratio:16/9;overflow:hidden;background:#0a0a0a;color:inherit;text-decoration:none;box-shadow:0 24px 64px -16px rgba(0,0,0,.65),0 8px 24px -8px rgba(0,0,0,.4);border:1px solid rgba(184,149,106,.14)}
.v11-comm-vid-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);transform:scale(1.02)}
.v11-comm-vid-media.is-playing{opacity:1;transform:scale(1)}
.v11-comm-vid::before{content:'';position:absolute;inset:0;background:url('/media/commercial/lake-success-home-poster.jpg') center/cover no-repeat;z-index:0}
.v11-comm-vid-grad{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 82%,rgba(0,0,0,.88) 100%);pointer-events:none}
.v11-comm-vid-meta{position:absolute;left:48px;right:48px;bottom:36px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:#fff;pointer-events:none}
.v11-comm-vid-eyebrow{display:inline-block;font-family:var(--fb,Inter,system-ui,sans-serif);font-size:.52rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gd,#b8956a);margin-bottom:12px;line-height:1}
.v11-comm-vid-meta h3{font-family:var(--fd,Georgia,serif);font-size:clamp(1.2rem,2.4vw,1.85rem);font-weight:400;line-height:1.2;color:#fff;letter-spacing:.1px;margin:0;max-width:760px}
.v11-comm-vid-meta h3 em{font-style:italic;color:rgba(255,255,255,.7);font-size:.86em}
.v11-comm-vid-cta{flex-shrink:0;font-family:var(--fb,Inter,system-ui,sans-serif);font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd,#b8956a);padding-bottom:6px;border-bottom:1px solid rgba(184,149,106,.45);transition:border-color .25s,color .25s}
.v11-comm-vid:hover .v11-comm-vid-cta{color:#fff;border-bottom-color:#fff}
.v11-comm-vid:hover .v11-comm-vid-media{transform:scale(1.04)}
.v11-comm-vid::after{content:'';position:absolute;left:24px;top:24px;z-index:4;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 0 12px rgba(255,255,255,.6);animation:commVidPulse 2.2s ease-in-out infinite;pointer-events:none}
@keyframes commVidPulse{0%,100%{opacity:.85}50%{opacity:1;box-shadow:0 0 0 6px rgba(255,255,255,.12),0 0 18px rgba(255,255,255,.8)}}
@media(max-width:900px){
  .v11-comm-vid{margin:32px 0 0;aspect-ratio:16/10}
  .v11-comm-vid-meta{left:24px;right:24px;bottom:22px;flex-direction:column;align-items:flex-start;gap:14px}
  .v11-comm-vid-eyebrow{margin-bottom:8px}
  .v11-comm-vid-meta h3{font-size:1.05rem;max-width:100%}
  .v11-comm-vid::after{left:16px;top:16px}
}
@media(max-width:580px){
  .v11-comm-vid{aspect-ratio:4/3}
  .v11-comm-vid-meta{left:18px;right:18px;bottom:18px}
  .v11-comm-vid-meta h3{font-size:.96rem}
}

/* Custom Styles compare slider — modern vs transitional */
.v11-styles{background:var(--bg,#080808);color:#fff;padding:80px 48px 96px;position:relative;border-top:1px solid rgba(255,255,255,.05)}
.v11-styles-head{max-width:780px;margin:0 auto 48px;text-align:center}
.v11-styles-head .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd,#b8956a);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-styles-head h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 18px;letter-spacing:-.3px}
.v11-styles-head h2 em{color:var(--gd,#b8956a);font-style:italic}
.v11-styles-head p{font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.72);margin:0}
.v11-styles-head p em{color:#fff;font-style:italic}
.style-slider{position:relative;max-width:1040px;margin:0 auto;aspect-ratio:16/10;overflow:hidden;cursor:col-resize;user-select:none;-webkit-user-select:none;background:#1a1714;border:1px solid rgba(255,255,255,.08)}
.style-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}
.style-slider .ss-after{clip-path:inset(0 0 0 50%);transition:clip-path 0s}
.style-slider .ss-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:3;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.15),0 2px 12px rgba(0,0,0,.15)}
.style-slider .ss-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid var(--gd,#b8956a);box-shadow:0 6px 20px -4px rgba(0,0,0,.35)}
.style-slider .ss-handle::before{content:"\2039   \203A";position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);color:var(--gd,#b8956a);font-size:1rem;font-weight:700;letter-spacing:6px;z-index:4;pointer-events:none;font-family:var(--fb,'Segoe UI',system-ui,sans-serif)}
.style-slider .ss-label{position:absolute;top:20px;z-index:2;font-family:var(--fd,Georgia,serif);font-style:italic;font-size:1.1rem;padding:7px 18px;pointer-events:none;letter-spacing:-.1px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);color:#1a1714}
.style-slider .ss-label.left{left:20px}
.style-slider .ss-label.right{right:20px}
.style-slider .ss-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:2;font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:#fff;font-weight:500;padding:8px 16px;background:rgba(11,12,16,.6);backdrop-filter:blur(8px);pointer-events:none;animation:hintFade 3.5s cubic-bezier(.25,.46,.45,.94) 1}
@keyframes hintFade{0%,60%{opacity:1}100%{opacity:0}}

/* Our Story — editorial heritage narrative (centered, serif body, max breathing room) */
.v11-story{background:var(--bg,#080808);color:#fff;padding:120px 48px 130px;position:relative;border-top:1px solid rgba(255,255,255,.05)}
.v11-story-inner{max-width:680px;margin:0 auto;text-align:center;position:relative}
.v11-story-inner::before{content:'';display:block;width:36px;height:1px;background:rgba(184,149,106,.5);margin:0 auto 22px}
.v11-story .ps-badge{background:none;padding:0;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.85);margin-bottom:26px;display:inline-block;text-transform:uppercase}
.v11-story h2{font-family:var(--fd,Georgia,serif);font-size:clamp(2rem,3.8vw,3rem);line-height:1.1;font-weight:400;color:#fff;margin:0 0 36px;letter-spacing:-.5px}
.v11-story h2 em{color:var(--gd,#b8956a);font-style:italic}
.v11-story p{font-family:var(--fd,Georgia,serif);font-size:1.08rem;line-height:1.85;color:rgba(255,255,255,.7);margin:0 0 22px;font-weight:400;max-width:560px;margin-left:auto;margin-right:auto}
.v11-story p:last-of-type{color:rgba(255,255,255,.55);font-style:italic;margin-bottom:40px}
.v11-story-cta{margin-top:8px}

/* Testimonials section — real Google reviews */
.v11-testimonials{background:var(--bg,#080808);color:#fff;padding:80px 48px 96px;position:relative;border-top:1px solid rgba(255,255,255,.05)}
.v11-test-head{max-width:780px;margin:0 auto 48px;text-align:center}
.v11-test-head .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd,#b8956a);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-test-aggregate{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;padding:10px 22px;background:rgba(184,149,106,.06);border:1px solid rgba(184,149,106,.18);text-decoration:none;transition:background .2s,border-color .2s}
.v11-test-aggregate:hover{background:rgba(184,149,106,.1);border-color:rgba(184,149,106,.3)}
.v11-test-aggregate-g{width:18px;height:18px;flex-shrink:0}
.v11-test-aggregate-stars{color:var(--gd,#b8956a);letter-spacing:3px;font-size:1.05rem;line-height:1}
.v11-test-aggregate-text{font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.85)}
.v11-test-head h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 14px;letter-spacing:-.3px}
.v11-test-head h2 em{color:var(--gd,#b8956a);font-style:italic}
.v11-test-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* Video testimonial cards */
.v11-vtest-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:border-color .3s cubic-bezier(.25,.46,.45,.94)}
.v11-vtest-card:hover{border-color:var(--gd,#b8956a)}
.v11-vtest-video{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer}
.v11-vtest-video video{width:100%;height:100%;object-fit:cover;display:block}
.v11-vtest-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.32);transition:opacity .3s ease,background .3s ease;pointer-events:none}
.v11-vtest-video:hover .v11-vtest-play{background:rgba(0,0,0,.18)}
.v11-vtest-play svg{width:60px;height:60px;fill:rgba(255,255,255,.95);filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))}
.v11-vtest-body{padding:24px 26px 26px}
.v11-vtest-quote{font-family:var(--fd,Georgia,serif);font-style:italic;font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.85);margin:0 0 14px}
.v11-vtest-name{font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fff}
.v11-vtest-loc{font-size:.6rem;color:var(--gd,#b8956a);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-top:4px}


/* Final CTA section */
.v11-final{background:#0a0a0a;color:#fff;padding:96px 48px;text-align:center;border-top:1px solid rgba(255,255,255,.06)}
.v11-final-inner{max-width:680px;margin:0 auto}
.v11-final .ps-badge{display:inline-block;background:rgba(184,149,106,.08);color:var(--gd);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:24px}
.v11-final h2{font-family:var(--fd,Georgia,serif);font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.15;font-weight:400;color:#fff;margin:0 0 22px;letter-spacing:-.3px}
.v11-final h2 em{color:var(--gd);font-style:italic}
.v11-final p{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.78);margin:0 0 38px}
.v11-final-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Buttons — mirror portfolio/site button style */
.v11-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:1px solid var(--gd);transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer;font-family:var(--fb,'Segoe UI',system-ui,sans-serif)}
.v11-btn-g{background:var(--gd);color:#fff}
.v11-btn-g:hover{background:var(--gdk,#8a6e4e);border-color:var(--gdk,#8a6e4e)}
.v11-btn-o{background:transparent;color:var(--gd)}
.v11-btn-o:hover{background:var(--gd);color:#fff}

/* ─────────────────────────────────────────────────────────
   REFINEMENT PASS — editorial luxury minimalism
   - Hairline ornaments replace chunky pill badges
   - Tighter typography, more vertical breathing room
   - Quiet staggered entrance on hero
   - Refined button hover (letter-spacing opens)
   ───────────────────────────────────────────────────────── */

/* Hairline rule above every section title — replaces visual weight of pill badges */
.v11-portfolio-head,
.v11-commercial-head,
.v11-products-head,
.v11-test-head,
.v11-final-inner { position: relative; }
.v11-portfolio-head::before,
.v11-commercial-head::before,
.v11-products-head::before,
.v11-test-head::before,
.v11-final-inner::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: rgba(184,149,106,.5);
  margin: 0 auto 22px;
}

/* Refined section eyebrow — drop the pill, keep just a whisper of gold all-caps */
.v11-portfolio-head .ps-badge,
.v11-commercial-head .ps-badge,
.v11-products-head .ps-badge,
.v11-test-head .ps-badge,
.v11-final-inner .ps-badge {
  background: none !important;
  padding: 0 !important;
  font-size: .54rem !important;
  letter-spacing: 4px !important;
  font-weight: 600 !important;
  margin-bottom: 18px !important;
  color: rgba(184,149,106,.85) !important;
  display: inline-block;
}

/* Tighter editorial typography — sharper letter-spacing, more refined hierarchy */
.v11-hero h1 { letter-spacing: -.5px; line-height: 1.08 }
.v11-portfolio-head h2,
.v11-commercial-head h2,
.v11-products-head h2,
.v11-test-head h2 { letter-spacing: -.5px; line-height: 1.1; max-width: 18ch; margin-left: auto; margin-right: auto }
.v11-final h2 { letter-spacing: -.5px; line-height: 1.08 }

/* More vertical breathing room — silence is luxury */
.v11-portfolio { padding-top: 110px; padding-bottom: 96px }
.v11-commercial { padding-top: 110px; padding-bottom: 110px }
.v11-testimonials { padding-top: 110px; padding-bottom: 120px }
.v11-products { padding-top: 110px; padding-bottom: 120px }
.v11-final { padding-top: 120px; padding-bottom: 130px }

/* Tighter container widths — editorial luxury sites stay narrow */
.v11-portfolio-head,
.v11-commercial-head,
.v11-products-head,
.v11-test-head { max-width: 720px }
.v11-final-inner { max-width: 620px }

/* Refined hero eyebrow — drop the gold border pill, keep just the text */
.v11-hero .v11-eyebrow {
  background: none;
  border: none;
  padding: 0;
  font-size: .54rem;
  letter-spacing: 4px;
  font-weight: 600;
  color: rgba(184,149,106,.85);
  margin-bottom: 24px;
}
.v11-hero .v11-eyebrow::before {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: rgba(184,149,106,.5);
  margin: 0 auto 22px;
}

/* Staggered entrance on the hero — quiet fade + rise */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(14px) }
  to   { opacity: 1; transform: translateY(0) }
}
.v11-hero .v11-eyebrow,
.v11-hero h1,
.v11-hero p.lead,
.v11-hero .cta-row {
  opacity: 0;
  animation: heroFadeUp 1s cubic-bezier(.25,.46,.45,.94) forwards;
}
.v11-hero .v11-eyebrow { animation-delay: .15s }
.v11-hero h1           { animation-delay: .3s  }
.v11-hero p.lead       { animation-delay: .5s  }
.v11-hero .cta-row     { animation-delay: .65s }

/* Refined button — letter-spacing opens slightly on hover (editorial micro-detail) */
.v11-btn { transition: background .35s cubic-bezier(.25,.46,.45,.94), border-color .35s cubic-bezier(.25,.46,.45,.94), color .35s cubic-bezier(.25,.46,.45,.94), letter-spacing .35s cubic-bezier(.25,.46,.45,.94) }
.v11-btn:hover { letter-spacing: 2.6px }

/* Hairline rules under section trust strip — subtle structural definition */
.ps-trust { border-top: 1px solid rgba(184,149,106,.08); border-bottom: 1px solid rgba(184,149,106,.08) }

/* Refined commercial + portfolio CTAs — more breathing room above */
.v11-portfolio-cta { margin-top: 64px !important }
.v11-commercial-cta { margin-top: 64px !important }

/* Reduce gold saturation in scattered places — let dark do more of the work */
.v11-vtest-loc { color: rgba(184,149,106,.7) }
.v11-prod-eyebrow { color: rgba(184,149,106,.85) }
.v11-comm-eyebrow { color: rgba(184,149,106,.85) }
.gal-item-cta { color: rgba(184,149,106,.9) }

/* Refined hover scale — less aggressive, more refined */
.gal-item:hover .gal-item-img { transform: scale(1.03); filter: brightness(.82) }
.v11-comm-tile:hover img { transform: scale(1.03); filter: brightness(.82) }
.v11-prod-card:hover .v11-prod-img img { transform: scale(1.03) }

/* Mobile */
@media(max-width:900px){
  /* Mobile hero — landscape 16:9 banner, video fills the full width edge-to-edge (object-fit:cover, no black bars) */
  .v11-hero{padding:0;min-height:auto;display:flex;flex-direction:column;overflow:visible;background:var(--bg,#080808)}
  .v11-hero-bg{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;flex-shrink:0;margin-top:var(--nav,60px);inset:auto;background:#000}
  .v11-hero-video{object-fit:cover}
  .v11-hero-bg-grad{background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.5) 100%)!important}
  .v11-hero-grid,.v11-hero-glow{display:none}
  .v11-hero-content{position:relative;z-index:1;background:var(--bg,#080808);padding:36px 24px 44px;text-align:center;max-width:none}
  .v11-eyebrow{font-size:.5rem;letter-spacing:2px;padding:7px 16px;margin-bottom:20px}
  .v11-hero h1{font-size:clamp(1.5rem,6vw,2rem);margin-bottom:16px}
  .v11-hero p.lead{font-size:.82rem;margin-bottom:24px}
  .v11-products{padding:48px 12px 56px}
  .v11-products-head{margin-bottom:28px}
  /* Mobile: compact 3-up square image grid */
  .v11-prod-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;max-width:none}
  .v11-prod-img{aspect-ratio:1/1}
  .v11-prod-body{padding:8px 2px 0;text-align:center}
  .v11-prod-eyebrow{display:none}
  .v11-prod-title{font-size:.82rem;margin:0 0 4px;line-height:1.2}
  .v11-prod-tagline{display:none}
  .v11-prod-cta{font-size:.5rem;letter-spacing:1.2px}
  .v11-commercial{padding:56px 0 64px}
  .v11-commercial-head{padding:0 22px;margin-bottom:32px}
  .v11-comm-grid{grid-template-columns:1fr;gap:2px}
  .v11-commercial-cta{padding:0 22px;margin-top:32px}
  .v11-styles{padding:56px 22px 64px}
  .style-slider{aspect-ratio:4/3}
  .style-slider .ss-label{font-size:.9rem;padding:5px 12px;top:14px}
  .style-slider .ss-label.left{left:14px}
  .style-slider .ss-label.right{right:14px}
  .style-slider .ss-handle::after{width:40px;height:40px}
  .style-slider .ss-hint{bottom:14px;font-size:.54rem;padding:7px 14px}
  .v11-story{padding:72px 22px 80px}
  .v11-story h2{font-size:clamp(1.6rem,6.5vw,2.1rem)}
  .v11-story p{font-size:.98rem;line-height:1.78}
  .v11-testimonials{padding:56px 22px 64px}
  .v11-test-head{margin-bottom:32px}
  .v11-test-grid{grid-template-columns:1fr 1fr;gap:2px;max-width:560px}
  .v11-vtest-card{background:#000;border:none}
  .v11-vtest-video{aspect-ratio:1/1}
  .v11-vtest-play svg{width:36px;height:36px}
  /* Hide testimonial text visually on mobile but keep it in the DOM for SEO + screen readers */
  .v11-vtest-body{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .v11-why{padding:64px 22px}
  .v11-why-inner{grid-template-columns:1fr;gap:36px}
  .v11-why-video{aspect-ratio:16/9;order:-1}
  .v11-portfolio{padding:64px 0 56px}
  .v11-portfolio-head{padding:0 22px;margin-bottom:36px}
  .gal-grid{grid-template-columns:1fr 1fr;gap:2px}
  .gal-item-overlay{display:none}
  .gal-item:hover .gal-item-img{filter:none;transform:none}
  .v11-final{padding:64px 22px}
  .v11-final-btns{flex-direction:column;align-items:stretch}
  .v11-final-btns .v11-btn{width:100%}
}
@media(max-width:600px){
  .v11-eyebrow{font-size:.54rem;letter-spacing:2px;padding:8px 16px;margin-bottom:24px}
  .v11-hero h1{font-size:1.85rem;line-height:1.12}
  .v11-hero p.lead{font-size:.9rem;margin-bottom:28px}
}

/* Financing calculator */
.calc-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:rgba(255,255,255,.12);outline:none;border-radius:2px}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gd);cursor:pointer;border:3px solid #fff}
.calc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gd);cursor:pointer;border:3px solid #fff}
#calcSlider:focus-visible{outline:2px solid var(--gd);outline-offset:4px}
.calc-result{font-family:var(--fd,Georgia,serif);font-size:3rem;color:var(--gd);font-weight:700;line-height:1}

/* Footer — lifted from production index.html with editorial spacing */
footer{background:var(--bg,#080808);color:#fff;padding:80px 48px 32px;border-top:1px solid rgba(184,149,106,.08);position:relative}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:64px;padding-bottom:48px}
.foot-brand{font-family:var(--fd,Georgia,serif);font-size:1.6rem;font-weight:400;letter-spacing:.5px;color:#fff;margin-bottom:16px;line-height:1}
.foot-brand span{color:var(--gd)}
.foot-desc{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.7;font-weight:300;margin-bottom:18px;max-width:340px}
.foot-contact{font-size:.74rem;color:rgba(255,255,255,.4);line-height:1.85;font-weight:300;margin-bottom:18px}
.foot-social{display:flex;gap:10px}
.foot-social a{width:32px;height:32px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);text-decoration:none;transition:border-color .2s,color .2s}
.foot-social a:hover{border-color:var(--gd);color:var(--gd)}
.foot-col h4{font-size:.6rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gd);margin:0 0 18px}
.foot-col button,.foot-col a{display:block;background:none;border:none;color:rgba(255,255,255,.5);font-size:.78rem;font-weight:300;padding:6px 0;cursor:pointer;font-family:var(--fb,'Segoe UI',system-ui,sans-serif);text-align:left;transition:color .2s;text-decoration:none}
.foot-col button:hover,.foot-col a:hover{color:var(--gd)}
.foot-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.62rem;color:rgba(255,255,255,.25);font-weight:300;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){
  footer{padding:56px 22px 28px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .foot-grid>div:first-child{grid-column:1/-1}
  .foot-bottom{flex-direction:column;text-align:center;gap:6px}
}
@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr}
}

/* Home CTA — locations / FAQ / blog / form mobile overrides */
@media(max-width:900px){
  .v11-locations{padding:48px 12px 48px!important}
  /* Mobile: compact 3-up grid of state cells */
  .loc-grid-v5{grid-template-columns:1fr 1fr 1fr!important;gap:4px!important}
  .loc-cell{padding:16px 10px!important;text-align:center}
  .loc-cell-state{font-size:.82rem!important;margin-bottom:4px!important;line-height:1.2}
  /* Hide town list visually but keep in DOM for SEO crawl */
  .loc-cell-towns{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .loc-cell-more{font-size:.5rem!important;letter-spacing:1.2px!important;margin-top:6px!important}
  .v11-faq{padding:64px 22px!important}
  .v11-blog{padding:64px 22px!important}
  .v11-blog .blog-grid-v5{grid-template-columns:1fr 1fr!important;gap:28px!important}
  #home-cta{padding:56px 0 64px!important}
  #home-cta>div{padding:0 22px!important}
  #homeCtaSplit{grid-template-columns:1fr!important;gap:0}
  #homeCtaSplit>div{padding:32px 24px!important}
  #homeCtaSplit>div:first-child{border-right:1px solid rgba(255,255,255,.06)!important}
  #homeCtaSplit>div:last-child{border-top:none!important}
  #homeFormFields .form-row{grid-template-columns:1fr 1fr!important;gap:8px;margin-bottom:8px!important}
}
@media(max-width:600px){
  #homeCtaSplit>div{padding:24px 20px!important}
}

/* Google reviews strip — slim, horizontally scrollable on mobile */
.gr-strip{max-width:1280px;margin:0 auto;padding:48px 48px 8px;color:#fff}
.gr-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.gr-g{width:18px;height:18px;flex-shrink:0}
.gr-head-txt{font-size:.92rem;letter-spacing:.01em}
.gr-head-txt strong{font-weight:700;color:#fff}
.gr-head-txt span{opacity:.7}
.gr-head-link{margin-left:auto;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gd,#b8956a);text-decoration:none;opacity:.85}
.gr-head-link:hover{opacity:1}
.gr-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:300px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}
.gr-scroller::-webkit-scrollbar{height:6px}
.gr-scroller::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}
.gr-card{scroll-snap-align:start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px}
.gr-card-top{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;opacity:.6;letter-spacing:.03em}
.gr-stars{color:#fbbc05;letter-spacing:1px;font-size:.75rem}
.gr-text{font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.85);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.gr-author{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.gr-avatar{width:24px;height:24px;border-radius:50%;background:var(--gd,#b8956a);color:#080808;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}
.gr-name{font-size:.78rem;font-weight:600}
@media(max-width:700px){
  .gr-strip{padding:32px 16px 4px}
  .gr-scroller{grid-auto-columns:78vw;gap:10px}
  .gr-card{padding:13px 14px 12px}
  .gr-text{-webkit-line-clamp:4;font-size:.74rem}
  .gr-head-link{margin-left:0;width:100%;font-size:.72rem;margin-top:4px}
}

/* Ambient project video band — inside testimonials, between video cards and reviews */
.v11-test-ambient{max-width:1200px;margin:48px auto 8px;aspect-ratio:16/9;overflow:hidden;background:#000}
.v11-test-ambient video{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){
  .v11-test-ambient{margin:24px auto 4px;aspect-ratio:16/10}
}

/* Featured testimonial — Sansavero wedding */
.v11-feat-test{max-width:880px;margin:0 auto;padding:56px 48px 16px;text-align:center;color:#fff}
.v11-feat-test .ps-badge{display:inline-block;background:rgba(184,149,106,.1);color:var(--gd,#b8956a);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:9px 22px;margin-bottom:20px}
.v11-feat-test h3{font-family:var(--fd,Georgia,serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.18;font-weight:400;color:#fff;margin:0 0 14px;letter-spacing:-.2px}
.v11-feat-test h3 em{color:var(--gd,#b8956a);font-style:italic}
.v11-feat-test-desc{font-size:1rem;line-height:1.65;color:rgba(255,255,255,.78);margin:0 auto 28px;max-width:620px}
.v11-feat-test-video{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.v11-feat-test-video video{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){
  .v11-feat-test{padding:36px 16px 8px}
  .v11-feat-test-desc{font-size:.92rem}
}
</style>
</head>

<body data-no-back data-no-cta-band>

<!-- ============================================================
     SECTION 1: HERO — the 3-second test
     - Real Breslow project (Demarest NJ ambient loop), not template
     - Single confident statement headline
     - One subhead
     - ONE primary CTA + tiny secondary text link for awnings
     ============================================================ -->
<section class="v11-hero">
  <div class="v11-hero-bg">
    <!-- Hero poster paints as LCP candidate. Video crossfades in once page is idle. -->
    <picture>
      <source srcset="/media/sansavero/sansavero-home-hero-poster.webp?v=2" type="image/webp">
      <img id="heroPoster" class="v11-hero-video v11-hero-poster"
           src="/media/sansavero/sansavero-home-hero-poster.jpg?v=2"
           alt="Breslow installed motorized louvered roof — East Hanover, NJ project"
           fetchpriority="high" decoding="async">
    </picture>
    <video id="heroVid" class="v11-hero-video v11-hero-fade"
           muted loop playsinline preload="none"
           aria-hidden="true">
      <source src="/media/sansavero/sansavero-hero-lite-mobile.mp4" type="video/mp4" media="(max-width: 768px)">
      <source src="/media/sansavero/sansavero-hero-lite.mp4" type="video/mp4">
    </video>
    <div class="v11-hero-bg-grad"></div>
    <div class="v11-hero-grid"></div>
    <div class="v11-hero-glow"></div>
  </div>
  <a class="v11-hero-badge" href="https://www.azenco.us/" target="_blank" rel="noopener" title="Breslow is an Azenco Certified Platinum Elite Dealer">
    <picture>
      <source srcset="/media/azenco-platinum-elite-dealer-badge.webp" type="image/webp">
      <img src="/media/azenco-platinum-elite-dealer-badge-256.png" alt="Azenco Certified Platinum Elite Dealer Badge" width="256" height="256" loading="eager">
    </picture>
  </a>
  <div class="v11-hero-content">
    <span class="v11-eyebrow">✦ Established 1924 · Four Generations</span>
    <h1>Luxury outdoor shade solutions, <em>designed and installed for year-round comfort</em>.</h1>
    <p class="lead">Motorized louvered pergolas, retractable awnings, and motorized screen shades — designed, engineered, and installed by Breslow for residential and commercial projects across NJ, NY, CT, and beyond.</p>
    <div class="cta-row">
      <a class="v11-btn v11-btn-g" href="#home-cta">Schedule a Design Consultation →</a>
      <a class="v11-btn v11-btn-o" href="tel:9737989328">Call (973) 798-9328</a>
    </div>
  </div>
</section>

<!-- ============================================================
     TRUST STRIP — reuses .ps-trust styles from site-styles.css
     ============================================================ -->
<div class="ps-trust">
  <div class="ps-trust-i"><b>Since 1924</b>4 Generations</div>
  <div class="ps-trust-i"><b>250+</b>Premium Installs</div>
  <div class="ps-trust-i"><b>9</b>States Served</div>
  <div class="ps-trust-i"><b>PE-Stamped</b>Engineering</div>
  <div class="ps-trust-i"><b>Azenco</b>Certified Dealer</div>
</div>

<!-- ============================================================
     SECTION 2: PORTFOLIO GRID — the "desire" job
     - 9 real project covers, same condensed grid as /portfolio/
     - 3-col desktop, 2-col mobile, edge-to-edge
     ============================================================ -->
<section class="v11-portfolio">
  <div class="v11-portfolio-head">
    <span class="ps-badge">Signature Work</span>
    <h2>Every project, designed and built by <em>Breslow</em>.</h2>
    <p>A selection from our most documented residential installations across NJ, NY, CT, and beyond.</p>
  </div>
  <div class="gal-grid" id="galGrid"></div>
  <div class="v11-portfolio-cta" style="display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:680px;margin-left:auto;margin-right:auto">
    <a class="v11-btn v11-btn-o" href="/portfolio/" style="text-align:center;padding-left:8px;padding-right:8px">Browse Portfolio →</a>
    <a class="v11-btn v11-btn-g" href="#home-cta" style="text-align:center;padding-left:8px;padding-right:8px">Design Consultation →</a>
  </div>
</section>

<!-- ============================================================
     SECTION 3: AMBIENT LOOP — Ingrid hero loop (atmospheric breath)
     ============================================================ -->
<section class="v11-loop" aria-label="Luxury outdoor living lifestyle — Breslow motorized pergola in use">
  <video autoplay muted loop playsinline preload="none"
         data-src="/media/hero/ingrid-hero.mp4"
         poster="/media/hero/ingrid-hero-poster.jpg">
  </video>
</section>

<!-- ============================================================
     SECTION 4: COMMERCIAL — restaurants, rooftops, country clubs
     - 3 real commercial flagships
     - Single CTA to /commercial/
     ============================================================ -->
<section class="v11-commercial">
  <div class="v11-commercial-head">
    <span class="ps-badge">Commercial</span>
    <h2>Commercial louvered roof <em>pergolas</em>.</h2>
    <p>Engineered commercial pergolas for restaurants, rooftops, country clubs, and outdoor lounges. Generate year-round weatherproof seating with PE-stamped engineering, full permitting, and lifetime service — across restaurant groups and high-rise terraces in the Northeast.</p>
  </div>
  <div class="v11-comm-grid">

    <a class="v11-comm-tile" href="/commercial/">
      <picture>
        <source srcset="/media/commercial/lake-success-country-club-aerial.webp" type="image/webp">
        <img src="/media/commercial/lake-success-country-club-aerial.jpg"
             alt="Lake Success Country Club — Breslow motorized pergola installation, Lake Success, NY" loading="lazy" decoding="async">
      </picture>
      <div class="v11-comm-label">
        <div class="v11-comm-eyebrow">Country Club</div>
        <div class="v11-comm-name">Lake Success, NY</div>
      </div>
    </a>

    <a class="v11-comm-tile" href="/commercial/">
      <picture>
        <source srcset="/media/commercial/urban-top-lounge-view.webp" type="image/webp">
        <img src="/media/commercial/urban-top-lounge-view.jpg"
             alt="Urban Top — Breslow rooftop bar installation, Brooklyn, NY" loading="lazy" decoding="async">
      </picture>
      <div class="v11-comm-label">
        <div class="v11-comm-eyebrow">Rooftop Bar</div>
        <div class="v11-comm-name">Urban Top · Brooklyn, NY</div>
      </div>
    </a>

    <a class="v11-comm-tile" href="/commercial/">
      <picture>
        <source srcset="/media/commercial/tommys-edison/tommys-edison-louvered-roof-interior-evening.webp" type="image/webp">
        <img src="/media/commercial/tommys-edison/tommys-edison-louvered-roof-interior-evening.jpg"
             alt="Tommy's Tavern &amp; Tap Edison — Breslow louvered roof restaurant installation, NJ" loading="lazy" decoding="async">
      </picture>
      <div class="v11-comm-label">
        <div class="v11-comm-eyebrow">Restaurant Group</div>
        <div class="v11-comm-name">Tommy's Tavern &amp; Tap · Edison, NJ</div>
      </div>
    </a>

  </div>

  <!-- Commercial feature video — Lake Success Country Club walkthrough -->
  <a class="v11-comm-vid" href="/commercial/" aria-label="Watch the Lake Success Country Club louvered roof walkthrough">
    <video id="commVid" class="v11-comm-vid-media" muted loop playsinline preload="none"
           poster="/media/commercial/lake-success-home-poster.jpg" aria-hidden="true">
      <source src="/media/commercial/lake-success-home-lite-mobile.mp4" type="video/mp4" media="(max-width: 768px)">
      <source src="/media/commercial/lake-success-home-lite.mp4" type="video/mp4">
    </video>
    <div class="v11-comm-vid-grad"></div>
    <div class="v11-comm-vid-meta">
      <span class="v11-comm-vid-eyebrow">Featured commercial install</span>
      <h3>Lake Success Country Club <em>— Long Island, NY</em></h3>
      <span class="v11-comm-vid-cta">See the build →</span>
    </div>
  </a>

  <div class="v11-commercial-cta" style="display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:680px;margin-left:auto;margin-right:auto">
    <a class="v11-btn v11-btn-o" href="/commercial/" style="text-align:center;padding-left:8px;padding-right:8px">Explore commercial louvered roof pergolas →</a>
    <a class="v11-btn v11-btn-g" href="#home-cta" style="text-align:center;padding-left:8px;padding-right:8px">Design Consultation →</a>
  </div>
</section>

<!-- ============================================================
     SECTION 5: TESTIMONIALS — real homeowner video testimonials
     - Moved ABOVE Products so social proof builds desire before product menu
     - 4 video cards from CT landing page + aggregate Google rating
     ============================================================ -->
<section class="v11-testimonials">
  <div class="v11-test-head">
    <span class="ps-badge">Reviews</span>
    <h2>What our <em>clients say</em>.</h2>
  </div>
  <div class="v11-test-grid">

    <div class="v11-vtest-card">
      <div class="v11-vtest-video" onclick="playTestimonial(this)">
        <video preload="none" playsinline poster="/media/lp-template/testimonials/farin-poster.jpg">
          <source src="/media/lp-template/testimonials/farin-expert-web.mp4" type="video/mp4">
        </video>
        <div class="v11-vtest-play"><svg viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg></div>
      </div>
      <div class="v11-vtest-body">
        <p class="v11-vtest-quote">"Breslow was the expert and they proved that with the information they gave me."</p>
        <div class="v11-vtest-name">New Jersey Homeowner</div>
        <div class="v11-vtest-loc">Residential Project</div>
      </div>
    </div>

    <div class="v11-vtest-card">
      <div class="v11-vtest-video" onclick="playTestimonial(this)">
        <video preload="none" playsinline poster="/media/lp-template/testimonials/metro-poster.jpg">
          <source src="/media/lp-template/testimonials/metro-web.mp4" type="video/mp4">
        </video>
        <div class="v11-vtest-play"><svg viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg></div>
      </div>
      <div class="v11-vtest-body">
        <p class="v11-vtest-quote">"The rain sensors automatically close the louvers when it rains — it's great. I used to have to shuffle cushions all day. It's made the summer great."</p>
        <div class="v11-vtest-name">Connecticut Homeowner</div>
        <div class="v11-vtest-loc">Residential Project</div>
      </div>
    </div>

    <div class="v11-vtest-card">
      <div class="v11-vtest-video" onclick="playTestimonial(this)">
        <video preload="none" playsinline poster="/media/lp-template/testimonials/copland-poster.jpg">
          <source src="/media/lp-template/testimonials/copland-web.mp4" type="video/mp4">
        </video>
        <div class="v11-vtest-play"><svg viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg></div>
      </div>
      <div class="v11-vtest-body">
        <p class="v11-vtest-quote">"Later in the day it gets really hot — before, my patio was unusable. But with the pergola, with the shades and the roof closed or open, it's absolutely perfect now."</p>
        <div class="v11-vtest-name">New Jersey Homeowner</div>
        <div class="v11-vtest-loc">Residential Project</div>
      </div>
    </div>

    <div class="v11-vtest-card">
      <div class="v11-vtest-video" onclick="playTestimonial(this)">
        <video preload="none" playsinline poster="/media/lp-template/testimonials/sansavero-poster.jpg">
          <source src="/media/lp-template/testimonials/sansavero-web.mp4" type="video/mp4">
        </video>
        <div class="v11-vtest-play"><svg viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg></div>
      </div>
      <div class="v11-vtest-body">
        <p class="v11-vtest-quote">"Dana was on a deadline but my man came through and I have no regrets. When my guests get here they will be in for the wow factor."</p>
        <div class="v11-vtest-name">New Jersey Homeowner</div>
        <div class="v11-vtest-loc">Residential Project</div>
      </div>
    </div>

  </div>

  <!-- Ambient project video — Darien CT, breaks up testimonial videos from reviews -->
  <div class="v11-test-ambient" aria-label="Stunning louvered roof installation in Darien, Connecticut — flagship Breslow motorized pergola">
    <video autoplay muted loop playsinline preload="none"
           data-src="/media/portfolio/darien-ct/darien-ct-louvered-roof-pergola-walkthrough.mp4"
           poster="/media/portfolio/darien-ct/darien-ct-pergola-cover.jpg"
           aria-label="Darien, CT louvered roof pergola walkthrough">
    </video>
  </div>

  <!-- Real Google reviews — fetched at build-time from GBP API (tools/gbp-fetch-reviews.js) -->
  <div class="gr-strip" aria-label="Recent Google reviews">
    <div class="gr-head">
      <svg class="gr-g" viewBox="0 0 48 48" aria-hidden="true"><path fill="#4285F4" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#34A853" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#EA4335" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
      <div class="gr-head-txt">
        <strong id="grAvg">—</strong>
        <span>· <span id="grCount">—</span> Google reviews</span>
      </div>
      <a class="gr-head-link" id="grAllLink" target="_blank" rel="noopener" href="https://maps.google.com/maps?cid=1985413747417801453">See all on Google →</a>
    </div>
    <div class="gr-scroller" id="grScroller" tabindex="0"></div>
  </div>

  <!-- Featured testimonial — Sansavero wedding -->
  <div class="v11-feat-test">
    <span class="ps-badge">Our Favorite Testimonial</span>
    <h3>A wedding party under our <em>louvered roof pergola.</em></h3>
    <p class="v11-feat-test-desc">It was amazing being able to document our client's wedding party under our beautiful louvered roof pergola.</p>
    <div class="v11-feat-test-video">
      <video controls preload="metadata" playsinline poster="/media/sansavero/sansavero-poster.jpg">
        <source src="/media/sansavero/sansavero-wedding-party-testimonial-web.mp4" type="video/mp4">
      </video>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 5.5: OUR STORY — moved up to sit below reviews + featured testimonial
     - Last trust moment before the product menu
     ============================================================ -->
<section class="v11-story">
  <div class="v11-story-inner">
    <span class="ps-badge">Our Story</span>
    <h2>One hundred and two years. <em>Four generations.</em></h2>
    <figure style="max-width:580px;margin:0 auto 36px;padding:0">
      <div style="aspect-ratio:1000/516;overflow:hidden;border:1px solid rgba(184,149,106,.18);background:#1a1714">
        <img src="/media/legacy/breslow-storefront-1924.webp"
             alt="The original Breslow storefront in New Jersey — founded 1924, a family-owned paint and design business now in its fourth generation"
             style="width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)"
             loading="lazy" decoding="async">
      </div>
      <figcaption style="margin-top:14px;font-size:.58rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(184,149,106,.6);text-align:center">The Original Storefront · New Jersey · Est. 1924</figcaption>
    </figure>
    <p>Breslow was founded in 1924 as a paint store in New Jersey. A hundred and two years later, four generations in, we still measure, engineer, and install every project ourselves.</p>
    <p>Every job is overseen by a member of the Shaw family. Every system carries a lifetime service commitment.</p>
    <p>That hasn't changed in 102 years.</p>
    <div class="v11-story-cta" style="display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px">
      <a class="v11-btn v11-btn-o" href="/about.html" style="text-align:center;padding-left:8px;padding-right:8px">Meet the Family →</a>
      <a class="v11-btn v11-btn-g" href="#home-cta" style="text-align:center;padding-left:8px;padding-right:8px">Design Consultation →</a>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 6: PRODUCTS — three product cards
     - Sits AFTER testimonials so social proof primes the product menu
     - Pergolas · Awnings · Motorized Screen Shades
     ============================================================ -->
<section class="v11-products">
  <div class="v11-products-head">
    <span class="ps-badge">What We Build</span>
    <h2>Custom-built outdoor shade, <em>engineered to last</em>.</h2>
  </div>
  <div class="v11-prod-grid">

    <a class="v11-prod-card" href="/products/adjustable-louvered-pergolas/">
      <div class="v11-prod-img">
        <img src="/media/portfolio/tenafly-nj-2/tenafly_pergola_poolside.jpg"
             alt="Motorized louvered poolside pergola — Tenafly, NJ by Breslow Design &amp; Build" loading="lazy" decoding="async">
      </div>
      <div class="v11-prod-body">
        <div class="v11-prod-eyebrow">Pergolas</div>
        <h3 class="v11-prod-title">Motorized Louvered Pergolas</h3>
        <div class="v11-prod-tagline">R-Blade™ · R-Breeze™ · R-Shade™</div>
        <div class="v11-prod-cta">View Pergolas</div>
      </div>
    </a>

    <a class="v11-prod-card" href="/retractable-awnings/">
      <div class="v11-prod-img">
        <img src="/media/awnings/hero.jpg"
             alt="Retractable awning installed by Breslow Design &amp; Build" loading="lazy" decoding="async">
      </div>
      <div class="v11-prod-body">
        <div class="v11-prod-eyebrow">Awnings</div>
        <h3 class="v11-prod-title">Retractable Awnings</h3>
        <div class="v11-prod-tagline">SummerSpace · Aristocrat</div>
        <div class="v11-prod-cta">View Awnings</div>
      </div>
    </a>

    <a class="v11-prod-card" href="/products/r-shade-screens/">
      <div class="v11-prod-img">
        <img src="/media/privacy/motorized-shade.jpg"
             alt="Motorized retractable screen shade installed by Breslow Design &amp; Build" loading="lazy" decoding="async">
      </div>
      <div class="v11-prod-body">
        <div class="v11-prod-eyebrow">Screen Shades</div>
        <h3 class="v11-prod-title">Motorized Screen Shades</h3>
        <div class="v11-prod-tagline">Retractable · Motorized · Integrated</div>
        <div class="v11-prod-cta">View Screens</div>
      </div>
    </a>

  </div>
</section>

<!-- ============================================================
     SECTION 6.4: CUSTOM STYLES — modern vs transitional drag slider
     - Editorial pause between Products (what we sell) and Locations (where)
     - Comparison slider proves the custom-Azek-matching pitch
     ============================================================ -->
<section class="v11-styles">
  <div class="v11-styles-head">
    <span class="ps-badge">Custom Styles</span>
    <h2>Match the architecture of your home with a <em>custom style</em>.</h2>
    <p>Every Breslow system is custom-wrapped in architectural Azek PVC trim — matched to your home's siding, columns, and crown moulding. <em>Modern, Transitional, and Classic</em> styles built to look like they were always part of the house.</p>
  </div>
  <div class="style-slider" id="styleSlider" role="img" aria-label="Drag slider comparing a modern and a transitional motorized pergola installation">
    <img class="ss-before" src="/media/portfolio/modern-style.webp" alt="Modern style motorized pergola — minimalist aluminum louvered roof by Breslow">
    <img class="ss-after"  src="/media/highlighted-projects-v2/packard_transitional_style_image.jpg" alt="Transitional style motorized pergola — Azek-wrapped columns and architectural integration by Breslow">
    <span class="ss-label left">Modern</span>
    <span class="ss-label right">Transitional</span>
    <div class="ss-handle" aria-hidden="true"></div>
    <span class="ss-hint">drag to compare</span>
  </div>
  <div style="display:flex;justify-content:center;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap">
    <div style="display:inline-flex;align-items:center;gap:8px;font-size:.58rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5)"><span style="width:6px;height:6px;background:var(--gd);border-radius:50%"></span>Modern</div>
    <div style="display:inline-flex;align-items:center;gap:8px;font-size:.58rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5)"><span style="width:6px;height:6px;background:var(--gd);border-radius:50%"></span>Transitional</div>
    <div style="display:inline-flex;align-items:center;gap:8px;font-size:.58rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5)"><span style="width:6px;height:6px;background:var(--gd);border-radius:50%"></span>Classic</div>
  </div>
  <div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:680px;margin:40px auto 0;padding:0 24px">
    <a class="v11-btn v11-btn-o" href="/inspiration/custom-styles/" style="text-align:center;padding-left:8px;padding-right:8px">Explore Custom Styles →</a>
    <a class="v11-btn v11-btn-g" href="#home-cta" style="text-align:center;padding-left:8px;padding-right:8px">Design Consultation →</a>
  </div>
</section>

<!-- ============================================================
     SECTION 6.5: LOCATIONS — service area, 9 states
     - Editorial cream break between the dark stack
     - Light Locations + Light FAQ act as one breathing moment
     ============================================================ -->
<section class="v11-locations" style="background:var(--cream,#f8f6f1);padding:110px 48px 96px;color:var(--g5,#333);border-top:1px solid rgba(0,0,0,.05)">
  <div style="max-width:1200px;margin:0 auto">
    <div style="text-align:center;margin-bottom:48px">
      <span class="v5-label" style="display:inline-block;background:none;padding:0;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.95)">Service Area</span>
      <div style="display:block;width:36px;height:1px;background:rgba(184,149,106,.5);margin:18px auto 22px"></div>
      <h2 style="font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;font-weight:400;color:var(--g5,#1a1a1a);margin:0 0 14px;letter-spacing:-.5px">Serving the finest homes <em style="color:var(--gd,#b8956a);font-style:italic">across the Northeast</em>.</h2>
      <p style="font-size:.92rem;line-height:1.7;color:rgba(0,0,0,.55);margin:0;max-width:620px;margin-left:auto;margin-right:auto">North Jersey based · Nine states served · By appointment only</p>
    </div>
    <style>
      .loc-cell-towns a{color:inherit;text-decoration:none;transition:color .25s}
      .loc-cell-towns a:hover{color:var(--gd,#b8956a)}
      .loc-cell-more{display:inline-block;margin-top:14px;font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd,#b8956a);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s}
      .loc-cell-more:hover{border-bottom-color:var(--gd,#b8956a)}
      .loc-cell:hover .loc-cell-more{color:#fff}
    </style>
    <div class="loc-grid-v5">
      <div class="loc-cell">
        <div class="loc-cell-state">New Jersey</div>
        <div class="loc-cell-towns"><a href="/locations/alpine-nj/">Alpine</a> · <a href="/locations/ridgewood-nj/">Ridgewood</a> · <a href="/locations/summit-nj/">Summit</a> · <a href="/locations/short-hills-nj/">Short Hills</a> · <a href="/locations/bernardsville-nj/">Bernardsville</a> · <a href="/locations/tenafly-nj/">Tenafly</a> · <a href="/locations/ho-ho-kus-nj/">Ho-Ho-Kus</a></div>
        <a class="loc-cell-more" href="/locations/bergen-county-nj/">See Bergen County →</a>
      </div>
      <div class="loc-cell">
        <div class="loc-cell-state">Connecticut</div>
        <div class="loc-cell-towns"><a href="/locations/greenwich-ct/">Greenwich</a> · <a href="/locations/darien-ct/">Darien</a> · <a href="/locations/new-canaan-ct/">New Canaan</a> · <a href="/locations/westport-ct/">Westport</a> · <a href="/locations/wilton-ct/">Wilton</a> · <a href="/locations/ridgefield-ct/">Ridgefield</a> · <a href="/locations/rowayton-ct/">Rowayton</a></div>
        <a class="loc-cell-more" href="/locations/fairfield-county-ct/">See Fairfield County →</a>
      </div>
      <div class="loc-cell">
        <div class="loc-cell-state">New York</div>
        <div class="loc-cell-towns"><a href="/locations/scarsdale-ny/">Scarsdale</a> · <a href="/locations/bronxville-ny/">Bronxville</a> · <a href="/locations/rye-ny/">Rye</a> · <a href="/locations/larchmont-ny/">Larchmont</a> · <a href="/locations/lake-success-ny/">Lake Success</a> · <a href="/locations/hamptons-ny/">The Hamptons</a> · <a href="/locations/manhattan-nyc/">Manhattan</a></div>
        <a class="loc-cell-more" href="/locations/westchester-county-ny/">See Westchester County →</a>
      </div>
      <div class="loc-cell">
        <div class="loc-cell-state">Pennsylvania</div>
        <div class="loc-cell-towns">Wayne · Villanova · Gladwyne · Malvern · Devon · Newtown Square</div>
        <a class="loc-cell-more" href="/locations/">See all areas →</a>
      </div>
      <div class="loc-cell">
        <div class="loc-cell-state">Maryland &amp; Delaware</div>
        <div class="loc-cell-towns">Potomac · Bethesda · Chevy Chase · Greenville · Hockessin</div>
        <a class="loc-cell-more" href="/locations/">See all areas →</a>
      </div>
      <div class="loc-cell">
        <div class="loc-cell-state">RI, MA &amp; Florida</div>
        <div class="loc-cell-towns">Newport · Barrington · Wellesley · Weston · Palm Beach · Naples</div>
        <a class="loc-cell-more" href="/locations/">See all areas →</a>
      </div>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:680px;margin:48px auto 0">
      <a class="v11-btn v11-btn-o" href="/locations/" style="border-color:rgba(184,149,106,.5);color:var(--gd,#b8956a);text-align:center;padding-left:8px;padding-right:8px">All Service Areas →</a>
      <a class="v11-btn v11-btn-g" href="#home-cta" style="text-align:center;padding-left:8px;padding-right:8px">Design Consultation →</a>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 6.75: FAQ — addresses final objections before CTA
     - Light cream-on-white treatment continues the editorial breath
     - Accordion CSS already in /assets/site-styles.css (.faq-item, .faq-q, .faq-a, .faq-icon)
     ============================================================ -->
<section class="v11-faq" style="background:#fff;padding:110px 48px;color:var(--g5,#333)">
  <div style="max-width:760px;margin:0 auto">
    <div style="text-align:center;margin-bottom:56px">
      <span class="v5-label" style="display:inline-block;background:none;padding:0;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.95)">Questions</span>
      <div style="display:block;width:36px;height:1px;background:rgba(184,149,106,.5);margin:18px auto 22px"></div>
      <h2 style="font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;font-weight:400;color:var(--g5,#1a1a1a);margin:0;letter-spacing:-.5px">Answers to the most <em style="color:var(--gd,#b8956a);font-style:italic">common questions</em>.</h2>
    </div>
    <div id="homeFaqList"></div>
  </div>
</section>

<!-- ============================================================
     SECTION 6.8: FINANCING — monthly payment calculator
     - Dark band between the light editorial break and the blog strip
     - Captures "monthly payment" intent + adds keyword-rich body content
     ============================================================ -->
<section class="v11-financing" style="background:var(--bg,#080808);color:#fff;padding:96px 48px;border-top:1px solid rgba(0,0,0,.05)">
  <div style="max-width:640px;margin:0 auto;text-align:center">
    <div style="width:36px;height:1px;background:rgba(184,149,106,.5);margin:0 auto 22px"></div>
    <span style="display:inline-block;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.95);text-transform:uppercase;margin-bottom:18px">Financing Available</span>
    <h2 style="font-family:var(--fd,Georgia,serif);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;font-weight:400;color:#fff;margin:0 0 14px;letter-spacing:-.5px">Estimate your <em style="color:var(--gd);font-style:italic">monthly investment</em>.</h2>
    <p style="font-size:.78rem;color:rgba(255,255,255,.45);margin:0 0 40px;font-weight:300;line-height:1.7">For illustration — 7.9% APR / 60 months. Rates from 4.9%. Subject to credit approval.</p>
    <div style="margin-bottom:24px;text-align:left">
      <div style="display:flex;justify-content:space-between;margin-bottom:12px">
        <span style="font-size:.6rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.4)">Project Investment</span>
        <span id="calcAmt" style="font-size:.88rem;font-weight:700;color:var(--gd)">$75,000</span>
      </div>
      <input type="range" class="calc-slider" id="calcSlider" min="40000" max="200000" step="5000" value="75000" aria-label="Estimated project investment" oninput="updateCalc()">
      <div style="display:flex;justify-content:space-between;margin-top:6px">
        <span style="font-size:.58rem;color:rgba(255,255,255,.25)">$40K</span>
        <span style="font-size:.58rem;color:rgba(255,255,255,.25)">$200K</span>
      </div>
    </div>
    <div style="padding:28px;border:1px solid rgba(184,149,106,.2);background:rgba(184,149,106,.04);margin-bottom:32px">
      <div style="font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px">Estimated Monthly</div>
      <div class="calc-result" id="calcResult">$1,524</div>
      <div style="font-size:.62rem;color:rgba(255,255,255,.3);margin-top:6px">7.9% APR · 60 months</div>
    </div>
    <a href="/financing/" class="v11-btn v11-btn-g">Apply for Financing →</a>
  </div>
</section>

<!-- ============================================================
     SECTION 6.85: BLOG — 3 internal links to cornerstone articles
     - Continues the white editorial breath after FAQ
     - Internal-linking SEO win + freshness signal
     ============================================================ -->
<section class="v11-blog" style="background:#fff;padding:96px 48px 110px;color:var(--g5,#333);border-top:1px solid rgba(0,0,0,.05)">
  <div style="max-width:1200px;margin:0 auto">
    <div style="display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:16px">
      <div>
        <span class="v5-label" style="display:inline-block;background:none;padding:0;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.95)">From the Blog</span>
        <div style="width:36px;height:1px;background:rgba(184,149,106,.5);margin:14px 0 18px"></div>
        <h2 style="font-family:var(--fd,Georgia,serif);font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:400;color:var(--g5,#1a1a1a);margin:0;line-height:1.15;letter-spacing:-.4px">Design ideas. Installation guides. <em style="color:var(--gd,#b8956a);font-style:italic">What to expect.</em></h2>
      </div>
      <a class="v11-btn v11-btn-o" href="/blog/" style="border-color:rgba(184,149,106,.5);color:var(--gd,#b8956a)">View All Articles →</a>
    </div>
    <div class="blog-grid-v5">
      <a href="/blog/maintenance-guide.html" class="blog-card-v5">
        <div class="blog-card-v5-img"><div class="blog-card-v5-img-inner" style="background-image:url('/media/portfolio/demarest-nj/demarest-nj-modern-aluminum-louvered-roof-cover.jpg')"></div></div>
        <div class="blog-card-v5-cat">Maintenance</div>
        <div class="blog-card-v5-title">Azenco R-Blade™ Maintenance Guide: Keep Your Motorized Pergola Running Perfectly</div>
        <p class="blog-card-v5-excerpt">A seasonal checklist to keep your R-Blade™ running quietly and flawlessly — from lubricating the drive mechanism to cleaning the louver channels.</p>
        <span class="blog-card-v5-link">Read Article →</span>
      </a>
      <a href="/blog/top-5-pergola-designs.html" class="blog-card-v5">
        <div class="blog-card-v5-img"><div class="blog-card-v5-img-inner" style="background-image:url('/media/portfolio/armonk-ny/armonk-ny-transitional-pergola-cover.jpg')"></div></div>
        <div class="blog-card-v5-cat">Design</div>
        <div class="blog-card-v5-title">Top 5 Pergola Designs for Northeast Homes in 2026</div>
        <p class="blog-card-v5-excerpt">Transitional to Modern to Classic Colonial — the five architectural styles we're building most often and why each one works for the Northeast.</p>
        <span class="blog-card-v5-link">Read Article →</span>
      </a>
      <a href="/blog/installation-guide.html" class="blog-card-v5">
        <div class="blog-card-v5-img"><div class="blog-card-v5-img-inner" style="background-image:url('/media/portfolio/east-hanover-nj/east-hanover-nj-modern-louvered-roof-cover.jpg')"></div></div>
        <div class="blog-card-v5-cat">Installation</div>
        <div class="blog-card-v5-title">Motorized Pergola Installation: What to Expect Start to Finish</div>
        <p class="blog-card-v5-excerpt">A week-by-week guide to the Breslow installation process — from design consultation to final walkthrough and automation setup.</p>
        <span class="blog-card-v5-link">Read Article →</span>
      </a>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 7.5: FEATURED PROJECT VIDEO — high-performing YouTube walkthrough
     - Replaced the Demarest ambient loop with the YouTube embed
     ============================================================ -->
<section class="v11-loop" aria-label="Modern aluminum louvered roof motorized pergola — Demarest, NJ walkthrough">
  <video autoplay muted loop playsinline preload="none"
         data-src="/media/portfolio/demarest-nj/demarest-nj-modern-louvered-roof-walkthrough.mp4"
         poster="/media/portfolio/demarest-nj/demarest-nj-modern-aluminum-louvered-roof-cover.jpg"
         aria-label="Transform your outdoor space with a modern louvered roof system — Demarest, NJ Breslow installation walkthrough">
  </video>
</section>

<!-- ============================================================
     SECTION 8: HOME CTA — GHL calendar (front-facing) + lead capture
     - 2-col layout: contact info + team panel | calendar + form
     - Calendar visible on load; form fields appear after slot pick
     - Single confirm → POST /appengine/appointment (creates contact + booking)
     ============================================================ -->
<section style="background:var(--bg,#080808);padding:96px 0 110px;border-top:1px solid rgba(255,255,255,.06)" id="home-cta">
  <div style="max-width:1200px;margin:0 auto;padding:0 40px">
    <div style="text-align:center;margin-bottom:48px">
      <div style="display:block;width:36px;height:1px;background:rgba(184,149,106,.5);margin:0 auto 22px"></div>
      <span style="display:inline-block;font-size:.54rem;letter-spacing:4px;font-weight:600;color:rgba(184,149,106,.95);text-transform:uppercase;margin-bottom:18px">Step 1 &middot; Virtual Zoom or Phone Consultation</span>
      <h2 style="font-family:var(--fd,Georgia,serif);font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.08;font-weight:400;color:#fff;margin:0 auto 14px;max-width:600px;letter-spacing:-.5px">Let's design <em style="color:var(--gd);font-style:italic">yours</em>.</h2>
      <p style="color:rgba(255,255,255,.5);font-size:.88rem;max-width:540px;margin:0 auto;line-height:1.75;font-weight:300">Start with a <strong style="color:rgba(255,255,255,.85);font-weight:500">virtual Zoom call (or phone if you prefer)</strong>. We'll review your space using photos and Google Earth, discuss design options, and walk through a realistic investment range &mdash; all from the comfort of your home.</p>
    </div>

    <div id="homeCtaSplit" style="display:grid;grid-template-columns:1fr 1.15fr;gap:0">

      <!-- LEFT — Contact info + steps + team -->
      <div style="background:#111;padding:48px 44px;border:1px solid rgba(255,255,255,.06);border-right:none">
        <div style="display:flex;flex-direction:column;gap:20px;margin-bottom:40px">
          <a href="tel:9737989328" style="display:flex;align-items:center;gap:16px;text-decoration:none">
            <div style="width:40px;height:40px;border:1px solid rgba(184,149,106,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem">📞</div>
            <div>
              <div style="font-size:.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd);margin-bottom:2px">Phone</div>
              <div style="font-size:.92rem;font-family:var(--fd);color:#fff">(973) 798-9328</div>
              <div style="font-size:.64rem;color:rgba(255,255,255,.3);font-weight:300">Mon–Fri 10am–6pm · Sat 10am–3pm</div>
            </div>
          </a>
          <a href="mailto:design@breslow.com" style="display:flex;align-items:center;gap:16px;text-decoration:none">
            <div style="width:40px;height:40px;border:1px solid rgba(184,149,106,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem">✉️</div>
            <div>
              <div style="font-size:.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd);margin-bottom:2px">Email</div>
              <div style="font-size:.92rem;font-family:var(--fd);color:#fff">design@breslow.com</div>
              <div style="font-size:.64rem;color:rgba(255,255,255,.3);font-weight:300">Same-day response during business hours</div>
            </div>
          </a>
          <div style="display:flex;align-items:center;gap:16px">
            <div style="width:40px;height:40px;border:1px solid rgba(184,149,106,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem">📍</div>
            <div>
              <div style="font-size:.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd);margin-bottom:2px">By Appointment Only</div>
              <div style="font-size:.92rem;font-family:var(--fd);color:#fff">North Jersey</div>
              <div style="font-size:.64rem;color:rgba(255,255,255,.3);font-weight:300">Serving NJ, CT, NY, PA, MD, DE, RI, MA &amp; FL</div>
            </div>
          </div>
        </div>

        <!-- What's next steps -->
        <div style="border-top:1px solid rgba(255,255,255,.08);padding-top:28px;margin-bottom:36px">
          <div style="font-size:.52rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:20px">What happens next?</div>
          <div style="display:flex;flex-direction:column;gap:18px">
            <div style="display:flex;align-items:flex-start;gap:14px">
              <div style="width:30px;height:30px;border-radius:50%;background:var(--gd);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.62rem;font-weight:700;color:#fff">1</div>
              <div><div style="font-size:.8rem;font-weight:600;color:#fff;margin-bottom:2px">Fill out the form</div><div style="font-size:.68rem;color:rgba(255,255,255,.32);font-weight:300;line-height:1.5">Takes under 2 minutes. Free and no obligation.</div></div>
            </div>
            <div style="display:flex;align-items:flex-start;gap:14px">
              <div style="width:30px;height:30px;border-radius:50%;border:1px solid rgba(184,149,106,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.62rem;font-weight:700;color:var(--gd)">2</div>
              <div><div style="font-size:.8rem;font-weight:600;color:#fff;margin-bottom:2px">You pick a time</div><div style="font-size:.68rem;color:rgba(255,255,255,.32);font-weight:300;line-height:1.5">We discuss rough pricing, design options, and set expectations.</div></div>
            </div>
            <div style="display:flex;align-items:flex-start;gap:14px">
              <div style="width:30px;height:30px;border-radius:50%;border:1px solid rgba(184,149,106,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.62rem;font-weight:700;color:var(--gd)">3</div>
              <div><div style="font-size:.8rem;font-weight:600;color:#fff;margin-bottom:2px">We bring your vision to life</div><div style="font-size:.68rem;color:rgba(255,255,255,.32);font-weight:300;line-height:1.5">Design, engineering, permitting &amp; install — all Breslow.</div></div>
            </div>
          </div>
        </div>

        <!-- Meet the Team -->
        <div id="home-team-block" style="border-top:1px solid rgba(255,255,255,.08);padding-top:28px">
          <div style="font-size:.52rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:14px">Your Design Team</div>
          <div style="display:flex;gap:14px">
            <div style="flex:1;text-align:center">
              <img src="/media/team/dana-shaw.jpg" alt="Dana Shaw" style="width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:6px;border:1px solid rgba(184,149,106,.2);margin-bottom:6px" loading="lazy">
              <div style="font-size:.72rem;font-weight:600;color:#fff">Dana Shaw</div>
              <div style="font-size:.54rem;color:var(--gd);font-weight:500;letter-spacing:.5px">4th Gen Owner &amp; CEO</div>
            </div>
            <div style="flex:1;text-align:center">
              <img src="/media/team/tristan-walsh.jpg" alt="Tristan Walsh" style="width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:6px;border:1px solid rgba(184,149,106,.2);margin-bottom:6px" loading="lazy">
              <div style="font-size:.72rem;font-weight:600;color:#fff">Tristan Walsh</div>
              <div style="font-size:.54rem;color:var(--gd);font-weight:500;letter-spacing:.5px">Sales Director</div>
            </div>
            <div style="flex:1;text-align:center">
              <img src="/media/team/mauricio-escobar.jpg" alt="Mauricio Escobar" style="width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:6px;border:1px solid rgba(184,149,106,.2);margin-bottom:6px" loading="lazy">
              <div style="font-size:.72rem;font-weight:600;color:#fff">Mauricio Escobar</div>
              <div style="font-size:.54rem;color:var(--gd);font-weight:500;letter-spacing:.5px">Sales &amp; Design</div>
            </div>
            <div style="flex:1;text-align:center">
              <img src="/media/team/jeanne-lavista-web.jpg" alt="Jeanne LaVista" style="width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:6px;border:1px solid rgba(184,149,106,.2);margin-bottom:6px" loading="lazy">
              <div style="font-size:.72rem;font-weight:600;color:#fff">Jeanne LaVista</div>
              <div style="font-size:.54rem;color:var(--gd);font-weight:500;letter-spacing:.5px">Sales &amp; Design</div>
            </div>
          </div>
        </div>
      </div>

      <!-- RIGHT — Calendar first (LP pattern), form fields appear after slot pick -->
      <div id="home-form" style="background:#0d0d0d;padding:48px 44px;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;justify-content:center">
        <div style="max-width:520px;width:100%;margin:0 auto;text-align:left">

          <!-- Step 1: Calendar (visible on load) -->
          <div id="homeCalendarSection">
            <div style="margin-bottom:18px">
              <div style="font-family:var(--fd,Georgia,serif);font-size:1.15rem;color:#fff;margin-bottom:4px">Select a Date &amp; Time</div>
              <div style="font-size:.74rem;color:rgba(255,255,255,.55);font-weight:300;line-height:1.6"><strong style="color:#fff;font-weight:500">Zoom call</strong> (or phone if you prefer) with a Breslow designer. <span style="color:rgba(184,149,106,.85)">In-site visits are scheduled separately, after this first call.</span></div>
            </div>
            <div id="homeCalendarWrap" class="cal-wrap"></div>
            <p style="text-align:center;margin-top:14px;font-size:.68rem;color:rgba(255,255,255,.3)">Prefer to call? <a href="tel:+19737989328" style="color:var(--gd);text-decoration:none;font-weight:600">(973) 798-9328</a></p>
          </div>

          <!-- Step 2: Contact details (hidden until slot picked) -->
          <div id="homeFormFields" style="display:none">
            <div style="border-top:1px solid rgba(255,255,255,.08);margin-top:22px;padding-top:22px">
              <div style="font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd);margin-bottom:6px">Almost There</div>
              <div style="font-family:var(--fd,Georgia,serif);font-size:1.15rem;color:#fff;margin-bottom:4px">Confirm Your Details</div>
              <div id="homeSelectedSummary" style="font-size:.72rem;color:rgba(255,255,255,.45);font-weight:300;margin-bottom:18px"></div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group"><label class="form-label" for="hFName">First Name *</label><input id="hFName" type="text" class="form-input" placeholder="First name"></div>
                <div class="form-group"><label class="form-label" for="hLName">Last Name *</label><input id="hLName" type="text" class="form-input" placeholder="Last name"></div>
              </div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group"><label class="form-label" for="hEmail">Email *</label><input id="hEmail" type="email" class="form-input" placeholder="you@email.com"></div>
                <div class="form-group"><label class="form-label" for="hPhone">Phone *</label><input id="hPhone" type="tel" class="form-input" placeholder="(555) 555-5555"></div>
              </div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group"><label class="form-label" for="hCity">City *</label><input id="hCity" type="text" class="form-input" placeholder="Morristown" autocomplete="address-level2"></div>
                <div class="form-group"><label class="form-label" for="hState">State *</label><select id="hState" class="form-select"><option value="">Select state</option><option>Connecticut</option><option>Delaware</option><option>Florida</option><option>Maine</option><option>Maryland</option><option>Massachusetts</option><option>New Hampshire</option><option>New Jersey</option><option>New York</option><option>Pennsylvania</option><option>Rhode Island</option><option>Other</option></select></div>
              </div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group"><label class="form-label" for="hType">Project Type (Optional)</label><select id="hType" class="form-select"><option value="">Select...</option><option>Residential</option><option>Commercial</option></select></div>
                <div class="form-group"><label class="form-label" for="hProduct">Product Type (Optional)</label><select id="hProduct" class="form-select"><option value="">Select...</option><option>Motorized Pergola</option><option>Retractable Awning</option><option>Motorized Screen Shades</option></select></div>
              </div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group" style="grid-column:span 2"><label class="form-label" for="hBudget">Budget (Optional)</label><select id="hBudget" class="form-select"><option value="">I'm still exploring</option><option>Under $50,000</option><option>$50,000 – $100,000</option><option>$100,000 – $150,000</option><option>$150,000 – $250,000</option><option>$250,000+</option></select></div>
              </div>
              <div class="form-row" style="margin-bottom:12px">
                <div class="form-group" style="grid-column:span 2"><label class="form-label" for="hNotes">Questions or Project Details (Optional)</label><textarea id="hNotes" class="form-input" rows="3" placeholder="Tell us what you're envisioning, any questions, or project specifics..." style="resize:vertical;min-height:80px;font-family:inherit"></textarea></div>
              </div>
              <div id="homeFormError" style="display:none;color:#e05;font-size:.74rem;margin-bottom:10px;padding:10px;border:1px solid rgba(220,0,80,.2);background:rgba(220,0,80,.05)"></div>
              <p style="font-size:.62rem;color:rgba(255,255,255,.3);line-height:1.6;margin-bottom:10px">By submitting, you agree to our <a href="/privacy.html" style="color:var(--gd);text-decoration:underline">Privacy Policy</a> and <a href="/terms.html" style="color:var(--gd);text-decoration:underline">Terms</a>, and consent to being contacted by Breslow via phone, email, or text.</p>
              <button class="v11-btn v11-btn-g" style="width:100%;padding:15px" onclick="homeConfirmAppt()">Confirm Appointment →</button>
              <div style="display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:10px">
                <p style="font-size:.62rem;color:rgba(255,255,255,.2);margin:0">No obligation · (973) 798-9328</p>
                <a href="/financing/" style="font-size:.62rem;color:rgba(184,149,106,.6);text-decoration:none;font-weight:600;letter-spacing:.5px">Apply for Financing →</a>
              </div>
            </div>
          </div>

        </div>
      </div>

    </div>
  </div>
</section>

<!-- ============================================================
     FOOTER — lifted from production
     - Brand + contact + social + 3-column site map + franchise + legal
     ============================================================ -->
<footer>
  <div class="foot-grid">
    <div>
      <div class="foot-brand">BRESLOW<span>.</span></div>
      <p class="foot-desc">Architectural Outdoor Living Since 1924. Certified Azenco dealer. Serving 9 states — by appointment only.</p>
      <div class="foot-contact">+1 (973) 798-9328<br>design@breslow.com<br>By Appointment Only<br>Mon&ndash;Fri 10am&ndash;6pm &middot; Sat 10am&ndash;3pm</div>
      <div class="foot-social">
        <a href="https://www.instagram.com/breslowdesign/" target="_blank" rel="noopener" aria-label="Breslow on Instagram"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg></a>
        <a href="https://www.youtube.com/@MotorizedPergola" target="_blank" rel="noopener" aria-label="Breslow on YouTube"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23.495 6.205a3.007 3.007 0 0 0-2.088-2.088c-1.87-.501-9.396-.501-9.396-.501s-7.507-.01-9.396.501A3.007 3.007 0 0 0 .527 6.205a31.247 31.247 0 0 0-.522 5.805 31.247 31.247 0 0 0 .522 5.783 3.007 3.007 0 0 0 2.088 2.088c1.868.502 9.396.502 9.396.502s7.506 0 9.396-.502a3.007 3.007 0 0 0 2.088-2.088 31.247 31.247 0 0 0 .5-5.783 31.247 31.247 0 0 0-.5-5.805zM9.609 15.601V8.408l6.264 3.602z"/></svg></a>
        <a href="https://www.tiktok.com/@breslowdesign" target="_blank" rel="noopener" aria-label="Breslow on TikTok"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.27 8.27 0 0 0 4.83 1.54V6.78a4.85 4.85 0 0 1-1.06-.09z"/></svg></a>
        <a href="https://www.facebook.com/breslowoutdoors/" target="_blank" rel="noopener" aria-label="Breslow on Facebook"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg></a>
        <a href="https://wa.me/19737989328" target="_blank" rel="noopener" aria-label="Breslow on WhatsApp"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg></a>
      </div>
    </div>
    <div class="foot-col">
      <h4>Pages</h4>
      <a href="/">Home</a>
      <a href="/products/r-blade-pergola/">Products</a>
      <a href="/portfolio/">Portfolio</a>
      <a href="/about.html">About</a>
      <a href="/commercial/">Commercial Pergolas</a>
      <a href="/locations/">Locations</a>
      <a href="/contact/">Contact</a>
    </div>
    <div class="foot-col">
      <h4>Products</h4>
      <a href="/products/r-blade-pergola/">R-Blade&trade; Pergola</a>
      <a href="/products/r-shade-screens/">R-Shade&trade; Screens</a>
      <a href="/retractable-awnings/">Retractable Awnings</a>
      <a href="/cabanas/">Cabanas &amp; Enclosures</a>
      <a href="/inspiration/custom-styles/">Design &amp; Styles</a>
    </div>
    <div class="foot-col">
      <h4>Service States</h4>
      <a href="/new-jersey.html">New Jersey (HQ)</a>
      <a href="/connecticut.html">Connecticut</a>
      <a href="/new-york.html">New York</a>
      <a href="/locations/">All Service Areas &rarr;</a>
    </div>
  </div>
  <nav aria-label="Site map" style="position:absolute;left:-9999px;width:1px;overflow:hidden">
    <a href="/about.html">About</a><a href="/products/r-blade-pergola/">R-Blade Motorized Pergola</a><a href="/products/r-shade-screens/">R-Shade Screens</a><a href="/retractable-awnings/">Retractable Awnings</a><a href="/commercial/">Commercial Louvered Roof Pergolas</a><a href="/architects.html">Architects</a><a href="/locations/">Locations</a><a href="/portfolio/">Portfolio</a><a href="/inspiration/custom-styles/">Custom Styles</a><a href="/financing/">Financing</a><a href="/blog/">Blog</a><a href="/contact/">Contact</a>
  </nav>
  <div style="max-width:1200px;margin:0 auto;border-top:1px solid rgba(184,149,106,.12);padding-top:28px;margin-bottom:28px">
    <div style="font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gd);margin-bottom:8px">Franchise Opportunities Available</div>
    <p style="font-size:.74rem;color:rgba(255,255,255,.4);line-height:1.7;margin:0 0 6px">Interested in bringing Breslow to your market?<br>Contact Dana Shaw, Owner &amp; CEO of Breslow Design &amp; Build.</p>
    <p style="font-size:.74rem;color:rgba(255,255,255,.4);margin:0">(973) 464-8335 &middot; <a href="mailto:dana@breslow.com" style="color:var(--gd);text-decoration:none">dana@breslow.com</a></p>
  </div>
  <div style="max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:20px;margin-bottom:16px">
    <a href="/privacy.html" style="color:rgba(255,255,255,.4);font-size:.68rem;text-decoration:none">Privacy Policy</a>
    <a href="/terms.html" style="color:rgba(255,255,255,.4);font-size:.68rem;text-decoration:none">Terms of Service</a>
    <a href="/accessibility.html" style="color:rgba(255,255,255,.4);font-size:.68rem;text-decoration:none">Accessibility</a>
  </div>
  <div class="foot-bottom">
    <span>&copy; 2026 Breslow Design &amp; Build. Architectural Outdoor Living Since 1924.</span>
    <span>NJ &middot; CT &middot; NY &middot; PA &middot; MD &middot; DE &middot; RI &middot; MA &middot; FL</span>
  </div>
</footer>

<!-- ============================================================
     COOKIE CONSENT BANNER — GDPR / CCPA compliance
     ============================================================ -->
<div id="cookieConsent" style="display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(8,8,8,.97);border-top:1px solid rgba(184,149,106,.15);padding:16px 40px;backdrop-filter:blur(12px)">
  <div style="max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap">
    <p style="font-size:.78rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.6;margin:0;flex:1;min-width:280px">We use cookies to improve your experience and measure site performance. By continuing to use this site, you consent to our <a href="/privacy.html" style="color:var(--gd);text-decoration:underline">Privacy Policy</a>.</p>
    <div style="display:flex;gap:10px;flex-shrink:0">
      <button onclick="acceptCookies()" style="background:var(--gd);color:#fff;border:none;padding:9px 22px;font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--fb)">Accept</button>
      <button onclick="acceptCookies()" style="background:transparent;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.15);padding:9px 22px;font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--fb)">Decline</button>
    </div>
  </div>
</div>

<script>
// Portfolio grid data — 9 of the most documented projects.
// Same data shape as /portfolio/index.html for consistency.
var galData = [
  // 2 hero tiles (2x2 each on desktop) — reverted to original grid images
  {slug:'east-hanover-nj',  title:'East Hanover, NJ',   loc:'Modern Motorized Louvered Roof',          bg:'/media/portfolio/east-hanover-nj/east-hanover-nj-modern-louvered-roof-cover.jpg'},
  {slug:'armonk-ny',        title:'Armonk, NY',         loc:'Transitional Pergola',                    bg:'/media/portfolio/armonk-ny/armonk-ny-transitional-pergola-cover.jpg'},
  // 8 standard tiles
  {slug:'tenafly-nj-2',           title:'Tenafly, NJ',       loc:'Poolside Pergola · Black Aluminum',    bg:'/media/portfolio/tenafly-nj-2/tenafly_pergola_poolside.jpg'},
  {slug:'monmouth-beach-nj',      title:'Monmouth Beach, NJ',loc:'Outdoor Room + Kitchen',               bg:'/media/portfolio/monmouth-beach-nj/monmouth-beach-nj-deck-mounted-louvered-roof-cover.jpg'},
  {slug:'manhasset-ny',           title:'Manhasset, NY',     loc:'Transitional Pergola',                 bg:'/media/portfolio/manhasset-ny/manhasset-ny-transitional-pergola-cover.jpg'},
  {slug:'new-canaan-ct',          title:'New Canaan, CT',    loc:'Waetzig · Transitional Pergola',       bg:'/media/portfolio/waetzig-new-canaan-ct/waetzig-new-canaan-ct-transitional-pergola-cover.jpg'},
  {slug:'westport-ct',            title:'Westport, CT',      loc:'Smart Poolside Pergola',               bg:'/media/portfolio/westport-ct/westport-ct-smart-poolside-pergola-cover.jpg'},
  {slug:'darien-ct-3',            title:'Darien, CT',        loc:'Transitional · Custom Packard',        bg:'/media/portfolio/darien-ct-3/darien-ct-3-pergola-cover.jpg'},
  {slug:'old-westbury-ny',        title:'Old Westbury, NY',  loc:'Custom Pergola — Gold Coast Estate',   bg:'/media/portfolio/old-westbury-ny/old-westbury-ny-pergola-cover.jpg'},
  {slug:'demarest-nj',            title:'Demarest, NJ',      loc:'Modern Aluminum Louvered Roof',        bg:'/media/portfolio/demarest-nj/demarest-nj-modern-aluminum-louvered-roof-cover.jpg'}
];

var grid = document.getElementById('galGrid');
galData.forEach(function(item, idx){
  var a = document.createElement('a');
  a.className = 'gal-item';
  a.href = '/portfolio/' + item.slug + '/';
  a.setAttribute('aria-label', 'View project: ' + item.title + ' — ' + item.loc);

  // Modern browsers get WebP, fallback to original JPG/PNG
  var pic = document.createElement('picture');
  var webp = document.createElement('source');
  webp.srcset = item.bg.replace(/\.(jpe?g|png)$/i, '.webp');
  webp.type = 'image/webp';
  pic.appendChild(webp);
  var img = document.createElement('img');
  img.className = 'gal-item-img';
  img.src = item.bg;
  img.alt = item.title + ' — ' + item.loc + ' by Breslow Design & Build';
  if (idx < 3) { img.loading = 'eager'; img.setAttribute('fetchpriority','high'); }
  else { img.loading = 'lazy'; img.decoding = 'async'; }
  pic.appendChild(img);

  var ov  = document.createElement('div'); ov.className  = 'gal-item-overlay';
  var loc = document.createElement('div'); loc.className = 'gal-item-loc'; loc.textContent = item.title;
  var cta = document.createElement('div'); cta.className = 'gal-item-cta';
  ov.appendChild(loc); ov.appendChild(cta);
  a.appendChild(pic); a.appendChild(ov);
  grid.appendChild(a);
});

/* Hero video — load + play AFTER page becomes idle so the poster image is the LCP candidate.
   Drops mobile LCP from ~13s → ~2s because we no longer wait on a 3 MB MP4 to render. */
(function(){
  var v = document.getElementById('heroVid');
  if (!v) return;
  v.addEventListener('playing', function(){ v.classList.add('is-playing'); });
  function startVid(){
    v.load();
    var p = v.play();
    if (p && p.catch) p.catch(function(){});
  }
  if ('requestIdleCallback' in window) {
    window.addEventListener('load', function(){ requestIdleCallback(startVid, { timeout: 2500 }); });
  } else {
    window.addEventListener('load', function(){ setTimeout(startVid, 1200); });
  }
})();

/* Commercial feature video — Lake Success, lazy-load below-fold (source picked by media query) */
(function(){
  var v = document.getElementById('commVid');
  if (!v) return;
  v.addEventListener('playing', function(){ v.classList.add('is-playing'); });
  if ('IntersectionObserver' in window) {
    var io = new IntersectionObserver(function(entries){
      entries.forEach(function(e){
        if (e.isIntersecting) {
          if (v.readyState < 2) v.load();
          v.play().catch(function(){});
        } else {
          v.pause();
        }
      });
    }, { rootMargin: '300px 0px' });
    io.observe(v);
  } else {
    v.load(); v.play().catch(function(){});
  }
})();

/* Lazy-load ambient autoplay videos via IntersectionObserver.
   Below-fold videos with autoplay would otherwise download their full bytes
   the moment they scroll into view. This defers the src assignment until
   the video is ~400px from the viewport, killing the page-weight hit at load. */
(function(){
  var lazyVids = document.querySelectorAll('video[data-src]');
  if(!lazyVids.length) return;
  if(!('IntersectionObserver' in window)){
    lazyVids.forEach(function(v){ v.src = v.dataset.src; });
    return;
  }
  var io = new IntersectionObserver(function(entries){
    entries.forEach(function(entry){
      if(entry.isIntersecting){
        var v = entry.target;
        if(!v.src){
          var s = document.createElement('source');
          s.src = v.dataset.src;
          s.type = 'video/mp4';
          v.appendChild(s);
          v.load();
          v.play().catch(function(){});
        }
        io.unobserve(v);
      }
    });
  }, { rootMargin: '400px 0px' });
  lazyVids.forEach(function(v){ io.observe(v); });
})();

/* Financing calculator */
function updateCalc(){
  var v=parseInt(document.getElementById('calcSlider').value);
  document.getElementById('calcAmt').textContent='$'+v.toLocaleString();
  // 7.9% APR, 60 months — standard amortization
  var r=0.079/12, n=60;
  var monthly=(v*r)/(1-Math.pow(1+r,-n));
  document.getElementById('calcResult').textContent='$'+Math.round(monthly).toLocaleString();
}
updateCalc();

/* Cookie consent banner */
(function(){
  try{
    if(!localStorage.getItem('breslow_cookie_consent')){
      setTimeout(function(){
        var el=document.getElementById('cookieConsent');
        if(el)el.style.display='block';
      },1500);
    }
  }catch(e){}
})();
function acceptCookies(){
  var el=document.getElementById('cookieConsent');
  if(el)el.style.display='none';
  try{localStorage.setItem('breslow_cookie_consent','accepted');}catch(e){}
}

/* Style compare slider — drag handle reveals modern vs transitional */
(function(){
  var slider=document.getElementById('styleSlider');
  if(!slider)return;
  var after=slider.querySelector('.ss-after');
  var handle=slider.querySelector('.ss-handle');
  if(!after||!handle)return;
  var dragging=false;
  function update(x){
    var rect=slider.getBoundingClientRect();
    var pct=Math.max(0,Math.min(1,(x-rect.left)/rect.width));
    after.style.clipPath='inset(0 0 0 '+(pct*100)+'%)';
    handle.style.left=(pct*100)+'%';
  }
  slider.addEventListener('mousedown',function(e){dragging=true;update(e.clientX);e.preventDefault();});
  window.addEventListener('mousemove',function(e){if(dragging)update(e.clientX);});
  window.addEventListener('mouseup',function(){dragging=false;});
  slider.addEventListener('touchstart',function(e){dragging=true;update(e.touches[0].clientX);},{passive:true});
  window.addEventListener('touchmove',function(e){if(dragging)update(e.touches[0].clientX);},{passive:true});
  window.addEventListener('touchend',function(){dragging=false;});
})();

/* Video testimonial play/pause — click anywhere on the video tile */
function playTestimonial(el){
  var video = el.querySelector('video');
  var overlay = el.querySelector('.v11-vtest-play');
  if(!video) return;
  if(video.paused){
    video.play();
    if(overlay) overlay.style.opacity = '0';
  } else {
    video.pause();
    if(overlay) overlay.style.opacity = '1';
  }
}

/* ───────────── FAQ accordion ───────────── */
var homeFaqs=[
  {q:'What is a motorized pergola?',a:'A motorized pergola is a type of pergola whose roof can be opened and closed at the touch of a button. The Azenco R-Blade™ features motorized aluminum louvers that rotate 0°–160°, giving you full control over sunlight, shade, and rain protection from your phone or remote.'},
  {q:'How much does a Breslow system cost?',a:'Residential systems typically range from $50,000 to $150,000+ depending on size, complexity, and features. Commercial projects are scoped individually. We provide accurate, detailed estimates during your free consultation. Financing options are available.'},
  {q:'What is Azek wrapping?',a:'Azek wrapping is custom-milled PVC trim applied to every column, beam, fascia, and crown moulding — matched precisely to your home\'s existing architecture. The result is a pergola that looks like it was designed with your home from day one, not added on afterward.'},
  {q:'How long does it take to install a motorized pergola?',a:'Residential projects typically take 2–4 days on-site. The full process — design, permitting, fabrication, and installation — is typically 8–12 weeks from signed contract. Our team handles everything including PE-stamped engineering.'},
  {q:'Do motorized pergolas require maintenance?',a:'Azenco R-Blade™ systems are built from 6063-T6 aerospace-grade aluminum with a powder-coat finish — they require very minimal maintenance. We recommend an annual inspection of the motor and louver seals. Breslow offers a lifetime service program for all installed systems.'},
  {q:'What areas do you service?',a:'We\'re based in North Jersey and serve NJ, CT, NY, PA, MD, DE, RI, MA, and Florida — 9 states in total. By appointment only — call or book online to schedule a consultation.'},
  {q:'Can I add heating and screens to a motorized pergola?',a:'Absolutely. Breslow integrates infrared heating panels, motorized zip-track screens (R-Shade™), LED lighting, and outdoor audio into every R-Blade™ system. These are engineered in from the start — not added as afterthoughts.'},
  {q:'Is a motorized pergola worth the investment?',a:'For homeowners who use their outdoor space regularly, an Azenco R-Blade™ system transforms a seasonal patio into a year-round living room. The combination of rain protection, heat, and lighting means the space is usable 10–11 months a year in the Northeast.'},
  {q:'Do you work in New York City and on rooftops?',a:'Yes. Breslow has completed numerous NYC rooftop and penthouse installations — fully NYC DOB compliant, PE-stamped for elevated wind loads, and coordinated with building management for crane logistics.'}
];
function buildFaq(id,data){
  var c=document.getElementById(id); if(!c) return;
  data.forEach(function(f){
    var item=document.createElement('div'); item.className='faq-item';
    var q=document.createElement('div'); q.className='faq-q';
    var qSpan=document.createElement('span'); qSpan.textContent=f.q;
    var icon=document.createElement('div'); icon.className='faq-icon'; icon.textContent='+';
    q.appendChild(qSpan); q.appendChild(icon);
    var a=document.createElement('div'); a.className='faq-a';
    var aP=document.createElement('p'); aP.textContent=f.a; a.appendChild(aP);
    item.appendChild(q); item.appendChild(a);
    q.onclick=function(){
      var was=item.classList.contains('open');
      document.querySelectorAll('#'+id+' .faq-item').forEach(function(i){i.classList.remove('open');});
      if(!was) item.classList.add('open');
    };
    c.appendChild(item);
  });
}
buildFaq('homeFaqList',homeFaqs);

/* ───────────── GHL Calendar Engine ───────────── */
var GHL_API='https://backend.leadconnectorhq.com';
var GHL_CAL_ID='u3OCortJFhpf3IYB6U5W';
var GHL_LOC_ID='5NXGVcv9OyfeiCBwDrjV';
var GHL_CALENDAR_COMMERCIAL='4DCRuRmisiSJUTtlFMfF';
var GHL_TZ='America/New_York';
var MONTHS=['January','February','March','April','May','June','July','August','September','October','November','December'];
var DNAMES=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
var _slotCache={};
function _calKey(y,m){return y+'-'+(m<10?'0':'')+m;}
function _fetchSlots(year,month,calId,cb){
  if(typeof calId==='function'){cb=calId;calId=GHL_CAL_ID;}
  var key=(calId||GHL_CAL_ID)+':'+_calKey(year,month);
  if(_slotCache[key]){cb(_slotCache[key]);return;}
  var start=new Date(year,month,1), end=new Date(year,month+1,1);
  var url=GHL_API+'/calendars/'+(calId||GHL_CAL_ID)+'/free-slots?startDate='+start.getTime()+'&endDate='+end.getTime()+'&timezone='+encodeURIComponent(GHL_TZ);
  fetch(url).then(function(r){return r.json();}).then(function(data){
    delete data.traceId; _slotCache[key]=data; cb(data);
  }).catch(function(){cb(null);});
}
function _fmtTime(iso){var d=new Date(iso),h=d.getHours(),m=d.getMinutes(),ap=h>=12?'PM':'AM';if(h>12)h-=12;if(h===0)h=12;return h+':'+(m<10?'0':'')+m+' '+ap;}
function _fmtDateLong(ds){var p=ds.split('-'),d=new Date(+p[0],+p[1]-1,+p[2]);return DNAMES[d.getDay()]+', '+MONTHS[d.getMonth()]+' '+d.getDate()+', '+d.getFullYear();}
function _el(tag,cls,text){var e=document.createElement(tag);if(cls)e.className=cls;if(text)e.textContent=text;return e;}

function _renderCal(wrap){
  var s=wrap._cal; wrap.textContent='';
  if(s.booked){
    var homeFormBooked=document.getElementById('homeFormFields');
    if(homeFormBooked) homeFormBooked.style.display='none';
    var bk=_el('div','cal-booked');
    var ck=_el('div','','✓'); ck.style.cssText='font-size:2rem;margin-bottom:12px'; bk.appendChild(ck);
    bk.appendChild(_el('h3','','You\'re booked!'));
    bk.appendChild(_el('p','',_fmtDateLong(s.selectedDate)+' at '+_fmtTime(s.selectedSlot)));
    var note=_el('p','','You\'ll receive a Zoom link via email shortly.');
    note.style.cssText='margin-top:8px;font-size:.72rem;opacity:.6'; bk.appendChild(note);
    wrap.appendChild(bk); return;
  }
  var hdr=_el('div','cal-header');
  var prev=_el('button','cal-nav','‹'); prev.setAttribute('aria-label','Previous month');
  prev.addEventListener('click',function(){calNav(wrap.id,-1);});
  var title=_el('div','cal-month',MONTHS[s.month]+' '+s.year);
  var next=_el('button','cal-nav','›'); next.setAttribute('aria-label','Next month');
  next.addEventListener('click',function(){calNav(wrap.id,1);});
  hdr.appendChild(prev); hdr.appendChild(title); hdr.appendChild(next); wrap.appendChild(hdr);

  var grid=_el('div','cal-grid');
  for(var i=0;i<7;i++) grid.appendChild(_el('div','cal-dow',DNAMES[i].substring(0,2)));
  var first=new Date(s.year,s.month,1);
  var lastDay=new Date(s.year,s.month+1,0).getDate();
  var startDow=first.getDay();
  var now=new Date();
  var todayStr=now.getFullYear()+'-'+(now.getMonth()<9?'0':'')+(now.getMonth()+1)+'-'+(now.getDate()<10?'0':'')+now.getDate();
  for(var b=0;b<startDow;b++) grid.appendChild(_el('div','cal-day'));
  for(var d=1;d<=lastDay;d++){
    var ds=s.year+'-'+(s.month<9?'0':'')+(s.month+1)+'-'+(d<10?'0':'')+d;
    var hasSlots=s.slots[ds]&&s.slots[ds].slots&&s.slots[ds].slots.length>0;
    var cls='cal-day';
    if(hasSlots) cls+=' has-slots';
    if(ds===todayStr) cls+=' today';
    if(ds===s.selectedDate) cls+=' selected';
    var cell=_el('div',cls,String(d));
    if(hasSlots){(function(dateStr){cell.addEventListener('click',function(){calSelectDate(wrap.id,dateStr);});})(ds);}
    grid.appendChild(cell);
  }
  wrap.appendChild(grid);

  if(s.loading){wrap.appendChild(_el('div','cal-loading','Loading availability...'));return;}
  if(s.error){wrap.appendChild(_el('div','cal-error',s.error));return;}

  if(s.selectedDate && s.slots[s.selectedDate]){
    var daySlots=s.slots[s.selectedDate].slots;
    var lbl=_el('div','',_fmtDateLong(s.selectedDate));
    lbl.style.cssText='font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;color:rgba(255,255,255,.35)';
    wrap.appendChild(lbl);
    var hint=_el('p','',s.selectedSlot?'':'Select a time below to schedule your virtual Zoom consultation');
    hint.style.cssText='font-size:.74rem;margin-bottom:10px;color:rgba(255,255,255,.45)';
    wrap.appendChild(hint);
    var slotsDiv=_el('div','cal-slots');
    for(var si=0;si<daySlots.length;si++){
      var slotCls='cal-slot'+(daySlots[si]===s.selectedSlot?' selected':'');
      var slotEl=_el('div',slotCls,_fmtTime(daySlots[si]));
      (function(slotIso){slotEl.addEventListener('click',function(){calSelectSlot(wrap.id,slotIso);});})(daySlots[si]);
      slotsDiv.appendChild(slotEl);
    }
    wrap.appendChild(slotsDiv);
  }

  // Toggle the contact-details form based on slot pick (LP front-facing pattern)
  var homeForm=document.getElementById('homeFormFields');
  if(homeForm){
    if(s.selectedSlot && !s.booking && !s.booked){
      homeForm.style.display='block';
      var summary=document.getElementById('homeSelectedSummary');
      if(summary) summary.textContent=_fmtDateLong(s.selectedDate)+' at '+_fmtTime(s.selectedSlot)+' — Zoom consultation';
    } else if(!s.booked){
      homeForm.style.display='none';
    }
  }
  if(s.booking){
    wrap.appendChild(_el('div','cal-loading','Booking your appointment...'));
  }
}

function initCalendar(wrapId,calId,contactData){
  var wrap=document.getElementById(wrapId); if(!wrap) return;
  var now=new Date();
  wrap._cal={year:now.getFullYear(),month:now.getMonth(),selectedDate:null,selectedSlot:null,slots:{},loading:true,booking:false,booked:false,error:null,calId:calId||GHL_CAL_ID,contact:contactData||{}};
  wrap._loadMonth=function(){
    var s=wrap._cal; s.loading=true; s.error=null; _renderCal(wrap);
    _fetchSlots(s.year,s.month,s.calId,function(data){
      s.loading=false;
      if(!data){s.error='Could not load availability. Please call (973) 798-9328.';}
      else{s.slots=data;}
      _renderCal(wrap);
    });
  };
  wrap._loadMonth();
}
function calNav(wrapId,dir){var w=document.getElementById(wrapId),s=w._cal;s.month+=dir;if(s.month>11){s.month=0;s.year++;}if(s.month<0){s.month=11;s.year--;}s.selectedDate=null;s.selectedSlot=null;w._loadMonth();}
function calSelectDate(wrapId,dateStr){var w=document.getElementById(wrapId);w._cal.selectedDate=dateStr;w._cal.selectedSlot=null;_renderCal(w);}
function calSelectSlot(wrapId,slotIso){var w=document.getElementById(wrapId);w._cal.selectedSlot=slotIso;_renderCal(w);}
function calBook(wrapId){
  var w=document.getElementById(wrapId),s=w._cal;
  s.booking=true; _renderCal(w);
  var body={calendar_id:s.calId,selected_slot:s.selectedSlot,timezone:GHL_TZ,location_id:GHL_LOC_ID};
  if(s.contact.firstName)body.first_name=s.contact.firstName;
  if(s.contact.lastName)body.last_name=s.contact.lastName;
  if(s.contact.email)body.email=s.contact.email;
  if(s.contact.phone)body.phone=s.contact.phone;
  var cf={};
  if(s.contact.projectType)cf.project_type=s.contact.projectType;
  if(s.contact.productType)cf.product_interest=s.contact.productType;
  if(s.contact.budget)cf.investment_range=s.contact.budget;
  if(Object.keys(cf).length)body.customField=cf;
  if(s.contact.city)body.city=s.contact.city;
  if(s.contact.state)body.state=s.contact.state;
  // Belt-and-suspenders: also push all form data to contact Notes
  var notes=['Source: Breslow Homepage'];
  if(s.contact.city)notes.push('City: '+s.contact.city);
  if(s.contact.state)notes.push('State: '+s.contact.state);
  if(s.contact.projectType)notes.push('Project Type: '+s.contact.projectType);
  if(s.contact.productType)notes.push('Product Type: '+s.contact.productType);
  if(s.contact.budget)notes.push('Budget: '+s.contact.budget);
  if(s.contact.message)notes.push('Message: '+s.contact.message);
  body.notes=notes.join(' | ');
  fetch(GHL_API+'/appengine/appointment',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(body)})
    .then(function(r){return r.json();})
    .then(function(data){
      s.booking=false;
      if(data&&(data.id||data.ids)){
        s.booked=true;
        if(typeof gtag==='function')gtag('event','conversion',{'send_to':'AW-1052777336/JuVPCJqM1LUcEPi2gPYD','value':7500,'currency':'USD'});
        if(typeof gtag==='function')gtag('event','book_consultation',{event_category:'lead',event_label:'calendar_booking',value:1});
        if(typeof fbq==='function')fbq('track','Lead',{content_name:'Consultation Booking'});
        // Fire GHL inbound webhook to populate custom fields (Find Contact → Update fields)
        try{
          fetch('https://services.leadconnectorhq.com/hooks/5NXGVcv9OyfeiCBwDrjV/webhook-trigger/fc71501a-c802-49ce-bbfe-492e87bdd1e1',{
            method:'POST',
            headers:{'Content-Type':'application/json'},
            body:JSON.stringify({
              firstName:s.contact.firstName||'',
              lastName:s.contact.lastName||'',
              email:s.contact.email||'',
              phone:s.contact.phone||'',
              city:s.contact.city||'',
              state:s.contact.state||'',
              projectType:s.contact.projectType||'',
              productType:s.contact.productType||'',
              budget:s.contact.budget||'',
              message:s.contact.message||'',
              source:'Breslow Homepage'
            })
          });
        }catch(_){}
      } else {s.error='Booking failed. Please call (973) 798-9328.';}
      _renderCal(w);
    })
    .catch(function(){s.booking=false;s.error='Booking failed. Please call (973) 798-9328.';_renderCal(w);});
}

function homeConfirmAppt(){
  var fn=document.getElementById('hFName').value.trim();
  var ln=document.getElementById('hLName').value.trim();
  var em=document.getElementById('hEmail').value.trim();
  var ph=document.getElementById('hPhone').value.trim();
  var ci=document.getElementById('hCity').value.trim();
  var st=document.getElementById('hState').value;
  var ty=document.getElementById('hType').value;
  var pr=document.getElementById('hProduct').value;
  var bg=document.getElementById('hBudget').value;
  var msg=document.getElementById('hNotes').value.trim();
  var err=document.getElementById('homeFormError'),errors=[];
  if(!fn)errors.push('First name');
  if(!ln)errors.push('Last name');
  if(!em||!em.includes('@'))errors.push('Valid email');
  if(!ph)errors.push('Phone number');
  if(!ci)errors.push('City');
  if(!st)errors.push('State');
  if(errors.length){err.style.display='block';err.textContent='Please provide: '+errors.join(', ')+'.';return;}
  err.style.display='none';
  var wrap=document.getElementById('homeCalendarWrap');
  if(wrap&&wrap._cal){
    wrap._cal.contact={firstName:fn,lastName:ln,email:em,phone:ph,city:ci,state:st,projectType:ty,productType:pr,budget:bg,message:msg};
  }
  calBook('homeCalendarWrap');
}

// Initialize calendar on page load (LP front-facing pattern)
initCalendar('homeCalendarWrap', GHL_CAL_ID);

// ── Scroll into CTA when any #home-cta link is clicked ──
// Mobile: land on team headshots so team + calendar are both visible
// Desktop: center the calendar in viewport
document.addEventListener('click', function(e){
  var a = e.target.closest && e.target.closest('a[href="#home-cta"]');
  if (!a) return;
  e.preventDefault();
  var isMobile = window.innerWidth <= 900;
  if (isMobile) {
    var team = document.getElementById('home-team-block');
    if (team) {
      // Offset slightly above team so the section eyebrow is also visible
      var top = team.getBoundingClientRect().top + window.scrollY - 80;
      window.scrollTo({ top: top, behavior: 'smooth' });
      return;
    }
  }
  var cal = document.getElementById('homeCalendarWrap');
  if (!cal) {
    var section = document.getElementById('home-cta');
    if (section) section.scrollIntoView({ behavior:'smooth', block:'start' });
    return;
  }
  cal.scrollIntoView({ behavior:'smooth', block:'center' });
});

</script>

<!-- Real Google reviews loader (uses createElement/textContent — no innerHTML, no XSS) -->
<script>
(function(){
  var scroller=document.getElementById('grScroller');
  if(!scroller)return;
  function el(tag,cls,text){var n=document.createElement(tag);if(cls)n.className=cls;if(text!=null)n.textContent=text;return n;}
  function init(d){
    document.getElementById('grAvg').textContent=Number(d.profileAverageRating).toFixed(1)+'★';
    document.getElementById('grCount').textContent=d.profileTotalReviews;
    if(d.mapsUrl) document.getElementById('grAllLink').href=d.mapsUrl;
    d.reviews.forEach(function(r){
      var author=String(r.author||'Anonymous');
      var initials=author.split(' ').map(function(s){return s[0]||'';}).join('').slice(0,2);
      var d2=new Date(r.date);
      var dateLabel=isNaN(d2)?'':d2.toLocaleDateString('en-US',{month:'short',year:'numeric'});
      var card=el('article','gr-card');
      var top=el('div','gr-card-top');
      top.appendChild(el('span','gr-stars','★★★★★'));
      top.appendChild(el('span',null,dateLabel));
      card.appendChild(top);
      card.appendChild(el('p','gr-text',String(r.text||'')));
      var auth=el('div','gr-author');
      auth.appendChild(el('span','gr-avatar',initials));
      auth.appendChild(el('span','gr-name',author));
      card.appendChild(auth);
      scroller.appendChild(card);
    });
  }
  fetch('/data/google-reviews.json',{cache:'no-cache'}).then(function(r){return r.json();}).then(init).catch(function(){scroller.parentElement.style.display='none';});
})();
</script>

<script src="/assets/dev-chrome.js" defer></script>
</body>
</html>
