{"id":1433,"date":"2026-05-15T20:29:37","date_gmt":"2026-05-15T20:29:37","guid":{"rendered":"https:\/\/tqzpy6w77d-staging.wpdns.site\/?page_id=1433"},"modified":"2026-06-04T19:21:31","modified_gmt":"2026-06-04T19:21:31","slug":"home-v2","status":"publish","type":"page","link":"https:\/\/bluerockremodel.com\/","title":{"rendered":"Home"},"content":{"rendered":"\n\n<style id=\"bluerock-home-css\">\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500;1,9..144,600;1,9..144,700&family=Manrope:wght@300;400;500;600;700&family=DM+Mono:wght@300;400;500&display=swap');\n\n:root {\n  --navy:#0E2A47; --midnight:#091B2E; --ocean:#1B3A5C; --slate:#2C3E50; --steel:#3D4A5C;\n  --copper:#B87333; --copper-lt:#D69464; --ember:#8C5523;\n  --bone:#F0EBE0; --cream:#F8F5EE; --cloud:#C9CFD7;\n  --display:'Fraunces', Georgia, serif;\n  --body:'Manrope', system-ui, sans-serif;\n  --mono:'DM Mono', monospace;\n}\nhtml, body { background: var(--midnight); margin: 0; padding: 0; }\n\/* Override Astra theme's body { overflow-x: hidden }, which makes body a scroll\n   container and kills position:sticky for the showpiece. overflow:clip prevents\n   horizontal overflow without establishing a scroll container. *\/\nbody { overflow-x: clip !important; overflow-y: visible !important; }\nhtml.br-loaded, body.br-loaded { cursor: none; }\n@media (hover: none), (pointer: coarse) { html.br-loaded, body.br-loaded { cursor: auto; } }\n\n.br-home, .br-home * { box-sizing: border-box; }\n.br-home {\n  background: var(--navy);\n  color: var(--cream);\n  font-family: var(--body);\n  line-height: 1.6;\n  \/* overflow-x:hidden REMOVED \u2014 it kills position:sticky for the Showpiece.\n     We clip individual offending elements instead. *\/\n}\n.br-home > section:not(.br-showpiece),\n.br-home > header,\n.br-home > footer { overflow: clip; max-width: 100vw; }\n.br-home > .br-showpiece,\n.br-showpiece-track,\n.br-showpiece-sticky { overflow: visible !important; }\n.br-home h1, .br-home h2, .br-home h3, .br-home h4 {\n  font-family: var(--display);\n  font-weight: 400;\n  font-style: italic;\n  color: var(--cream);\n  line-height: 1.05;\n  letter-spacing: -1.5px;\n  margin: 0;\n}\n.br-home h1 em, .br-home h2 em, .br-home h3 em { font-style: italic; color: var(--copper-lt); font-weight: 500; }\n.br-home p { margin: 0; color: var(--cream); }\n.br-home a { color: var(--cream); text-decoration: none; transition: color 240ms ease; }\n\n.br-eyebrow {\n  font-family: var(--mono);\n  font-size: 11px; font-weight: 500;\n  letter-spacing: 3px; text-transform: uppercase;\n  color: var(--copper); display: inline-block;\n}\n.br-eyebrow.light { color: var(--copper-lt); }\n.br-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; position: relative; }\n.br-section { padding: 110px 0; position: relative; }\n.br-section--navy { background: var(--navy); }\n.br-section--mid  { background: var(--midnight); }\n.br-section--ocean { background: var(--ocean); }\n\n\/* ============ NAV ============ *\/\n.br-nav {\n  position: sticky; top: 0; z-index: 50;\n  background: rgba(14,42,71,0.92); backdrop-filter: blur(12px);\n  border-bottom: 1px solid rgba(255,255,255,0.05);\n  transition: padding 240ms ease, background 240ms ease;\n}\n.br-nav.is-scrolled { background: rgba(9,27,46,0.96); }\n.br-nav-inner {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 22px 32px; max-width: 1320px; margin: 0 auto; gap: 24px;\n}\n.br-nav-logo { display: flex; align-items: center; gap: 12px; }\n.br-nav-logo img { height: 36px; display: block; }\n.br-nav-links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }\n.br-nav-links a {\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2.5px;\n  text-transform: uppercase; color: var(--cream); opacity: 0.85;\n}\n.br-nav-links a:hover { opacity: 1; color: var(--copper-lt); }\n.br-nav-phone { font-family: var(--mono); font-size: 13px; letter-spacing: 1.5px; }\n.br-nav-progress {\n  position: absolute; left: 0; bottom: -1px; height: 1.5px;\n  background: var(--copper); width: var(--progress, 0%);\n  transition: width 100ms linear;\n}\n\n.br-btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  padding: 13px 22px; background: var(--copper); color: var(--cream);\n  border: 1px solid var(--copper); border-radius: 6px;\n  font-family: var(--body); font-size: 14px; font-weight: 500;\n  letter-spacing: 0.5px;\n  transition: background 380ms cubic-bezier(0.16,1,0.3,1),\n              border-color 380ms cubic-bezier(0.16,1,0.3,1),\n              transform 200ms ease, box-shadow 380ms ease;\n  text-decoration: none; position: relative; cursor: none;\n}\n.br-btn:hover { background: var(--ember); border-color: var(--ember); box-shadow: 0 6px 18px rgba(184,115,51,0.32); }\n.br-btn:active { transform: scale(0.98); }\n.br-btn--ghost { background: transparent; color: var(--cream); }\n.br-btn--ghost:hover { background: var(--copper); border-color: var(--copper); }\n.br-btn--lg { padding: 16px 30px; font-size: 15px; }\n\n\/* ============ HERO ============ *\/\n.br-hero {\n  padding: 110px 0 120px;\n  position: relative;\n  overflow: hidden;\n  isolation: isolate;\n}\n.br-hero::before {\n  content: \"\";\n  position: absolute; inset: 0;\n  background-image: var(--hero-photo);\n  background-size: cover; background-position: center right;\n  background-repeat: no-repeat;\n  filter: brightness(0.55) saturate(0.78) contrast(1.04);\n  opacity: 0.55;\n  z-index: -2;\n  transform: scale(1.05);\n  animation: brHeroFloat 18s cubic-bezier(0.4,0,0.6,1) infinite alternate;\n}\n.br-hero::after {\n  content: \"\";\n  position: absolute; inset: 0;\n  background:\n    radial-gradient(ellipse 80% 60% at 20% 50%, rgba(14,42,71,0.75), transparent 70%),\n    linear-gradient(to right, var(--navy) 8%, rgba(14,42,71,0.55) 55%, transparent 90%),\n    linear-gradient(to bottom, transparent 60%, var(--navy) 100%);\n  z-index: -1;\n  pointer-events: none;\n}\n@keyframes brHeroFloat {\n  0%   { transform: scale(1.05) translate(0, 0); }\n  100% { transform: scale(1.08) translate(-1.2%, -0.6%); }\n}\n.br-hero .br-wrap { position: relative; z-index: 1; }\n.br-hero h1 {\n  font-size: clamp(40px, 6.6vw, 84px);\n  letter-spacing: -2.5px; line-height: 1.02;\n  margin: 24px 0 28px; max-width: 1100px;\n  text-shadow: 0 2px 24px rgba(0,0,0,0.25);\n}\n.br-hero .sub { font-size: 19px; line-height: 1.6; max-width: 600px; opacity: 0.9; margin-bottom: 40px; text-shadow: 0 1px 16px rgba(0,0,0,0.3); }\n.br-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 60px; }\n.br-hero-meta {\n  display: grid; grid-template-columns: repeat(3, max-content); gap: 48px;\n  padding-top: 28px; border-top: 1px solid rgba(184,115,51,0.18);\n  max-width: 700px;\n  opacity: 0; transform: translateY(20px);\n  transition: opacity 800ms cubic-bezier(0.16,1,0.3,1) 400ms,\n              transform 800ms cubic-bezier(0.16,1,0.3,1) 400ms;\n}\n.br-hero-meta.is-on { opacity: 1; transform: translateY(0); }\n.br-hero-meta .v {\n  font-family: var(--display); font-style: italic; font-weight: 500;\n  font-size: 32px; color: var(--copper-lt); letter-spacing: -1px;\n}\n.br-hero-meta .l {\n  font-family: var(--mono); font-size: 10px; letter-spacing: 2.5px;\n  text-transform: uppercase; opacity: 0.65; margin-top: 4px;\n}\n\n\/* ============ TRUST BAR V2 ============ *\/\n.br-trustbar { background: var(--midnight); padding: 60px 32px; position: relative; overflow: hidden; }\n.br-trustbar .pattern {\n  position: absolute; inset: 0; opacity: 0.04;\n  background-image: linear-gradient(to right, var(--copper) 1px, transparent 1px),\n                    linear-gradient(to bottom, var(--copper) 1px, transparent 1px);\n  background-size: 40px 40px;\n}\n.br-trustbar-grid {\n  position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;\n  max-width: 1280px; margin: 0 auto;\n}\n.br-trust-cell { text-align: left; padding: 8px 0; position: relative; }\n.br-trust-cell .tile {\n  position: absolute; left: 0; top: -8px; width: 28px; height: 4px;\n  background: var(--copper); transform: scaleX(0); transform-origin: left;\n  transition: transform 600ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-trust-cell.is-on .tile { transform: scaleX(1); }\n.br-trust-cell .val {\n  font-family: var(--display); font-style: italic; font-weight: 500;\n  font-size: clamp(36px, 4.6vw, 60px); color: var(--copper-lt);\n  letter-spacing: -1.5px; line-height: 1;\n}\n.br-trust-cell .val sup { font-size: 0.5em; color: var(--copper); margin-left: 4px; vertical-align: super; }\n.br-trust-cell .lbl {\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2.5px;\n  text-transform: uppercase; color: var(--cream); opacity: 0.75;\n  margin-top: 12px;\n}\n.br-trust-cell .sub { margin-top: 14px; height: 22px; }\n.br-trust-cell .chart { display: flex; gap: 3px; align-items: flex-end; height: 22px; }\n.br-trust-cell .chart span {\n  width: 4px; background: var(--copper); border-radius: 1px;\n  height: 0; opacity: 0.7;\n  transition: height 600ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-trust-cell .stars { color: var(--copper-lt); letter-spacing: 3px; font-size: 14px; }\n.br-trust-cell .tally { display: flex; gap: 3px; height: 18px; }\n.br-trust-cell .tally span {\n  width: 2px; background: var(--copper); opacity: 0.65;\n  transform: scaleY(0); transform-origin: bottom;\n  transition: transform 400ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-trust-cell.is-on .tally span { transform: scaleY(1); }\n.br-trust-cell .live {\n  display: flex; align-items: center; gap: 8px;\n  font-family: var(--mono); font-size: 10px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--cloud);\n}\n.br-trust-cell .live .dot {\n  width: 6px; height: 6px; background: #5B8A3A; border-radius: 50%;\n  box-shadow: 0 0 0 0 rgba(91,138,58,0.6);\n  animation: livePulse 2200ms cubic-bezier(0.16,1,0.3,1) infinite;\n}\n@keyframes livePulse {\n  0% { box-shadow: 0 0 0 0 rgba(91,138,58,0.6); }\n  70% { box-shadow: 0 0 0 8px rgba(91,138,58,0); }\n  100% { box-shadow: 0 0 0 0 rgba(91,138,58,0); }\n}\n\n\/* ============ SECTION HEADER ============ *\/\n.br-section-head { margin-bottom: 56px; max-width: 900px; }\n.br-section-head h2 { font-size: clamp(36px, 4.4vw, 58px); margin: 16px 0 22px; }\n.br-section-head .lede { font-size: 19px; opacity: 0.85; max-width: 600px; }\n\n\/* tile divider \u2014 drawn line that animates in *\/\n.br-divider {\n  height: 1px; width: 0; background: var(--copper); margin: 0 0 12px;\n  transition: width 1200ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-divider.is-on,\n.is-on > .br-divider,\n.is-on .br-divider { width: 80px; }\n\n\/* ============ TRADE \/ GRID-3 ============ *\/\n.br-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }\n.br-card {\n  background: rgba(255,255,255,0.025);\n  border: 1px solid rgba(184,115,51,0.18);\n  padding: 38px 32px; border-radius: 10px;\n  transition: transform 320ms cubic-bezier(0.16,1,0.3,1),\n              border-color 320ms cubic-bezier(0.16,1,0.3,1),\n              background 320ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-card:hover { transform: translateY(-4px); border-color: var(--copper); background: rgba(255,255,255,0.05); }\n.br-card .icon { width: 56px; height: 56px; margin-bottom: 22px; }\n.br-card h3 {\n  font-style: normal; font-weight: 600; font-size: 24px;\n  letter-spacing: -0.3px; margin-bottom: 12px;\n}\n.br-card p { font-size: 15px; line-height: 1.6; opacity: 0.78; }\n\n\/* ============ PROCESS ============ *\/\n.br-process { padding: 110px 0; background: var(--ocean); position: relative; overflow: hidden; }\n.br-process .pattern {\n  position: absolute; inset: 0; opacity: 0.025; pointer-events: none;\n  background-image: repeating-linear-gradient(45deg, var(--copper) 0 1px, transparent 1px 16px);\n}\n.br-process-head { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: end; margin-bottom: 70px; }\n.br-process-head h2 { font-size: clamp(36px, 4.6vw, 60px); }\n.br-process-head .lede { font-size: 18px; opacity: 0.82; max-width: 380px; }\n.br-process-rail {\n  position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;\n}\n.br-process-line {\n  position: absolute; top: 24px; left: 24px; right: calc((100% - 60px)\/6 - 24px); height: 1px;\n  background: rgba(184,115,51,0.2);\n}\n.br-process-line-fill {\n  position: absolute; left: 0; top: 0; height: 100%; width: 0;\n  background: var(--copper);\n  transition: width 1800ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-process.is-on .br-process-line-fill { width: 100%; }\n.br-process-step { position: relative; text-align: left; padding-top: 0; }\n.br-process-node {\n  width: 48px; height: 48px; border-radius: 50%;\n  background: var(--midnight); border: 1.5px solid var(--copper);\n  display: flex; align-items: center; justify-content: center;\n  margin-bottom: 18px; position: relative; z-index: 2;\n  transform: scale(0); opacity: 0;\n  transition: transform 500ms cubic-bezier(0.16,1,0.3,1),\n              opacity 500ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-process.is-on .br-process-step:nth-child(2) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 200ms; }\n.br-process.is-on .br-process-step:nth-child(3) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 400ms; }\n.br-process.is-on .br-process-step:nth-child(4) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 600ms; }\n.br-process.is-on .br-process-step:nth-child(5) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 800ms; }\n.br-process.is-on .br-process-step:nth-child(6) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 1000ms; }\n.br-process.is-on .br-process-step:nth-child(7) .br-process-node { transform: scale(1); opacity: 1; transition-delay: 1200ms; }\n.br-process-num {\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2.5px;\n  color: var(--copper-lt); margin-bottom: 6px;\n}\n.br-process-step-title {\n  font-family: var(--display); font-style: italic; font-weight: 500;\n  font-size: 24px; color: var(--cream); margin: 4px 0 10px;\n}\n.br-process-step-copy { font-size: 14px; line-height: 1.55; opacity: 0.78; margin-bottom: 12px; }\n.br-process-step-meta {\n  font-family: var(--mono); font-size: 10px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--copper);\n}\n\n\/* ============ SHOWPIECE (scroll-locked) ============ *\/\n.br-showpiece { background: var(--midnight); position: relative; }\n.br-showpiece-track { height: 420vh; position: relative; }\n.br-showpiece-sticky {\n  position: sticky; top: 0; height: 100vh; display: grid;\n  grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: center;\n  padding: 0 6%;\n  overflow: hidden;\n}\n.br-showpiece-pattern {\n  position: absolute; inset: 0; opacity: 0.04; pointer-events: none;\n  background-image: radial-gradient(circle at 50% 50%, var(--copper) 1px, transparent 1px);\n  background-size: 18px 18px;\n}\n.br-showpiece-stage { position: relative; height: 100%; display: flex; align-items: center; justify-content: center; }\n.br-showpiece-stage svg { width: 100%; max-width: 720px; height: auto; max-height: 80vh; }\n.br-showpiece-copy { position: relative; z-index: 2; max-width: 460px; padding-left: 32px; border-left: 1px solid rgba(184,115,51,0.15); }\n.br-showpiece-copy .progress {\n  position: absolute; left: 0; top: 0; width: 1px; background: var(--copper);\n  height: 0; transition: height 100ms linear;\n}\n.br-showpiece-counter {\n  font-family: var(--mono); font-size: 13px; letter-spacing: 3px;\n  color: var(--copper); margin: 12px 0 12px;\n}\n.br-showpiece-stage-name {\n  font-family: var(--display); font-style: italic; font-weight: 500;\n  font-size: 32px; color: var(--cream); letter-spacing: -0.8px;\n  margin-bottom: 26px; line-height: 1.2;\n}\n.br-showpiece-quote { position: relative; min-height: 110px; }\n.br-showpiece-quote-line {\n  position: absolute; left: 0; top: 0;\n  font-family: var(--display); font-style: italic; font-weight: 400;\n  font-size: 22px; line-height: 1.45; color: var(--copper-lt);\n  opacity: 0; transform: translateY(12px);\n  transition: opacity 600ms cubic-bezier(0.16,1,0.3,1),\n              transform 600ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-showpiece-quote-line.is-on { opacity: 1; transform: translateY(0); }\n.br-showpiece-phase-meta {\n  margin-top: 36px;\n  font-family: var(--mono); font-size: 10px; letter-spacing: 2.5px;\n  text-transform: uppercase; color: var(--cream); opacity: 0.55;\n}\n\n\/* ============ GALLERY ============ *\/\n.br-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }\n.br-gallery .item { position: relative; overflow: hidden; border-radius: 8px; }\n.br-gallery .item img {\n  width: 100%; aspect-ratio: 4\/5; object-fit: cover; display: block;\n  transition: transform 600ms cubic-bezier(0.16,1,0.3,1), filter 600ms ease;\n  filter: brightness(0.92);\n}\n.br-gallery .item:hover img { transform: scale(1.04); filter: brightness(1.03); }\n.br-gallery .meta { padding: 20px 4px 0; }\n.br-gallery .meta h3 {\n  font-style: normal; font-weight: 600; font-size: 22px;\n  letter-spacing: -0.5px;\n}\n.br-gallery .meta .loc {\n  font-family: var(--mono); font-size: 12px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--copper-lt); margin-top: 6px;\n}\n\n\/* ============ TEAM ============ *\/\n.br-team { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }\n.br-team h2 { font-size: clamp(32px, 3.8vw, 48px); line-height: 1.15; margin-bottom: 28px; }\n.br-team .text p { font-size: 19px; opacity: 0.85; max-width: 520px; line-height: 1.65; margin-bottom: 32px; }\n.br-team .portrait {\n  background: var(--ocean);\n  border: 1px dashed var(--copper-lt);\n  padding: 100px 40px; text-align: center; border-radius: 10px;\n  font-family: var(--mono); font-size: 12px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--copper-lt);\n}\n.br-team .portrait--photo {\n  background: transparent;\n  border: none;\n  padding: 0;\n  border-radius: 12px;\n  overflow: hidden;\n  position: relative;\n  box-shadow: 0 24px 60px rgba(0,0,0,0.35), 0 2px 8px rgba(0,0,0,0.2);\n  margin: 0;\n}\n.br-team .portrait--photo img {\n  width: 100%; height: auto; display: block;\n  aspect-ratio: 4 \/ 3; object-fit: cover;\n  border-radius: 12px;\n}\n.br-team .portrait--photo figcaption {\n  position: absolute; left: 0; right: 0; bottom: 0;\n  padding: 18px 22px;\n  background: linear-gradient(to top, rgba(9,27,46,0.85), transparent);\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2.5px;\n  text-transform: uppercase; color: var(--copper-lt);\n}\n\n\/* ============ REVIEWS ============ *\/\n.br-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }\n.br-review {\n  background: rgba(255,255,255,0.025); border: 1px solid rgba(184,115,51,0.15);\n  padding: 36px 32px; border-radius: 10px;\n}\n.br-review .stars { color: var(--copper-lt); letter-spacing: 4px; font-size: 16px; margin-bottom: 20px; }\n.br-review .body {\n  font-family: var(--display); font-style: italic; font-weight: 400;\n  font-size: 18px; line-height: 1.55; margin-bottom: 24px;\n}\n.br-review .name { font-family: var(--body); font-weight: 600; font-size: 15px; }\n.br-review .loc {\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--copper-lt); margin-top: 4px;\n}\n\n\/* ============ SERVICE AREA ============ *\/\n.br-area { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }\n.br-area-towns {\n  font-family: var(--display); font-style: italic; font-weight: 500;\n  font-size: clamp(28px, 3.4vw, 42px);\n  line-height: 1.4; color: var(--cream);\n}\n\n\/* ============ FINAL CTA (with Mandala) ============ *\/\n.br-finalcta { text-align: center; padding: 140px 0; background: var(--navy); position: relative; overflow: hidden; }\n.br-finalcta-mandala {\n  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);\n  width: 720px; height: 720px; opacity: 0.07; pointer-events: none;\n}\n.br-finalcta-mandala svg { width: 100%; height: 100%; }\n.br-finalcta-mandala .spin-1 {\n  transform-origin: 360px 360px;\n  animation: spin1 60s linear infinite;\n  fill: none; stroke: var(--copper); stroke-width: 1;\n}\n.br-finalcta-mandala .spin-2 {\n  transform-origin: 360px 360px;\n  animation: spin2 90s linear infinite reverse;\n  fill: none; stroke: var(--copper-lt); stroke-width: 0.8;\n}\n@keyframes spin1 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n@keyframes spin2 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n.br-finalcta .content { position: relative; z-index: 2; }\n.br-finalcta h2 { font-size: clamp(38px, 5.4vw, 68px); line-height: 1.05; margin: 20px auto 28px; max-width: 900px; }\n.br-finalcta .sub { font-size: 20px; opacity: 0.85; margin-bottom: 40px; }\n.br-finalcta-btns { display: inline-flex; gap: 16px; flex-wrap: wrap; justify-content: center; }\n\n\/* ============ FOOTER ============ *\/\n.br-footer { background: var(--midnight); padding: 100px 0 30px; position: relative; }\n.br-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 40px; }\n.br-footer h4 {\n  font-family: var(--mono); font-style: normal; font-weight: 500;\n  font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;\n  color: var(--copper-lt); margin-bottom: 18px;\n}\n.br-footer img.logo { height: 48px; width: auto; margin-bottom: 18px; }\n.br-footer .col p, .br-footer .col a {\n  font-family: var(--body); font-size: 14px; line-height: 2;\n  color: var(--cream); opacity: 0.82;\n}\n.br-footer .col a:hover { opacity: 1; color: var(--copper-lt); }\n.br-footer .legal {\n  text-align: center; font-size: 12px; opacity: 0.5; letter-spacing: 1px;\n  margin-top: 60px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.06);\n}\n\n\/* ============ CURSOR ============ *\/\n.br-cursor {\n  position: fixed; left: 0; top: 0; width: 9px; height: 9px;\n  background: var(--copper-lt); pointer-events: none;\n  z-index: 9999;\n  box-shadow: 0 0 0 1px rgba(248,245,238,0.10), 0 0 6px rgba(184,115,51,0.28);\n  transition: width 220ms ease, height 220ms ease, background 220ms ease, box-shadow 220ms ease;\n  border-radius: 50%;\n  will-change: transform;\n}\n.br-cursor.is-link { width: 30px; height: 30px; background: rgba(214,148,100,0.14); border: 1px solid rgba(214,148,100,0.7); border-radius: 50%; box-shadow: 0 0 0 1px rgba(184,115,51,0.35), 0 0 12px rgba(184,115,51,0.22); }\n.br-cursor.is-tap { opacity: 0.5; width: 6px; height: 6px; }\n@media (hover: none), (pointer: coarse) { .br-cursor { display: none; } }\n\n\/* ============ SCROLL ARC ============ *\/\n.br-scroll-arc {\n  position: fixed; right: 28px; bottom: 28px; width: 56px; height: 56px;\n  z-index: 60; opacity: 0; pointer-events: none;\n  transition: opacity 380ms cubic-bezier(0.16,1,0.3,1);\n}\n.br-scroll-arc.is-on { opacity: 1; }\n.br-scroll-arc svg { width: 100%; height: 100%; }\n.br-scroll-arc .bg { fill: none; stroke: rgba(248,245,238,0.12); stroke-width: 1.5; }\n.br-scroll-arc .fill {\n  fill: none; stroke: var(--copper-lt); stroke-width: 1.5;\n  stroke-linecap: round; transition: stroke-dashoffset 100ms linear;\n}\n.br-scroll-arc text {\n  font-family: var(--mono); font-size: 10px; font-weight: 500;\n  fill: var(--copper-lt); text-anchor: middle; dominant-baseline: middle;\n}\n\n\/* ============ RESPONSIVE ============ *\/\n@media (max-width: 1000px) {\n  .br-process-head { grid-template-columns: 1fr; gap: 16px; }\n  .br-process-rail { grid-template-columns: repeat(2, 1fr); gap: 36px; }\n  .br-process-line { display: none; }\n  .br-showpiece-track { height: auto; }\n  .br-showpiece-sticky { position: relative; grid-template-columns: 1fr; height: auto; padding: 80px 24px; gap: 40px; }\n  .br-showpiece-stage svg { max-height: 60vw; }\n}\n@media (max-width: 900px) {\n  .br-section { padding: 70px 0; }\n  .br-nav-inner { flex-wrap: wrap; gap: 16px; }\n  .br-nav-links { gap: 18px; }\n  .br-trustbar-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }\n  .br-grid-3, .br-gallery, .br-reviews { grid-template-columns: 1fr; }\n  .br-team, .br-area { grid-template-columns: 1fr; gap: 40px; }\n  .br-footer-grid { grid-template-columns: 1fr 1fr; }\n  .br-hero h1 { font-size: 44px; letter-spacing: -1.5px; }\n  .br-hero-meta { grid-template-columns: repeat(3,1fr); gap: 20px; }\n  .br-section-head h2, .br-finalcta h2 { font-size: 34px; }\n}\n@media (max-width: 540px) {\n  .br-wrap { padding: 0 20px; }\n  .br-trustbar-grid { grid-template-columns: 1fr; }\n  .br-footer-grid { grid-template-columns: 1fr; gap: 28px; }\n  .br-hero-meta { grid-template-columns: 1fr; gap: 16px; padding-top: 22px; }\n  .br-finalcta-mandala { width: 480px; height: 480px; }\n}\n\/* TRADE CARD ARROW *\/\na.br-card { text-decoration: none; display: block; color: inherit; }\na.br-card:hover { color: inherit; }\n.br-card-arrow {\n  display: inline-block; margin-top: 18px;\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2.5px;\n  text-transform: uppercase; color: var(--copper-lt);\n  transition: transform 280ms cubic-bezier(0.16,1,0.3,1), color 280ms ease;\n}\n.br-card:hover .br-card-arrow { color: var(--copper); transform: translateX(6px); }\n\n\/* FOOTER TRUST PILLS *\/\n.br-footer-trust {\n  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;\n  margin-top: 50px; padding-top: 36px; border-top: 1px solid rgba(184,115,51,0.18);\n}\n.br-trust-pill {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-family: var(--mono); font-size: 11px; letter-spacing: 2px;\n  text-transform: uppercase; color: var(--copper-lt);\n  padding: 8px 16px; border: 1px solid rgba(184,115,51,0.3); border-radius: 20px;\n}\n.br-trust-pill::before {\n  content: \"\u2713\"; color: var(--copper); font-size: 13px; line-height: 1;\n}\n.br-footer .legal { border-top: none; margin-top: 24px; padding-top: 0; }\n\n\/* MOBILE BURGER *\/\n.br-nav-burger {\n  display: none; background: transparent; border: 1px solid var(--copper);\n  border-radius: 6px; padding: 10px 12px; cursor: none;\n  flex-direction: column; gap: 4px; width: 42px; height: 36px;\n  align-items: center; justify-content: center;\n}\n.br-nav-burger span {\n  display: block; width: 18px; height: 1.5px; background: var(--copper-lt);\n  transition: transform 280ms cubic-bezier(0.16,1,0.3,1), opacity 200ms ease;\n}\n.br-nav-burger.is-open span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }\n.br-nav-burger.is-open span:nth-child(2) { opacity: 0; }\n.br-nav-burger.is-open span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }\n@media (max-width: 820px) {\n  .br-nav-burger { display: inline-flex; }\n  .br-nav { overflow: visible !important; }\n  .br-nav-inner { padding-top: 30px; }\n  .br-nav-links {\n    position: fixed; top: 70px; left: 0; right: 0;\n    flex-direction: column; align-items: flex-start; gap: 0;\n    background: var(--midnight); padding: 24px 32px 36px;\n    border-bottom: 1px solid rgba(184,115,51,0.15);\n    transform: translateY(-110%); transition: transform 380ms cubic-bezier(0.16,1,0.3,1);\n    z-index: 60;\n  }\n  .br-nav-links.is-open { transform: translateY(0); }\n  .br-nav-links a { padding: 14px 0; font-size: 14px; letter-spacing: 2px; width: 100%; border-bottom: 1px solid rgba(184,115,51,0.08); }\n  .br-nav-links a:last-child { border-bottom: none; margin-top: 12px; }\n  .br-nav-phone { font-size: 16px !important; }\n}\n\n\/* SERVICE AREA \u2014 subway tile pattern accent *\/\n.br-section--mid {\n  position: relative;\n  background-image:\n    linear-gradient(135deg, transparent 49.5%, rgba(184,115,51,0.04) 49.5% 50.5%, transparent 50.5%),\n    linear-gradient(45deg,  transparent 49.5%, rgba(184,115,51,0.04) 49.5% 50.5%, transparent 50.5%);\n  background-size: 60px 60px, 60px 60px;\n  background-position: 0 0;\n}\n\n\/* MOBILE STICKY CTA BAR *\/\n.br-mobile-cta { display: none; }\n@media (max-width: 820px) {\n  .br-mobile-cta {\n    display: grid; grid-template-columns: 1fr 1fr;\n    position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;\n    background: rgba(9,27,46,0.97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);\n    border-top: 1px solid rgba(184,115,51,0.32); box-shadow: 0 -6px 24px rgba(0,0,0,0.38);\n  }\n  .br-mobile-cta a {\n    display: flex; align-items: center; justify-content: center; gap: 8px;\n    min-height: 58px; padding: 14px 12px; text-decoration: none;\n    font-family: var(--mono); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cream);\n  }\n  .br-mobile-cta a.call { border-right: 1px solid rgba(184,115,51,0.25); }\n  .br-mobile-cta a.quote { background: var(--copper); color: var(--cream); font-weight: 600; }\n  .br-mobile-cta a.quote:active { background: var(--ember); }\n  .br-scroll-arc { display: none; }\n  .br-home { padding-bottom: 64px; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .br-cursor, .br-scroll-arc, .br-finalcta-mandala { display: none; }\n  html.br-loaded, body.br-loaded { cursor: auto; }\n  .br-btn { cursor: pointer; }\n  * { animation: none !important; transition: none !important; }\n}\n<\/style>\n\n<div class=\"br-home\">\n\n  <!-- LocalBusiness JSON-LD schema -->\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"HomeAndConstructionBusiness\",\n    \"@id\": \"https:\/\/bluerockremodel.com\/#business\",\n    \"name\": \"Bluerock Remodeling\",\n    \"alternateName\": \"Blue Rock Remodeling\",\n    \"description\": \"Hand-set bathroom and kitchen remodels across Middle Tennessee. Tile, done right.\",\n    \"url\": \"https:\/\/bluerockremodel.com\/\",\n    \"telephone\": \"+19312225538\",\n    \"email\": \"bluerock56@gmail.com\",\n    \"image\": \"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-01-primary-logo-on-navy.png\",\n    \"logo\": \"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-01-primary-logo-on-navy.png\",\n    \"priceRange\": \"$$\",\n    \"address\": {\n      \"@type\": \"PostalAddress\",\n      \"addressLocality\": \"Manchester\",\n      \"addressRegion\": \"TN\",\n      \"addressCountry\": \"US\"\n    },\n    \"areaServed\": [\n      {\"@type\":\"City\",\"name\":\"Manchester, TN\"},\n      {\"@type\":\"City\",\"name\":\"Murfreesboro, TN\"},\n      {\"@type\":\"City\",\"name\":\"Shelbyville, TN\"},\n      {\"@type\":\"City\",\"name\":\"Tullahoma, TN\"},\n      {\"@type\":\"City\",\"name\":\"McMinnville, TN\"},\n      {\"@type\":\"City\",\"name\":\"Winchester, TN\"},\n      {\"@type\":\"City\",\"name\":\"Lynchburg, TN\"}\n    ],\n    \"hasOfferCatalog\": {\n      \"@type\": \"OfferCatalog\",\n      \"name\": \"Tile &amp; Remodeling Services\",\n      \"itemListElement\": [\n        {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Bathroom Remodeling\",\"url\":\"https:\/\/bluerockremodel.com\/bathroom-remodeling\/\"}},\n        {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Kitchen Remodeling\",\"url\":\"https:\/\/bluerockremodel.com\/kitchen-remodeling\/\"}},\n        {\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Custom Tile Installation\"}}\n      ]\n    },\n    \"aggregateRating\": {\n      \"@type\": \"AggregateRating\",\n      \"ratingValue\": \"5.0\",\n      \"reviewCount\": \"17\"\n    },\n    \"openingHoursSpecification\": [{\n      \"@type\": \"OpeningHoursSpecification\",\n      \"dayOfWeek\": [\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\n      \"opens\": \"08:00\",\n      \"closes\": \"16:00\"\n    }]\n  }\n  <\/script>\n\n  <!-- NAV -->\n  <header class=\"br-nav\">\n    <div class=\"br-nav-inner\">\n      <a href=\"\/\" class=\"br-nav-logo\"><img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-07-wordmark-light.png\" alt=\"Bluerock Remodeling\" \/><\/a>\n      <button class=\"br-nav-burger\" aria-label=\"Open menu\" aria-expanded=\"false\">\n        <span><\/span><span><\/span><span><\/span>\n      <\/button>\n      <nav class=\"br-nav-links\" aria-label=\"Primary\">\n        <a href=\"\/?page_id=1446\">Bathroom<\/a>\n        <a href=\"\/?page_id=1447\">Kitchen<\/a>\n        <a href=\"\/?page_id=1449\">Gallery<\/a>\n        <a href=\"\/?page_id=1487\">Reviews<\/a>\n        <a href=\"\/?page_id=1448\">About<\/a>\n        <a href=\"tel:+19312225538\" class=\"br-nav-phone\">931.222.5538<\/a>\n        <a href=\"\/?page_id=1450\" class=\"br-btn\">Get a Quote \u2192<\/a>\n      <\/nav>\n    <\/div>\n    <div class=\"br-nav-progress\"><\/div>\n  <\/header>\n\n  <!-- HERO -->\n  <section class=\"br-section br-section--navy br-hero\" style=\"--hero-photo:url('https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-img_8031-scaled.png');\">\n    <div class=\"br-wrap\">\n      <span class=\"br-eyebrow light\">Manchester, TN  \u00b7  Est. 2024<\/span>\n      <h1>Hand-set bathroom and kitchen<br>remodels across <em>Middle Tennessee.<\/em><\/h1>\n      <p class=\"sub\">Grandfather and grandson. Brian and Tyler set every tile by hand. Bathrooms, kitchens, and the detail work most contractors farm out. No subs, ever.<\/p>\n      <div class=\"br-hero-cta\">\n        <a href=\"\/?page_id=1450\" class=\"br-btn\">Get a quote \u2192<\/a>\n        <a href=\"tel:+19312225538\" class=\"br-btn br-btn--ghost\">Call for a free estimate<\/a>\n      <\/div>\n      <div class=\"br-hero-meta\">\n        <div><div class=\"v\">24h<\/div><div class=\"l\">Fixed-price quote<\/div><\/div>\n        <div><div class=\"v\">5.0\u2605<\/div><div class=\"l\">Google rating<\/div><\/div>\n        <div><div class=\"v\">2yr<\/div><div class=\"l\">Workmanship warranty<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- TRADE -->\n  <section class=\"br-section br-section--ocean\">\n    <div class=\"br-wrap\">\n      <div class=\"br-section-head\" data-reveal>\n        <div class=\"br-divider\"><\/div>\n        <span class=\"br-eyebrow\">The Trade<\/span>\n        <h2>What we do.<\/h2>\n        <p class=\"lede\">Three services. One trade. Hand-set, every cut measured.<\/p>\n      <\/div>\n      <div class=\"br-grid-3\">\n        <a class=\"br-card\" href=\"\/?page_id=1446\">\n          <img decoding=\"async\" class=\"icon\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-17-icon-bathroom.png\" alt=\"\" \/>\n          <h3>Bathroom Remodels<\/h3>\n          <p>Walk-in showers, tub surrounds, tile floors, niches. Built to drain right and stay flat.<\/p>\n          <span class=\"br-card-arrow\">See bathroom work \u2192<\/span>\n        <\/a>\n        <a class=\"br-card\" href=\"\/?page_id=1447\">\n          <img decoding=\"async\" class=\"icon\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-18-icon-kitchen.png\" alt=\"\" \/>\n          <h3>Kitchen Remodels<\/h3>\n          <p>Backsplashes, floors, range surrounds. The detail work that makes the room.<\/p>\n          <span class=\"br-card-arrow\">See kitchen work \u2192<\/span>\n        <\/a>\n        <a class=\"br-card\" href=\"\/?page_id=1449\">\n          <img decoding=\"async\" class=\"icon\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-19-icon-custom.png\" alt=\"\" \/>\n          <h3>Custom Tile<\/h3>\n          <p>Fireplaces, mudrooms, accent walls. Anywhere tile makes a room better.<\/p>\n          <span class=\"br-card-arrow\">See custom work \u2192<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- PROCESS -->\n  <section class=\"br-process\" data-reveal>\n    <div class=\"pattern\"><\/div>\n    <div class=\"br-wrap\">\n      <div class=\"br-process-head\">\n        <div>\n          <div class=\"br-divider\"><\/div>\n          <span class=\"br-eyebrow\">How it goes<\/span>\n          <h2>Four days, six steps,<br><em>no surprises.<\/em><\/h2>\n        <\/div>\n        <p class=\"lede\">The quote is fixed. The schedule is real. We show you exactly what we&rsquo;re doing and why.<\/p>\n      <\/div>\n      <div class=\"br-process-rail\">\n        <div class=\"br-process-line\"><div class=\"br-process-line-fill\"><\/div><\/div>\n        \n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><rect x=\"8\" y=\"6\" width=\"16\" height=\"22\" rx=\"1.5\"\/><path d=\"M12 4 h8 v4 h-8z\" fill=\"#D69464\" fill-opacity=\"0.4\"\/><line x1=\"12\" y1=\"14\" x2=\"20\" y2=\"14\"\/><line x1=\"12\" y1=\"18\" x2=\"20\" y2=\"18\"\/><line x1=\"12\" y1=\"22\" x2=\"17\" y2=\"22\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">01<\/div>\n          <h3 class=\"br-process-step-title\">Quote<\/h3>\n          <p class=\"br-process-step-copy\">We come look. We measure. You get a fixed-price quote in 24 hours.<\/p>\n          <div class=\"br-process-step-meta\">Day 0<\/div>\n        <\/div>\n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><path d=\"M6 26 L18 14\"\/><rect x=\"16\" y=\"6\" width=\"10\" height=\"6\" transform=\"rotate(45 21 9)\" fill=\"#D69464\" fill-opacity=\"0.4\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">02<\/div>\n          <h3 class=\"br-process-step-title\">Demo<\/h3>\n          <p class=\"br-process-step-copy\">Old tile out. Old subfloor too, if it needs to come out.<\/p>\n          <div class=\"br-process-step-meta\">Day 1<\/div>\n        <\/div>\n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><rect x=\"6\" y=\"6\" width=\"20\" height=\"20\" rx=\"1\"\/><line x1=\"6\" y1=\"13\" x2=\"26\" y2=\"13\"\/><line x1=\"6\" y1=\"20\" x2=\"26\" y2=\"20\"\/><line x1=\"13\" y1=\"6\" x2=\"13\" y2=\"26\"\/><line x1=\"20\" y1=\"6\" x2=\"20\" y2=\"26\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">03<\/div>\n          <h3 class=\"br-process-step-title\">Prep<\/h3>\n          <p class=\"br-process-step-copy\">Cement board, waterproofing membrane, schluter edge profiles.<\/p>\n          <div class=\"br-process-step-meta\">Day 1\u20132<\/div>\n        <\/div>\n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><rect x=\"6\" y=\"10\" width=\"20\" height=\"12\" rx=\"1\" fill=\"#D69464\" fill-opacity=\"0.3\"\/><line x1=\"16\" y1=\"10\" x2=\"16\" y2=\"22\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">04<\/div>\n          <h3 class=\"br-process-step-title\">Tile<\/h3>\n          <p class=\"br-process-step-copy\">Hand-set, every cut measured. Bullnose corners, niche details.<\/p>\n          <div class=\"br-process-step-meta\">Day 2\u20133<\/div>\n        <\/div>\n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><path d=\"M6 22 L18 10 L26 18 L14 26 Z\" fill=\"#D69464\" fill-opacity=\"0.3\"\/><line x1=\"18\" y1=\"10\" x2=\"20\" y2=\"6\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">05<\/div>\n          <h3 class=\"br-process-step-title\">Grout<\/h3>\n          <p class=\"br-process-step-copy\">We only use premium grout with a built-in sealer for a clean, lasting finish.<\/p>\n          <div class=\"br-process-step-meta\">Day 3<\/div>\n        <\/div>\n        <div class=\"br-process-step\">\n          <div class=\"br-process-node\"><svg viewBox=\"0 0 32 32\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"#D69464\" stroke-width=\"1.6\"><circle cx=\"16\" cy=\"16\" r=\"10\"\/><path d=\"M11 16 L15 20 L22 12\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n          <div class=\"br-process-num\">06<\/div>\n          <h3 class=\"br-process-step-title\">Walk-through<\/h3>\n          <p class=\"br-process-step-copy\">We hand it off, you check the corners. Two-year workmanship warranty.<\/p>\n          <div class=\"br-process-step-meta\">Day 4<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- SHOWPIECE (scroll-locked iso bathroom) -->\n  <section class=\"br-showpiece\">\n    <div class=\"br-showpiece-track\">\n      <div class=\"br-showpiece-sticky\">\n        <div class=\"br-showpiece-pattern\"><\/div>\n        <div class=\"br-showpiece-stage\"><svg><\/svg><\/div>\n        <div class=\"br-showpiece-copy\">\n          <div class=\"progress\"><\/div>\n          <span class=\"br-eyebrow\">Watch the work<\/span>\n          <div class=\"br-showpiece-counter\">01 \/ 06<\/div>\n          <div class=\"br-showpiece-stage-name\">01 \/ Studs &#038; subfloor<\/div>\n          <div class=\"br-showpiece-quote\" style=\"position:relative;\">\n            <span class=\"br-showpiece-quote-line is-on\">It starts with the bones.<\/span>\n            <span class=\"br-showpiece-quote-line\">Then the prep. The part most contractors skip.<\/span>\n            <span class=\"br-showpiece-quote-line\">Then the tile. Hand-set, every cut measured.<\/span>\n            <span class=\"br-showpiece-quote-line\">Then grout. Then fixtures. Then quiet.<\/span>\n            <span class=\"br-showpiece-quote-line\">Three days from start. Twenty years from now, still flat.<\/span>\n          <\/div>\n          <div class=\"br-showpiece-phase-meta\">Three days, on schedule \u00b7 Manchester, TN<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- GALLERY -->\n  <section class=\"br-section br-section--navy\">\n    <div class=\"br-wrap\">\n      <div class=\"br-section-head\" data-reveal>\n        <div class=\"br-divider\"><\/div>\n        <span class=\"br-eyebrow\">Recent Work<\/span>\n        <h2>Hand-set, every cut <em>measured.<\/em><\/h2>\n      <\/div>\n      <div class=\"br-gallery\">\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-a.jpg\" alt=\"Finished master bath with dark-gray tile walk-in shower, backlit round mirror, and dark vanity\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Master Bath<\/h3>\n            <div class=\"loc\">Manchester, TN<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-l-1.jpg\" alt=\"Finished kitchen with sage-green cabinets, white quartz counters, and wood-look tile floor\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Sage-Green Kitchen<\/h3>\n            <div class=\"loc\">Murfreesboro, TN<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-k-1.jpg\" alt=\"Finished walk-in shower with cedar-plank ceiling, slate-look tile walls, and pebble mosaic floor\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Cedar-Ceiling Shower<\/h3>\n            <div class=\"loc\">Manchester, TN<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-b.jpg\" alt=\"Finished walk-in shower with Calacatta-style tile, recessed niche, and pebble mosaic floor\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Calacatta Shower<\/h3>\n            <div class=\"loc\">Murfreesboro, TN<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-g-vertical.jpg\" alt=\"Finished light-brown tile walk-in shower with grab bar and small-format floor mosaic\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Light Brown Tile Shower<\/h3>\n            <div class=\"loc\">Winchester, TN<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"item\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-project-f-landscape.jpg\" alt=\"Finished travertine walk-in shower with grab bars, recessed niche, and pebble mosaic floor\" loading=\"lazy\" \/>\n          <div class=\"meta\">\n            <h3>Travertine Shower<\/h3>\n            <div class=\"loc\">McMinnville, TN<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- TEAM -->\n  <section class=\"br-section br-section--ocean\">\n    <div class=\"br-wrap\">\n      <div class=\"br-team\">\n        <div class=\"text\" data-reveal>\n          <div class=\"br-divider\"><\/div>\n          <span class=\"br-eyebrow\">The Team<\/span>\n          <h2>Brian and Tyler.<br>A grandfather, a grandson,<br><em>one tile crew.<\/em><\/h2>\n          <p>Brian made Manchester home seven years back. Tyler moved out in 2023 to learn the trade from him. They opened Bluerock the year after. Same two hands on every job.<\/p>\n          <a href=\"\/?page_id=1448\" class=\"br-btn\">Read our story<\/a>\n        <\/div>\n        <figure class=\"portrait portrait--photo\">\n          <img decoding=\"async\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-founders-tyler-brian.jpg\" alt=\"Brian and Tyler, founders of Bluerock Remodeling, in a finished kitchen\" loading=\"lazy\" \/>\n          <figcaption>Tyler and Brian \u00b7 Manchester, TN<\/figcaption>\n        <\/figure>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- REVIEWS -->\n  <section class=\"br-section br-section--navy\">\n    <div class=\"br-wrap\">\n      <div class=\"br-section-head\" data-reveal>\n        <div class=\"br-divider\"><\/div>\n        <span class=\"br-eyebrow\">Word from the homeowners<\/span>\n        <h2>Five stars, <em>every door.<\/em><\/h2>\n      <\/div>\n      <div class=\"br-reviews\">\n        <div class=\"br-review\">\n          <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n          <div class=\"body\">\u201cIt was so amazing working with these 2 gentlemen! They were timely, friendly, and they exceeded my expectations.\u201d<\/div>\n          <div class=\"name\">Liz I.<\/div>\n          <div class=\"loc\">Verified \u2014 Jan 2025<\/div>\n        <\/div>\n        <div class=\"br-review\">\n          <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n          <div class=\"body\">\u201cBrian and Tyler were fantastic and did incredibly good work. They were extremely professional but still a lot of fun.\u201d<\/div>\n          <div class=\"name\">Debbie S.<\/div>\n          <div class=\"loc\">Verified \u2014 Jul 2024<\/div>\n        <\/div>\n        <div class=\"br-review\">\n          <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n          <div class=\"body\">\u201cThey took the time to understand my preferences and provided valuable suggestions that enhanced my original vision.\u201d<\/div>\n          <div class=\"name\">Holly S.<\/div>\n          <div class=\"loc\">Kitchen Backsplash \u2014 May 2024<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- SERVICE AREA -->\n  <section class=\"br-section br-section--mid\">\n    <div class=\"br-wrap\">\n      <div class=\"br-area\">\n        <div data-reveal>\n          <div class=\"br-divider\"><\/div>\n          <span class=\"br-eyebrow\">Service Area<\/span>\n          <h2 style=\"font-size:clamp(32px,3.8vw,46px);margin:16px 0 24px;line-height:1.15;\">Inside an hour of <em>Manchester.<\/em><\/h2>\n          <p style=\"font-size:18px;opacity:0.85;max-width:520px;\">We work across Coffee, Rutherford, Bedford, Franklin, Warren, Moore, and Lincoln counties \u2014 Manchester is home base, and we drive an hour either side.<\/p>\n        <\/div>\n        <div class=\"br-area-towns\">Manchester<br>Murfreesboro<br>Shelbyville<br>Tullahoma<br>McMinnville<br>Winchester<br>Lynchburg<\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FINAL CTA -->\n  <section class=\"br-finalcta\">\n    <div class=\"br-finalcta-mandala\">\n      <svg viewBox=\"0 0 720 720\">\n        <g class=\"spin-1\"><circle cx=\"360\" cy=\"360\" r=\"120\"\/><circle cx=\"360\" cy=\"360\" r=\"180\"\/><circle cx=\"360\" cy=\"360\" r=\"240\"\/><line x1=\"480.0\" y1=\"360.0\" x2=\"600.0\" y2=\"360.0\"\/><line x1=\"470.9\" y1=\"405.9\" x2=\"581.7\" y2=\"451.8\"\/><line x1=\"444.9\" y1=\"444.9\" x2=\"529.7\" y2=\"529.7\"\/><line x1=\"405.9\" y1=\"470.9\" x2=\"451.8\" y2=\"581.7\"\/><line x1=\"360.0\" y1=\"480.0\" x2=\"360.0\" y2=\"600.0\"\/><line x1=\"314.1\" y1=\"470.9\" x2=\"268.2\" y2=\"581.7\"\/><line x1=\"275.1\" y1=\"444.9\" x2=\"190.3\" y2=\"529.7\"\/><line x1=\"249.1\" y1=\"405.9\" x2=\"138.3\" y2=\"451.8\"\/><line x1=\"240.0\" y1=\"360.0\" x2=\"120.0\" y2=\"360.0\"\/><line x1=\"249.1\" y1=\"314.1\" x2=\"138.3\" y2=\"268.2\"\/><line x1=\"275.1\" y1=\"275.1\" x2=\"190.3\" y2=\"190.3\"\/><line x1=\"314.1\" y1=\"249.1\" x2=\"268.2\" y2=\"138.3\"\/><line x1=\"360.0\" y1=\"240.0\" x2=\"360.0\" y2=\"120.0\"\/><line x1=\"405.9\" y1=\"249.1\" x2=\"451.8\" y2=\"138.3\"\/><line x1=\"444.9\" y1=\"275.1\" x2=\"529.7\" y2=\"190.3\"\/><line x1=\"470.9\" y1=\"314.1\" x2=\"581.7\" y2=\"268.2\"\/><\/g>\n        <g class=\"spin-2\"><circle cx=\"360\" cy=\"360\" r=\"300\"\/><circle cx=\"360\" cy=\"360\" r=\"340\"\/><line x1=\"660.0\" y1=\"360.0\" x2=\"700.0\" y2=\"360.0\"\/><line x1=\"649.8\" y1=\"437.6\" x2=\"688.4\" y2=\"448.0\"\/><line x1=\"619.8\" y1=\"510.0\" x2=\"654.4\" y2=\"530.0\"\/><line x1=\"572.1\" y1=\"572.1\" x2=\"600.4\" y2=\"600.4\"\/><line x1=\"510.0\" y1=\"619.8\" x2=\"530.0\" y2=\"654.4\"\/><line x1=\"437.6\" y1=\"649.8\" x2=\"448.0\" y2=\"688.4\"\/><line x1=\"360.0\" y1=\"660.0\" x2=\"360.0\" y2=\"700.0\"\/><line x1=\"282.4\" y1=\"649.8\" x2=\"272.0\" y2=\"688.4\"\/><line x1=\"210.0\" y1=\"619.8\" x2=\"190.0\" y2=\"654.4\"\/><line x1=\"147.9\" y1=\"572.1\" x2=\"119.6\" y2=\"600.4\"\/><line x1=\"100.2\" y1=\"510.0\" x2=\"65.6\" y2=\"530.0\"\/><line x1=\"70.2\" y1=\"437.6\" x2=\"31.6\" y2=\"448.0\"\/><line x1=\"60.0\" y1=\"360.0\" x2=\"20.0\" y2=\"360.0\"\/><line x1=\"70.2\" y1=\"282.4\" x2=\"31.6\" y2=\"272.0\"\/><line x1=\"100.2\" y1=\"210.0\" x2=\"65.6\" y2=\"190.0\"\/><line x1=\"147.9\" y1=\"147.9\" x2=\"119.6\" y2=\"119.6\"\/><line x1=\"210.0\" y1=\"100.2\" x2=\"190.0\" y2=\"65.6\"\/><line x1=\"282.4\" y1=\"70.2\" x2=\"272.0\" y2=\"31.6\"\/><line x1=\"360.0\" y1=\"60.0\" x2=\"360.0\" y2=\"20.0\"\/><line x1=\"437.6\" y1=\"70.2\" x2=\"448.0\" y2=\"31.6\"\/><line x1=\"510.0\" y1=\"100.2\" x2=\"530.0\" y2=\"65.6\"\/><line x1=\"572.1\" y1=\"147.9\" x2=\"600.4\" y2=\"119.6\"\/><line x1=\"619.8\" y1=\"210.0\" x2=\"654.4\" y2=\"190.0\"\/><line x1=\"649.8\" y1=\"282.4\" x2=\"688.4\" y2=\"272.0\"\/><\/g>\n      <\/svg>\n    <\/div>\n    <div class=\"br-wrap content\" id=\"contact\">\n      <span class=\"br-eyebrow\">Ready to talk?<\/span>\n      <h2>Let\u2019s get your project <em>started.<\/em><\/h2>\n      <div class=\"sub\">Free estimates. Honest timelines. No subs, no surprises.<\/div>\n      <div class=\"br-finalcta-btns\">\n        <a href=\"\/?page_id=1450\" class=\"br-btn br-btn--lg\">Request a quote \u2192<\/a>\n        <a href=\"tel:+19312225538\" class=\"br-btn br-btn--ghost br-btn--lg\">Call 931.222.5538<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FOOTER -->\n  <footer class=\"br-footer\">\n    <div class=\"br-wrap\">\n      <div class=\"br-footer-grid\">\n        <div class=\"col\">\n          <img decoding=\"async\" class=\"logo\" src=\"https:\/\/bluerockremodel.com\/wp-content\/uploads\/2026\/05\/bluerock-03-primary-logo-light-transparent.png\" alt=\"Bluerock Remodeling\" \/>\n          <p>Tile, done right.<br>Manchester, TN.<\/p>\n        <\/div>\n        <div class=\"col\">\n          <h4>Quick Links<\/h4>\n          <p><a href=\"\/?page_id=1446\">Bathroom Remodels<\/a><\/p>\n          <p><a href=\"\/?page_id=1447\">Kitchen Remodels<\/a><\/p>\n          <p><a href=\"\/?page_id=1449\">Gallery<\/a><\/p>\n          <p><a href=\"\/?page_id=1487\">Reviews<\/a><\/p>\n          <p><a href=\"\/?page_id=1448\">About<\/a><\/p>\n          <p><a href=\"\/?page_id=1489\">FAQ<\/a><\/p>\n          <p><a href=\"\/?page_id=1450\">Get a Quote<\/a><\/p>\n        <\/div>\n        <div class=\"col\">\n          <h4>Service Area<\/h4>\n          <p>Manchester \u00b7 Murfreesboro \u00b7 Shelbyville \u00b7 Tullahoma \u00b7 McMinnville \u00b7 Winchester \u00b7 Lynchburg<\/p>\n        <\/div>\n        <div class=\"col\">\n          <h4>Get in Touch<\/h4>\n          <p><a href=\"tel:+19312225538\" style=\"font-family:DM Mono,monospace;letter-spacing:1.5px;\">931.222.5538<\/a><\/p>\n          <p><a href=\"mailto:bluerock56@gmail.com\">bluerock56@gmail.com<\/a><\/p>\n          <p>Mon\u2013Fri, 8 AM \u2013 4 PM CT<\/p>\n          <p style=\"margin-top:16px;display:flex;gap:14px;flex-wrap:wrap;\">\n            <a href=\"https:\/\/www.facebook.com\/p\/Bluerock-Remodeling-61571940759042\/\" target=\"_blank\" rel=\"noopener\" style=\"font-family:'DM Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#D69464;\">Facebook<\/a>\n            <a href=\"https:\/\/www.instagram.com\/bluerockmountain1\" target=\"_blank\" rel=\"noopener\" style=\"font-family:'DM Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#D69464;\">Instagram<\/a>\n          <\/p>\n        <\/div>\n      <\/div>\n      <div class=\"br-footer-trust\">\n        <span class=\"br-trust-pill\">Licensed &amp; Insured \u00b7 TN #11811<\/span>\n        <span class=\"br-trust-pill\">2-Year Workmanship Warranty<\/span>\n        <span class=\"br-trust-pill\">Fixed-Price Quotes<\/span>\n        <span class=\"br-trust-pill\">No Subcontractors<\/span>\n      <\/div>\n      <div class=\"legal\">\u00a9 2026 Bluerock Remodeling, LLC \u00b7 Manchester, TN \u00b7 <a href=\"tel:+19312225538\" style=\"color:inherit;opacity:0.7;\">931.222.5538<\/a><\/div>\n    <\/div>\n  <\/footer>\n\n<\/div>\n\n<script id=\"bluerock-home-js\">\n(function(){\n  const root = document.querySelector('.br-home');\n  if (!root) return;\n\n  \/\/ Mark loaded so cursor:none kicks in only after JS is ready\n  document.documentElement.classList.add('br-loaded');\n  document.body.classList.add('br-loaded');\n\n  \/\/ ====== MOBILE NAV BURGER ======\n  const burger = document.querySelector('.br-nav-burger');\n  const navLinks = document.querySelector('.br-nav-links');\n  if (burger && navLinks) {\n    burger.addEventListener('click', () => {\n      const open = burger.classList.toggle('is-open');\n      navLinks.classList.toggle('is-open', open);\n      burger.setAttribute('aria-expanded', open ? 'true' : 'false');\n    });\n    navLinks.querySelectorAll('a').forEach(a => {\n      a.addEventListener('click', () => {\n        burger.classList.remove('is-open');\n        navLinks.classList.remove('is-open');\n        burger.setAttribute('aria-expanded', 'false');\n      });\n    });\n  }\n\n  \/\/ ====== CUSTOM CURSOR ======\n  const reduced = window.matchMedia(\"(hover: none), (pointer: coarse)\").matches\n                || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n  if (!reduced) {\n    const cursor = document.createElement('div');\n    cursor.className = 'br-cursor';\n    document.body.appendChild(cursor);\n    let tx=-100, ty=-100, x=-100, y=-100;\n    window.addEventListener('mousemove', (e)=>{\n      tx = e.clientX; ty = e.clientY;\n      const el = document.elementFromPoint(tx, ty);\n      if (el) {\n        const link = el.closest('a, button, .br-card, .br-gallery .item, .br-review');\n        cursor.classList.toggle('is-link', !!link);\n      }\n    });\n    window.addEventListener('mousedown', ()=> cursor.classList.add('is-tap'));\n    window.addEventListener('mouseup',   ()=> cursor.classList.remove('is-tap'));\n    function tick(){\n      x += (tx - x) * 0.28;\n      y += (ty - y) * 0.28;\n      cursor.style.transform = `translate(${x}px, ${y}px) translate(-50%, -50%)`;\n      requestAnimationFrame(tick);\n    }\n    requestAnimationFrame(tick);\n  }\n\n  \/\/ ====== SCROLL ARC ======\n  const arc = document.createElement('div');\n  arc.className = 'br-scroll-arc';\n  arc.innerHTML = `\n    <svg viewBox=\"0 0 48 48\">\n      <circle class=\"bg\" cx=\"24\" cy=\"24\" r=\"20\"\/>\n      <circle class=\"fill\" cx=\"24\" cy=\"24\" r=\"20\"\n        stroke-dasharray=\"125.66\" stroke-dashoffset=\"125.66\"\n        transform=\"rotate(-90 24 24)\"\/>\n      <text x=\"24\" y=\"25\">0<\/text>\n    <\/svg>`;\n  document.body.appendChild(arc);\n  const fillCirc = arc.querySelector('.fill');\n  const pctText = arc.querySelector('text');\n  const c = 2 * Math.PI * 20;\n  function onScrollArc() {\n    const docH = document.documentElement.scrollHeight - window.innerHeight;\n    const p = Math.max(0, Math.min(1, window.scrollY \/ docH));\n    fillCirc.style.strokeDashoffset = c * (1 - p);\n    pctText.textContent = Math.round(p * 100);\n    arc.classList.toggle('is-on', window.scrollY > 200 && p < 0.97);\n  }\n  window.addEventListener('scroll', onScrollArc, {passive:true});\n  onScrollArc();\n\n  \/\/ ====== NAV PROGRESS HAIRLINE ======\n  const nav = document.querySelector('.br-nav');\n  const navProgress = document.querySelector('.br-nav-progress');\n  function onNavScroll() {\n    const docH = document.documentElement.scrollHeight - window.innerHeight;\n    const p = Math.max(0, Math.min(1, window.scrollY \/ docH));\n    if (navProgress) navProgress.style.setProperty('--progress', `${p*100}%`);\n    if (nav) nav.classList.toggle('is-scrolled', window.scrollY > 40);\n  }\n  window.addEventListener('scroll', onNavScroll, {passive:true});\n  onNavScroll();\n\n  \/\/ ====== INTERSECTION-OBSERVER REVEALS ======\n  const io = new IntersectionObserver((entries) => {\n    entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('is-on'); });\n  }, { threshold: 0.2 });\n  document.querySelectorAll('[data-reveal]').forEach(el => io.observe(el));\n\n  \/\/ ====== TRUST BAR COUNT-UP ======\n  const trustbar = document.querySelector('.br-trustbar');\n  if (trustbar) {\n    const tio = new IntersectionObserver((entries) => {\n      entries.forEach(e => {\n        if (!e.isIntersecting) return;\n        e.target.querySelectorAll('.br-trust-cell').forEach((cell, i) => {\n          const tgt = parseFloat(cell.dataset.target);\n          const dec = parseInt(cell.dataset.decimals || '0');\n          const dur = 1200;\n          const start = performance.now() + i * 180;\n          const valEl = cell.querySelector('.val span');\n          function step(now) {\n            if (now < start) { requestAnimationFrame(step); return; }\n            const t = Math.min(1, (now - start) \/ dur);\n            const eased = 1 - Math.pow(1 - t, 3);\n            const v = tgt * eased;\n            valEl.textContent = dec ? v.toFixed(dec) : Math.round(v);\n            cell.classList.add('is-on');\n            if (t < 1) requestAnimationFrame(step);\n          }\n          requestAnimationFrame(step);\n          \/\/ sparkline bars\n          cell.querySelectorAll('.chart span').forEach((bar, j) => {\n            const h = parseFloat(bar.dataset.h || '0.5') * 100;\n            setTimeout(() => bar.style.height = `${h}%`, 200 + j * 60);\n          });\n        });\n        tio.disconnect();\n      });\n    }, { threshold: 0.3 });\n    tio.observe(trustbar);\n  }\n\n  \/\/ ====== HERO META REVEAL ======\n  const heroMeta = document.querySelector('.br-hero-meta');\n  if (heroMeta) {\n    requestAnimationFrame(() => heroMeta.classList.add('is-on'));\n  }\n\n  \/\/ ====== SHOWPIECE: scroll-locked isometric bathroom ======\n  const showpiece = document.querySelector('.br-showpiece');\n  if (showpiece) {\n    const track = showpiece.querySelector('.br-showpiece-track');\n    const stageSvg = showpiece.querySelector('.br-showpiece-stage svg');\n    const counter = showpiece.querySelector('.br-showpiece-counter');\n    const stageName = showpiece.querySelector('.br-showpiece-stage-name');\n    const progressBar = showpiece.querySelector('.br-showpiece-copy .progress');\n    const quoteLines = showpiece.querySelectorAll('.br-showpiece-quote-line');\n\n    const stages = [\n      \"01 \/ Studs & subfloor\",\n      \"02 \/ Cement board & waterproofing\",\n      \"03 \/ Tile, hand-set\",\n      \"04 \/ Grout\",\n      \"05 \/ Fixtures\",\n      \"06 \/ Quiet\",\n    ];\n    const quotes = [\n      {at:0.0,  text:\"It starts with the bones.\"},\n      {at:0.18, text:\"Then the prep. The part most contractors skip.\"},\n      {at:0.4,  text:\"Then the tile. Hand-set, every cut measured.\"},\n      {at:0.62, text:\"Then grout. Then fixtures. Then quiet.\"},\n      {at:0.85, text:\"Three days from start. Twenty years from now, still flat.\"},\n    ];\n\n    function band(p,a,b){ if (p<=a) return 0; if (p>=b) return 1; return (p-a)\/(b-a); }\n\n    function update() {\n      const rect = track.getBoundingClientRect();\n      const total = track.offsetHeight - window.innerHeight;\n      \/\/ On mobile (\u22641000px) the track collapses to height:auto so total<=0.\n      \/\/ Render the final stage statically and skip scroll math.\n      if (total <= 0) {\n        counter.textContent = '06 \/ 06';\n        stageName.textContent = stages[5];\n        progressBar.style.height = '100%';\n        quoteLines.forEach((el, i) => el.classList.toggle('is-on', i === quotes.length - 1));\n        renderIso(stageSvg, 1);\n        return;\n      }\n      const scrolled = -rect.top;\n      const progress = Math.max(0, Math.min(1, scrolled \/ total));\n\n      \/\/ stage\n      const stageIdx = progress < 0.15 ? 0\n        : progress < 0.35 ? 1\n        : progress < 0.60 ? 2\n        : progress < 0.75 ? 3\n        : progress < 0.90 ? 4 : 5;\n      counter.textContent = `${String(stageIdx+1).padStart(2,'0')} \/ 06`;\n      stageName.textContent = stages[stageIdx];\n      progressBar.style.height = `${progress*100}%`;\n\n      \/\/ quote\n      let qi = 0;\n      for (let i=0;i<quotes.length;i++) if (progress >= quotes[i].at) qi = i;\n      quoteLines.forEach((el, i) => el.classList.toggle('is-on', i === qi));\n\n      \/\/ ISO BATHROOM SVG REBUILD\n      renderIso(stageSvg, progress);\n    }\n\n    function renderIso(svg, p) {\n      svg.innerHTML = ''; \/\/ clear\n      const NS = 'http:\/\/www.w3.org\/2000\/svg';\n      svg.setAttribute('viewBox','0 0 600 600');\n      svg.setAttribute('preserveAspectRatio','xMidYMid meet');\n\n      const defs = document.createElementNS(NS,'defs');\n      defs.innerHTML = `\n        <linearGradient id=\"floorGrad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n          <stop offset=\"0%\" stop-color=\"#E1E4E8\"\/><stop offset=\"100%\" stop-color=\"#A8B0BA\"\/><\/linearGradient>\n        <linearGradient id=\"wallGradL\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n          <stop offset=\"0%\" stop-color=\"#F0EBE0\"\/><stop offset=\"100%\" stop-color=\"#C9CFD7\"\/><\/linearGradient>\n        <linearGradient id=\"wallGradR\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n          <stop offset=\"0%\" stop-color=\"#C9CFD7\"\/><stop offset=\"100%\" stop-color=\"#A8B0BA\"\/><\/linearGradient>\n        <linearGradient id=\"lightBeam\" x1=\"100%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n          <stop offset=\"0%\" stop-color=\"#F8F5EE\" stop-opacity=\"0.55\"\/>\n          <stop offset=\"100%\" stop-color=\"#F8F5EE\" stop-opacity=\"0\"\/><\/linearGradient>`;\n      svg.appendChild(defs);\n\n      const studs = band(p, 0, 0.15);\n      const cement = band(p, 0.15, 0.35);\n      const tilesP = band(p, 0.35, 0.60);\n      const groutP = band(p, 0.60, 0.75);\n      const fixturesP = band(p, 0.75, 0.90);\n      const lightP = band(p, 0.90, 1.0);\n      const studsVis = 1 - cement * 0.6;\n      const cementVis = 1 - tilesP * 0.95;\n\n      \/\/ Subfloor base\n      const base = document.createElementNS(NS,'polygon');\n      base.setAttribute('points','100,420 300,520 500,420 300,320');\n      base.setAttribute('fill','#091B2E'); base.setAttribute('opacity','0.6');\n      svg.appendChild(base);\n\n      \/\/ STUDS\n      const studsG = document.createElementNS(NS,'g');\n      studsG.setAttribute('opacity', studs * studsVis);\n      for (let i=0; i<6; i++) {\n        const x1 = 110 + i*32, y1 = 425 - i*16;\n        studsG.innerHTML += `<line x1=\"${x1}\" y1=\"${y1}\" x2=\"${x1}\" y2=\"${y1-220}\" stroke=\"#6B7480\" stroke-width=\"3\"\/>`;\n      }\n      for (let i=0; i<6; i++) {\n        const x1 = 295 + i*32, y1 = 320 + i*16;\n        studsG.innerHTML += `<line x1=\"${x1}\" y1=\"${y1}\" x2=\"${x1}\" y2=\"${y1-220}\" stroke=\"#6B7480\" stroke-width=\"3\"\/>`;\n      }\n      studsG.innerHTML += '<line x1=\"110\" y1=\"205\" x2=\"270\" y2=\"125\" stroke=\"#6B7480\" stroke-width=\"3\"\/>';\n      studsG.innerHTML += '<line x1=\"295\" y1=\"100\" x2=\"455\" y2=\"180\" stroke=\"#6B7480\" stroke-width=\"3\"\/>';\n      for (let i=0; i<5; i++) {\n        const t = i\/5;\n        studsG.innerHTML += `<line x1=\"${110+190*t}\" y1=\"${425-50*t}\" x2=\"${300+200*t}\" y2=\"${520-50*t}\" stroke=\"#6B7480\" stroke-width=\"2\"\/>`;\n      }\n      svg.appendChild(studsG);\n\n      \/\/ CEMENT BOARD\n      const cementG = document.createElementNS(NS,'g');\n      cementG.setAttribute('opacity', cement * cementVis);\n      cementG.innerHTML = `\n        <polygon points=\"110,425 270,345 270,125 110,205\" fill=\"url(#wallGradL)\" opacity=\"0.85\"\/>\n        <polygon points=\"110,425 270,345 270,125 110,205\" fill=\"none\" stroke=\"#6B7480\" stroke-width=\"0.6\"\/>\n        <polygon points=\"110,425 270,345 270,125 110,205\" fill=\"#B87333\" opacity=\"${cement * 0.18}\"\/>\n        <polygon points=\"295,320 455,400 455,180 295,100\" fill=\"url(#wallGradR)\" opacity=\"0.85\"\/>\n        <polygon points=\"295,320 455,400 455,180 295,100\" fill=\"none\" stroke=\"#6B7480\" stroke-width=\"0.6\"\/>\n        <polygon points=\"295,320 455,400 455,180 295,100\" fill=\"#B87333\" opacity=\"${cement * 0.16}\"\/>`;\n      svg.appendChild(cementG);\n\n      \/\/ TILES (left wall, right wall, floor)\n      const totalSteps = 116;\n      const tileVisible = (order) => tilesP > (order\/totalSteps) ? 1 : 0;\n      const tilesG = document.createElementNS(NS,'g');\n\n      \/\/ left wall\n      for (let r=0; r<7; r++) {\n        for (let c=0; c<10; c++) {\n          const order = (6-r)*10 + c;\n          const v = tileVisible(order);\n          if (!v) continue;\n          const ox = 110 + c*16;\n          const oy = 205 + c*(-8) + (6-r)*31.43;\n          const off = (r%2) ? 8 : 0;\n          const x1=ox+off, y1=oy-off*0.5, x2=x1+16, y2=y1-8, x3=x2, y3=y2+31, x4=x1, y4=y1+31;\n          const grout = `rgba(108,116,128,${0.4+groutP*0.4})`;\n          tilesG.innerHTML += `<polygon points=\"${x1},${y1} ${x2},${y2} ${x3},${y3} ${x4},${y4}\" fill=\"#F0EBE0\" stroke=\"${grout}\" stroke-width=\"${0.8+groutP*0.6}\" opacity=\"${v}\"\/>`;\n        }\n      }\n      \/\/ right wall\n      for (let r=0; r<7; r++) {\n        for (let c=0; c<8; c++) {\n          const order = (6-r)*8 + c + 50;\n          const v = tileVisible(order);\n          if (!v) continue;\n          const ox = 295 + c*20;\n          const oy = 100 + c*10 + (6-r)*31.43;\n          const off = (r%2) ? 10 : 0;\n          const x1=ox+off, y1=oy+off*0.5, x2=x1+20, y2=y1+10, x3=x2, y3=y2+31, x4=x1, y4=y1+31;\n          const grout = `rgba(108,116,128,${0.4+groutP*0.4})`;\n          tilesG.innerHTML += `<polygon points=\"${x1},${y1} ${x2},${y2} ${x3},${y3} ${x4},${y4}\" fill=\"#E1E4E8\" stroke=\"${grout}\" stroke-width=\"${0.8+groutP*0.6}\" opacity=\"${v}\"\/>`;\n        }\n      }\n      \/\/ floor\n      for (let r=0; r<6; r++) {\n        for (let c=0; c<6; c++) {\n          const order = r*6 + c + 70;\n          const v = tileVisible(order);\n          if (!v) continue;\n          const ax=31.67, ay=15.83, bx=31.67, by=-16.67;\n          const ox=110+c*ax+r*bx, oy=425+c*ay+r*by;\n          const x1=ox, y1=oy, x2=ox+ax, y2=oy+ay, x3=x2+bx, y3=y2+by, x4=ox+bx, y4=oy+by;\n          const grout = `rgba(108,116,128,${0.4+groutP*0.5})`;\n          tilesG.innerHTML += `<polygon points=\"${x1},${y1} ${x2},${y2} ${x3},${y3} ${x4},${y4}\" fill=\"url(#floorGrad)\" stroke=\"${grout}\" stroke-width=\"${1+groutP*0.8}\" opacity=\"${v}\"\/>`;\n        }\n      }\n      svg.appendChild(tilesG);\n\n      \/\/ Niche (appears with tiles)\n      if (tilesP > 0.5) {\n        const nicheG = document.createElementNS(NS,'g');\n        nicheG.innerHTML = `\n          <polygon points=\"370,210 410,230 410,280 370,260\" fill=\"#091B2E\"\/>\n          <polygon points=\"370,210 410,230 410,280 370,260\" fill=\"none\" stroke=\"#B87333\" stroke-width=\"1.2\"\/>\n          <line x1=\"370\" y1=\"232\" x2=\"410\" y2=\"252\" stroke=\"#B87333\" stroke-width=\"0.5\"\/>`;\n        svg.appendChild(nicheG);\n      }\n\n      \/\/ FIXTURES\n      const fxG = document.createElementNS(NS,'g');\n      fxG.setAttribute('opacity', fixturesP);\n      fxG.innerHTML = `\n        <polygon points=\"140,440 230,485 230,420 140,375\" fill=\"#2C3E50\"\/>\n        <polygon points=\"140,375 230,420 250,410 160,365\" fill=\"#3D4A5C\"\/>\n        <polygon points=\"155,360 220,325 220,260 155,295\" fill=\"#091B2E\" stroke=\"#B87333\" stroke-width=\"1\"\/>\n        <polygon points=\"155,360 220,325 220,260 155,295\" fill=\"#F8F5EE\" opacity=\"0.08\"\/>\n        <line x1=\"185\" y1=\"395\" x2=\"185\" y2=\"372\" stroke=\"#D69464\" stroke-width=\"2\"\/>\n        <circle cx=\"185\" cy=\"395\" r=\"2.5\" fill=\"#B87333\"\/>\n        <ellipse cx=\"185\" cy=\"404\" rx=\"20\" ry=\"6\" fill=\"#091B2E\"\/>\n        <circle cx=\"187\" cy=\"272\" r=\"3\" fill=\"#D69464\"\/>\n        <polygon points=\"350,300 430,340 430,440 350,400\" fill=\"#F8F5EE\" opacity=\"0.12\" stroke=\"#3D4A5C\" stroke-width=\"0.6\"\/>\n        <line x1=\"395\" y1=\"220\" x2=\"395\" y2=\"245\" stroke=\"#D69464\" stroke-width=\"1.5\"\/>\n        <circle cx=\"395\" cy=\"248\" r=\"3.5\" fill=\"#B87333\"\/>`;\n      svg.appendChild(fxG);\n\n      \/\/ LIGHT + STEAM\n      const lightG = document.createElementNS(NS,'g');\n      lightG.setAttribute('opacity', lightP);\n      lightG.innerHTML = `\n        <polygon points=\"240,150 460,300 460,340 240,200\" fill=\"url(#lightBeam)\"\/>\n        <polygon points=\"295,100 455,180 455,205 295,130\" fill=\"#F8F5EE\" opacity=\"0.08\"\/>\n        <path d=\"M 380 240 Q 385 220, 380 200 Q 375 185, 385 170\" fill=\"none\" stroke=\"#F8F5EE\" stroke-width=\"1.5\" opacity=\"${lightP*0.5}\"\/>\n        <path d=\"M 400 250 Q 408 235, 400 215 Q 395 195, 405 180\" fill=\"none\" stroke=\"#F8F5EE\" stroke-width=\"1.2\" opacity=\"${lightP*0.4}\"\/>`;\n      svg.appendChild(lightG);\n    }\n\n    window.addEventListener('scroll', update, {passive:true});\n    window.addEventListener('resize', update);\n    update();\n  }\n\n  \/\/ ====== MOBILE STICKY CTA ======\n  if (!document.querySelector('.br-mobile-cta')) {\n    const bar = document.createElement('div');\n    bar.className = 'br-mobile-cta';\n    bar.innerHTML = '<a class=\"call\" href=\"tel:+19312225538\" aria-label=\"Call Bluerock Remodeling\">Call<\/a>'\n                  + '<a class=\"quote\" href=\"\/?page_id=1450\">Get Quote &rarr;<\/a>';\n    document.body.appendChild(bar);\n  }\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Bathroom Kitchen Gallery Reviews About 931.222.5538 Get a Quote \u2192 Manchester, TN \u00b7 Est. 2024 Hand-set bathroom and kitchenremodels across [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_eb_attr":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1433","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/pages\/1433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1433"}],"version-history":[{"count":18,"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/pages\/1433\/revisions"}],"predecessor-version":[{"id":1640,"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=\/wp\/v2\/pages\/1433\/revisions\/1640"}],"wp:attachment":[{"href":"https:\/\/bluerockremodel.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}