/* WEB-1015 HUMANIZE — component layer (2026-11-06), adapted from the
   WEB-1013 pattern of record. Self-contained styles for the hz-
   components; every selector is scoped to .hz- classes introduced by
   this build; nothing here restyles Brizy markup except the site-wide
   presentation layer at the end of this file. Palette follows THIS
   site's Brizy globals: ink rgb(43,43,43) (global-color1), terracotta
   accent rgb(198,93,59) (global-color3), cream rgb(249,249,245)
   (global-color6). Headings in hz pieces carry the site's display
   serif, Libre Baskerville; body text Overpass. */

/* ---- shared ---- */
.hz-art, .hz-ba, .hz-hot { margin: 1.4rem 0; }
.hz-art img, .hz-ba img, .hz-hot img { max-width: 100%; }
.hz-band, .hz-story, .hz-dec, .hz-gal, .hz-list, .hz-heat, .hz-manager, .hz-frames, .hz-cost, .hz-proc, .hz-feat, .hz-show-sec, .hz-gallery { font-family: 'Overpass', sans-serif; }
.hz-band h2, .hz-band h3, .hz-story h2, .hz-dec-title, .hz-gal-title, .hz-heat h2, .hz-manager h2, .hz-frames h2, .hz-cost-head-txt h2, .hz-proc h2, .hz-feat h2, .hz-list h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; }

/* ---- wide art frame ---- */
.hz-art-img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-art-cap { margin-top: 0.55rem; font-size: 0.95rem; line-height: 1.55; color: rgb(43, 43, 43); border-left: 3px solid rgb(198, 93, 59); padding-left: 0.7rem; }

/* ---- COMPARE slider (fleet BeforeAfter contract, hz- scoped) ---- */
.hz-ba-stage { position: relative; overflow: hidden; border-radius: 6px; cursor: ew-resize; touch-action: pan-y; user-select: none; -webkit-user-select: none; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-ba-img { display: block; width: 100%; height: auto; -webkit-user-drag: none; }
.hz-ba-after { position: absolute; inset: 0; height: 100%; object-fit: cover; clip-path: inset(0 0 0 50%); }
.hz-ba-tag { position: absolute; top: 0.6rem; background: rgba(43, 43, 43, 0.82); color: #fff; font-size: 0.92rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.32rem 0.7rem; border-radius: 4px; pointer-events: none; }
.hz-ba-tag-before { left: 0.6rem; }
.hz-ba-tag-after { right: 0.6rem; }
.hz-ba-handle { position: absolute; top: 0; bottom: 0; left: 50%; width: 4px; background: #fff; box-shadow: 0 0 0 1px rgba(43, 43, 43, 0.35); transform: translateX(-50%); pointer-events: none; }
.hz-ba-knob { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgb(198, 93, 59); color: #fff; width: 2.9rem; height: 2.9rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; box-shadow: 0 1px 6px rgba(43, 43, 43, 0.45); }
.hz-ba-stage.hz-ba-dragging, .hz-ba-stage.hz-ba-dragging .hz-ba-knob { cursor: grabbing; }
.hz-ba-range { width: 100%; margin-top: 0.6rem; accent-color: rgb(198, 93, 59); min-height: 44px; }
.hz-ba-cap { margin-top: 0.5rem; font-size: 0.95rem; line-height: 1.55; color: rgb(43, 43, 43); }
.hz-ba-narrow { max-width: 680px; margin-left: auto; margin-right: auto; }

/* ---- HOTSPOT guided inspection ---- */
.hz-hot-stage { position: relative; overflow: hidden; border-radius: 6px; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-hot-img { display: block; width: 100%; height: auto; -webkit-user-drag: none; }
.hz-hot-dot { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); width: 2rem; height: 2rem; border-radius: 50%; border: 2px solid #fff; background: rgba(198, 93, 59, 0.95); color: #fff; font-size: 0.95rem; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 6px rgba(43, 43, 43, 0.5); padding: 0; z-index: 2; }
.hz-hot-dot:hover, .hz-hot-dot:focus-visible { background: rgb(43, 43, 43); outline: none; }
.hz-hot-dot.hz-hot-on { background: rgb(43, 43, 43); transform: translate(-50%, -50%) scale(1.15); }
.hz-hot-cap { margin-top: 0.6rem; font-size: 0.95rem; line-height: 1.55; color: rgb(43, 43, 43); background: rgba(249, 249, 245, 0.55); border-left: 3px solid rgb(198, 93, 59); padding: 0.6rem 0.7rem; min-height: 3.2em; }
.hz-hot-cap-title { font-weight: 700; }
@media (max-width: 480px) {
  .hz-hot-dot { width: 1.8rem; height: 1.8rem; font-size: 0.85rem; }
  .hz-ba-tag { font-size: 0.72rem; }
}

/* ---- FINISH chooser ---- */
.hz-fin { margin: 1.4rem 0; }
.hz-fin-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.8rem; }
.hz-fin-btn { font: inherit; font-weight: 700; font-size: 0.95rem; color: rgb(43, 43, 43); background: #fff; border: 2px solid rgb(198, 93, 59); border-radius: 999px; padding: 0.45rem 1rem; cursor: pointer; min-height: 44px; }
.hz-fin-btn:hover, .hz-fin-btn:focus-visible { background: rgba(198, 93, 59, 0.14); outline: none; }
.hz-fin-btn.hz-fin-on { background: rgb(198, 93, 59); color: #fff; }
.hz-fin-panel { border-radius: 6px; overflow: hidden; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); background: #fff; }
.hz-fin-img { display: block; width: 100%; height: auto; }
.hz-fin-price { margin: 0; padding: 0.8rem 1rem 0; font-size: 1.25rem; font-weight: 700; color: rgb(43, 43, 43); }
.hz-fin-text { margin: 0; padding: 0.35rem 1rem 0.95rem; font-size: 0.98rem; line-height: 1.55; color: rgb(43, 43, 43); }
.hz-fin-cap { margin-top: 0.55rem; font-size: 0.95rem; line-height: 1.55; color: rgb(43, 43, 43); border-left: 3px solid rgb(198, 93, 59); padding-left: 0.7rem; }
.hz-fin-btn.hz-fin-active { background: rgb(198, 93, 59); color: #fff; }
.hz-fin.hz-fin-live .hz-fin-panel { display: none; }
.hz-fin.hz-fin-live .hz-fin-panel.hz-fin-active { display: block; }
.hz-fin-intro { font-size: 17px; line-height: 1.6; margin: 0 0 14px; }

/* ---- bands (homepage trust/projects) ---- */
.hz-band { max-width: 72rem; margin: 0 auto; padding: 2.2rem 1.1rem 0.6rem; color: rgb(43, 43, 43); }
.hz-band h2 { font-size: 1.65rem; line-height: 1.25; margin: 1.6rem 0 0.7rem; }
.hz-band h2:first-child { margin-top: 0; }
.hz-band h3 { font-size: 1.25rem; line-height: 1.3; margin: 1.5rem 0 0.55rem; }
.hz-band p { font-size: 1rem; line-height: 1.6; margin: 0 0 0.9rem; }
.hz-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.2rem; padding: 0; list-style: none; }
.hz-badges li { border: 2px solid rgb(198, 93, 59); border-radius: 999px; padding: 0.35rem 0.9rem; font-weight: 700; font-size: 0.92rem; background: rgba(198, 93, 59, 0.08); }
.hz-details { background: rgba(249, 249, 245, 0.55); border-left: 3px solid rgb(198, 93, 59); padding: 0.7rem 0.9rem; margin: 0 0 1.1rem; }
.hz-details p { margin: 0 0 0.3rem; font-size: 0.97rem; }
.hz-details p:last-child { margin-bottom: 0; }

/* ---- hz-gal pattern explorer ---- */
.hz-gal { max-width: 880px; margin: 2.4rem auto; padding: 0 1rem; color: rgb(43, 43, 43); }
.hz-gal-title { font-size: 1.35rem; margin: 0 0 1rem; }
.hz-gal-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.hz-gal-btn { border: 1px solid rgb(198, 93, 59); background: transparent; color: rgb(43, 43, 43); border-radius: 999px; padding: 0.45rem 1.05rem; font: inherit; cursor: pointer; }
.hz-gal-btn.hz-gal-on { background: rgb(198, 93, 59); color: #fff; }
.hz-gal-panel { display: grid; grid-template-columns: 300px 1fr; gap: 1.1rem; align-items: start; margin-bottom: 1.4rem; }
.hz-gal-panel img { width: 100%; border-radius: 6px; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-gal-panel h4 { margin: 0.1rem 0 0.45rem; font-size: 1.1rem; }
.hz-gal-panel p { margin: 0; line-height: 1.55; }
.hz-gal-live .hz-gal-panel { display: none; }
.hz-gal-live .hz-gal-panel.hz-gal-active { display: grid; }
@media (max-width: 640px) { .hz-gal-panel { grid-template-columns: 1fr; } .hz-gal-panel img { max-width: 340px; } }

/* ---- hz-dec decision piece ---- */
.hz-dec { max-width: 880px; margin: 2.4rem auto; padding: 0 1rem; color: rgb(43, 43, 43); }
.hz-dec-title { font-size: 1.35rem; margin: 0 0 1rem; }
.hz-dec-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.hz-dec-btn { border: 1px solid rgb(43, 43, 43); background: transparent; color: rgb(43, 43, 43); border-radius: 999px; padding: 0.45rem 1.05rem; font: inherit; cursor: pointer; }
.hz-dec-btn.hz-dec-on { background: rgb(43, 43, 43); color: #fff; }
.hz-dec-panel { background: rgba(249, 249, 245, 0.55); border-left: 3px solid rgb(198, 93, 59); padding: 0.9rem 1rem; margin-bottom: 1rem; }
.hz-dec-panel h4 { margin: 0 0 0.4rem; font-size: 1.15rem; }
.hz-dec-panel p { margin: 0; line-height: 1.55; }
.hz-dec-live .hz-dec-panel { display: none; }
.hz-dec-live .hz-dec-panel.hz-dec-active { display: block; }

/* ---- hz-list checklist band ---- */
.hz-list { max-width: 880px; margin: 2.4rem auto; padding: 1.4rem 1.4rem 1.2rem; background: rgba(249, 249, 245, 0.55); border-left: 3px solid rgb(198, 93, 59); color: rgb(43, 43, 43); }
.hz-list h3 { margin: 0 0 0.9rem; font-size: 1.3rem; }
.hz-list ul { list-style: none; margin: 0 0 0.9rem; padding: 0; }
.hz-list li { padding: 0.35rem 0 0.35rem 1.9rem; position: relative; line-height: 1.55; }
.hz-list li::before { content: "\2713"; position: absolute; left: 0.2rem; color: rgb(198, 93, 59); font-weight: 700; }
.hz-list p { margin: 0; line-height: 1.55; }

/* ---- hz-heat pour-day heat explorer (homepage) ---- */
.hz-heat { max-width: 1060px; margin: 2.6rem auto; padding: 0 1rem; color: rgb(43, 43, 43); }
.hz-heat-kicker { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: rgb(198, 93, 59); margin: 0 0 8px; }
.hz-heat h2 { font-size: 32px; line-height: 1.15; margin: 0 0 10px; font-weight: normal; }
.hz-heat-lede { font-size: 17px; line-height: 1.55; max-width: 720px; margin: 0 0 24px; }
.hz-heat-panel { background: #fff; border: 1px solid #e5ddd0; border-radius: 6px; padding: 24px; }
.hz-heat-row { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.hz-heat-big { font-size: 56px; line-height: 1; }
.hz-heat-stage { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgb(198, 93, 59); }
.hz-heat input[type=range] { width: 100%; margin: 18px 0 4px; accent-color: rgb(198, 93, 59); height: 36px; }
.hz-heat-scale { display: flex; justify-content: space-between; font-size: 12px; color: #7a7264; }
.hz-heat-cols { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; margin-top: 20px; }
@media (max-width: 760px) { .hz-heat-cols { grid-template-columns: 1fr; } }
.hz-heat-guide { font-size: 16.5px; line-height: 1.6; }
.hz-heat-guide p { margin: 0 0 12px; }
.hz-heat-gauge { margin-top: 6px; }
.hz-heat-gauge-label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #7a7264; margin-bottom: 6px; }
.hz-heat-track { height: 14px; background: #efe8db; border-radius: 7px; position: relative; overflow: hidden; }
.hz-heat-fill { height: 100%; width: 38%; background: linear-gradient(90deg, #d9b26a, rgb(198, 93, 59), #b3541e); border-radius: 7px; transition: width .25s ease; }
.hz-heat-note { font-size: 13.5px; color: #5c5546; margin-top: 8px; line-height: 1.5; }
.hz-heat-facts { border-left: 3px solid rgb(198, 93, 59); padding-left: 16px; margin-top: 20px; }
.hz-heat-facts h3 { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 2px 0 12px; }
.hz-heat-facts p { font-size: 15px; line-height: 1.55; margin: 0 0 12px; }
.hz-heat-src { font-size: 12.5px; color: #8a8172; margin-top: 18px; line-height: 1.5; }

/* ---- hz-story: location-page case story block ---- */
.hz-story { max-width: 1060px; margin: 2.6rem auto; padding: 0 1rem; color: rgb(43, 43, 43); }
.hz-story h2 { font-size: 30px; line-height: 1.2; font-weight: normal; margin: 0 0 14px; }
.hz-story p { font-size: 17px; line-height: 1.62; margin: 0 0 14px; max-width: 780px; }
.hz-story .hz-ba { margin: 20px 0 6px; }
.hz-story-details { border-left: 3px solid rgb(198, 93, 59); padding-left: 16px; font-size: 15.5px; }

/* ---- hz-manager: About-page manager block ---- */
.hz-manager { max-width: 1060px; margin: 2.6rem auto; padding: 0 1rem; color: rgb(43, 43, 43); display: flex; gap: 28px; align-items: flex-start; flex-wrap: wrap; }
.hz-manager img { width: 250px; max-width: 100%; border-radius: 4px; }
.hz-manager .hz-manager-text { flex: 1 1 420px; }
.hz-manager h2 { font-size: 30px; line-height: 1.2; font-weight: normal; margin: 0 0 4px; }
.hz-manager .hz-manager-role { font-size: 15px; color: rgb(198, 93, 59); margin: 0 0 14px; }
.hz-manager p { font-size: 17px; line-height: 1.62; margin: 0 0 14px; }

/* ---- reveal motion ---- */
.hz-js-reveal [data-hz-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.hz-js-reveal [data-hz-reveal].hz-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .hz-js-reveal [data-hz-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ---- hz-show: homepage service showcase tiles ---- */
.hz-show { max-width: 72rem; margin: 0 auto; padding: 0.6rem 1.1rem 1.4rem; color: rgb(43, 43, 43); }
.hz-show-grid, .hz-show { }
.hz-show { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
@media (max-width: 1050px) { .hz-show { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .hz-show { grid-template-columns: 1fr; } }
.hz-show-tile { position: relative; margin: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.hz-show-tile:hover, .hz-show-tile:focus-within { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(43, 43, 43, 0.3); }
a.hz-show-tile { display: block; color: #fff; text-decoration: none; }
.hz-show-tile img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hz-show-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 2rem 0.95rem 0.8rem; background: linear-gradient(transparent, rgba(30, 13, 13, 0.82)); font-weight: 700; font-size: 1.02rem; line-height: 1.3; }
.hz-show-name { display: block; }
.hz-show-line { display: block; font-weight: 400; font-size: .92rem; line-height: 1.45; margin-top: .3rem; }
.hz-show-sec { max-width: 72rem; margin: 0 auto; padding: 2.4rem 1.1rem 0.8rem; color: rgb(43, 43, 43); }
.hz-show-sec h2 { font-family: 'Libre Baskerville', serif; font-size: 2rem; line-height: 1.2; margin: 0 0 0.5rem; }
.hz-show-lede { font-size: 1.05rem; line-height: 1.6; margin: 0 0 1.2rem; max-width: 44rem; }
.hz-show-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin-top: 1.5rem; }
.hz-show-notes p { font-size: 1rem; line-height: 1.65; margin: 0; }
@media (max-width: 720px) { .hz-show-notes { grid-template-columns: 1fr; } }

/* ---- hz-frames: framed column units ---- */
.hz-frames { max-width: 72rem; margin: 2.2rem auto; padding: 0 1.1rem; color: rgb(43, 43, 43); }
.hz-frames h2 { font-size: 1.65rem; line-height: 1.25; margin: 0 0 0.6rem; }
.hz-frames > p { font-size: 1rem; line-height: 1.6; max-width: 48rem; margin: 0 0 1.3rem; }
.hz-frames-sec { max-width: 72rem; margin: 2.2rem auto; padding: 0 1.1rem; color: rgb(43, 43, 43); }
.hz-frames-title { font-size: 1.65rem; line-height: 1.25; margin: 0 0 .6rem; font-family: 'Libre Baskerville', serif; font-weight: 400; }
.hz-frames-intro { font-size: 1rem; line-height: 1.6; max-width: 48rem; margin: 0 0 1.3rem; }
.hz-frames-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
@media (max-width: 900px) { .hz-frames-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hz-frames-grid { grid-template-columns: 1fr; } }
.hz-frames-grid.hz-frames-2col { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .hz-frames-grid.hz-frames-2col { grid-template-columns: 1fr; } }
.hz-frame { position: relative; margin: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); min-height: 340px; display: flex; }
.hz-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hz-frame-txt { position: relative; margin-top: auto; width: 100%; padding: 2.6rem 1rem 1rem; background: linear-gradient(transparent, rgba(30, 13, 13, 0.88) 42%); color: #fff; }
.hz-frame-txt h3 { margin: 0 0 0.45rem; font-size: 1.12rem; line-height: 1.3; }
.hz-frame-txt p, .hz-frame-txt li { font-size: 0.94rem; line-height: 1.5; }
.hz-frame-txt p { margin: 0; }
.hz-frame-txt ul { margin: 0; padding-left: 1.05rem; }
.hz-frames-split .hz-frame { display: block; min-height: 0; background: #fff; border: 1px solid rgba(43, 43, 43, 0.14); }
.hz-frames-split .hz-frame img { position: static; width: 100%; height: 190px; object-fit: cover; }
.hz-frames-split .hz-frame-body { position: static; background: none; color: rgb(43, 43, 43); padding: 1rem 1.05rem 1.15rem; }
.hz-frames-split .hz-frame-body h3 { color: rgb(43, 43, 43); font-size: 1.12rem; margin: 0 0 0.45rem; }
.hz-frames-split .hz-frame-body p { color: rgba(43, 43, 43, 0.88); margin: 0; line-height: 1.55; font-size: 0.95rem; }

/* ---- hz-cost: cost section as one composed piece ---- */
.hz-cost { max-width: 72rem; margin: 2.6rem auto; padding: 0 1.1rem; color: rgb(43, 43, 43); }
.hz-cost-head { position: relative; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-cost-head img { display: block; width: 100%; height: auto; }
.hz-cost-head-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 3rem 1.4rem 1.2rem; background: linear-gradient(transparent, rgba(30, 13, 13, 0.85)); color: #fff; }
.hz-cost-head-txt h2 { margin: 0 0 0.4rem; font-size: 1.8rem; line-height: 1.2; color: #fff; }
.hz-cost-head-txt p { margin: 0; line-height: 1.55; max-width: 44rem; }
.hz-cost-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; margin-top: 1.3rem; align-items: start; }
@media (max-width: 760px) { .hz-cost-cards { grid-template-columns: 1fr; } }
.hz-cost-card { background: #fff; border: 1px solid #e5ddd0; border-radius: 10px; padding: 1.25rem 1.3rem 1.1rem; box-shadow: 0 2px 10px rgba(43, 43, 43, 0.1); }
.hz-cost-card h3 { margin: 0 0 0.9rem; font-size: 1.05rem; letter-spacing: 0.04em; text-transform: uppercase; color: rgb(198, 93, 59); }
.hz-cost-rows { list-style: none; margin: 0; padding: 0; }
.hz-cost-rows li { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #efe8db; }
.hz-cost-rows li:last-child { border-bottom: 0; }
.hz-cost-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid #efe8db; }
.hz-cost-row:last-child { border-bottom: 0; }
.hz-cost-row .hz-cost-name { line-height: 1.45; }
.hz-chip { flex: none; background: rgb(43, 43, 43); color: #fff; font-weight: 700; border-radius: 999px; padding: 0.22rem 0.75rem; font-size: 0.95rem; }
.hz-cost-factors { columns: 2; column-gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
@media (max-width: 480px) { .hz-cost-factors { columns: 1; } }
.hz-cost-factors li { padding: 0.4rem 0 0.4rem 1.5rem; position: relative; line-height: 1.5; break-inside: avoid; }
.hz-cost-factors li::before { content: "\2713"; position: absolute; left: 0.1rem; color: rgb(198, 93, 59); font-weight: 700; }
.hz-cost-band { margin-top: 1.3rem; background: rgb(43, 43, 43); color: rgb(249, 249, 245); border-radius: 10px; padding: 1.3rem 1.4rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem 1.4rem; }
.hz-cost-band p { margin: 0; line-height: 1.55; flex: 1 1 26rem; }
.hz-cost-band a { flex: none; background: rgb(198, 93, 59); color: #fff; font-weight: 700; text-decoration: none; border-radius: 999px; padding: 0.6rem 1.3rem; }

/* ---- hz-proc: process as step rows ---- */
.hz-proc { max-width: 1060px; margin: 2.6rem auto; padding: 0 1rem; color: rgb(43, 43, 43); }
.hz-proc h2 { font-size: 1.65rem; line-height: 1.25; margin: 0 0 0.6rem; }
.hz-proc > p { line-height: 1.6; max-width: 48rem; margin: 0 0 0.6rem; }
.hz-proc-list { list-style: none; margin: 0; padding: 0; }
.hz-proc-row { display: grid; grid-template-columns: 300px 1fr; gap: 1.4rem; padding: 1.4rem 0; border-bottom: 1px solid #e5ddd0; align-items: start; }
.hz-proc-row:last-child { border-bottom: 0; }
@media (max-width: 700px) { .hz-proc-row { grid-template-columns: 1fr; } }
.hz-proc-row img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 2px 12px rgba(43, 43, 43, 0.2); }
.hz-proc-step, .hz-proc-kicker { display: inline-block; background: rgb(198, 93, 59); color: #fff; font-weight: 700; font-size: 0.82rem; letter-spacing: 0.06em; border-radius: 999px; padding: 0.18rem 0.7rem; margin-bottom: 0.5rem; text-transform: uppercase; }
.hz-proc-row h3 { margin: 0 0 0.5rem; font-size: 1.28rem; line-height: 1.3; }
.hz-proc-row p { margin: 0 0 0.6rem; line-height: 1.6; }
.hz-proc-row p:last-child { margin-bottom: 0; }
.hz-proc-why { border-left: 3px solid rgb(198, 93, 59); padding-left: 0.85rem; color: #4c463c; }

/* ---- hz-feat: featured composition ---- */
.hz-feat { max-width: 72rem; margin: 2.6rem auto; padding: 1.8rem 1.4rem 1.6rem; background: rgba(249, 249, 245, 0.55); border-radius: 12px; color: rgb(43, 43, 43); }
.hz-feat > figure, .hz-feat-fig { margin: 0 0 1.3rem; max-width: 46rem; }
.hz-feat > figure img, .hz-feat-fig img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); }
.hz-feat h2 { font-size: 1.8rem; line-height: 1.22; margin: 0 0 0.6rem; }
.hz-feat > p { line-height: 1.62; max-width: 50rem; margin: 0 0 1.3rem; }
.hz-feat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
@media (max-width: 720px) { .hz-feat-grid { grid-template-columns: 1fr; } }
.hz-feat-item { margin: 0; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 12px rgba(43, 43, 43, 0.14); }
.hz-feat-item img { display: block; width: 100%; height: auto; }
.hz-feat-item figcaption { padding: 1rem 1.1rem 1.1rem; }
.hz-feat-item h3 { margin: 0 0 0.45rem; font-size: 1.18rem; line-height: 1.3; }
.hz-feat-item p { margin: 0; line-height: 1.58; font-size: 0.99rem; }

/* ---- hz-gallery ---- */
.hz-gallery { max-width: 72rem; margin: 0 auto; padding: 2.6rem 1.1rem 1.6rem; color: rgb(43, 43, 43); }
.hz-gallery h1 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 2.2rem; line-height: 1.15; margin: 0 0 0.7rem; }
.hz-gallery > p { font-size: 1.06rem; line-height: 1.65; max-width: 50rem; margin: 0 0 1.8rem; }
.hz-gallery h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 1.6rem; margin: 2.2rem 0 1rem; border-bottom: 2px solid rgba(198, 93, 59, 0.45); padding-bottom: 0.4rem; }
.hz-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
@media (max-width: 860px) { .hz-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hz-gallery-grid { grid-template-columns: 1fr; } }
.hz-gallery-item { margin: 0; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 2px 12px rgba(43, 43, 43, 0.16); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.hz-gallery-item:hover { transform: translateY(-5px); box-shadow: 0 12px 28px rgba(43, 43, 43, 0.26); }
.hz-gallery-item img { display: block; width: 100%; height: auto; }
.hz-gallery-item figcaption { padding: 0.75rem 0.95rem 0.9rem; font-size: 0.95rem; line-height: 1.5; }

/* =====================================================================
   WEB-1015 SITE-WIDE PRESENTATION LAYER (2026-11-06). This file is
   linked on every page of the candidate, which is why the site-wide
   layer lives here: two-family type, paragraph rhythm, heading
   presence, nav states, form integration, the locations-hub classes,
   the prepared dropdown standard, and the floating-chip removal.
   ===================================================================== */

/* ---- two-family type: headings keep the display serif (Libre
   Baskerville); every body family Brizy rotated through (Roboto, Lato,
   Work Sans, Palanquin) resolves to the ONE body family, Overpass,
   already loaded by the site's fonts stylesheets. ---- */
.brz.brz .brz-ff-roboto, .brz.brz .brz-ff-lato, .brz.brz .brz-ff-work_sans,
.brz.brz .brz-ff-palanquin {
  font-family: 'Overpass', sans-serif !important;
}
.brz.brz .brz-rich-text p, .brz.brz .brz-rich-text li {
  font-family: 'Overpass', sans-serif;
}

/* ---- paragraph rhythm ---- */
.brz.brz .brz-rich-text p { margin-bottom: 1.05rem !important; }
.brz.brz .brz-rich-text p:last-child { margin-bottom: 0 !important; }

/* ---- headings stand out: a terracotta rule under section headings
   and honest space above them ---- */
.brz.brz .brz-rich-text h2 {
  border-bottom: 2px solid rgba(198, 93, 59, 0.45);
  padding-bottom: 0.4rem;
  margin-top: 2.3rem !important;
}
.brz.brz .brz-rich-text h3 { margin-top: 1.7rem !important; }

/* ---- nav states ---- */
.brz.brz .brz-menu__item > .brz-a { transition: color 0.18s ease; }
.brz.brz .brz-menu__item > .brz-a:hover,
.brz.brz .brz-menu__item > .brz-a:focus-visible { color: rgb(198, 93, 59); }
.brz.brz .brz-menu__sub-menu {
  box-shadow: 0 14px 34px rgba(43, 43, 43, 0.18);
  border-radius: 0 0 10px 10px;
}

/* ---- form integration: the form sits IN the design. Consent and
   spam behaviour are the form script's, untouched. ---- */
.kv-form.kv-form {
  --kv-font: 'Overpass', system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  --kv-radius: 12px !important;
  padding: 26px 26px 20px !important;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(43, 43, 43, 0.14);
}
@media (max-width: 560px) {
  .kv-form.kv-form { padding: 20px 16px 16px !important; }
}

/* ---- floating phone chip OFF: the Brizy wrapper-clone of the header
   phone button (.brz-css-3lsx6m, position:fixed at hard-coded pixel
   offsets) is hidden on every page; the in-flow header phone button
   (a different wrapper) stays. ---- */
.brz .brz-css-3lsx6m { display: none !important; }

/* ---- locations hub (hz-hub) ---- */
.hz-hub { max-width: 72rem; margin: 0 auto; padding: 2.6rem 1.1rem 1.2rem; color: rgb(43, 43, 43); font-family: 'Overpass', sans-serif; }
.hz-hub h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 1.9rem; line-height: 1.2; margin: 0 0 0.9rem; border-bottom: 2px solid rgba(198, 93, 59, 0.45); padding-bottom: 0.45rem; }
.hz-hub > p { font-size: 1.06rem; line-height: 1.65; max-width: 52rem; margin: 0 0 1rem; }
.hz-hub-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 1.8rem 0 0.6rem; }
@media (max-width: 720px) { .hz-hub-feats { grid-template-columns: 1fr; } }
a.hz-hub-feat { display: block; color: rgb(43, 43, 43); text-decoration: none; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 14px rgba(43, 43, 43, 0.22); background: #fff; transition: transform 0.25s ease, box-shadow 0.25s ease; margin: 0; }
a.hz-hub-feat:hover { transform: translateY(-5px); box-shadow: 0 12px 28px rgba(43, 43, 43, 0.28); }
.hz-hub-feat img { display: block; width: 100%; height: auto; }
.hz-hub-feat-body { display: block; padding: 1rem 1.1rem 1.15rem; }
.hz-hub-feat-name { display: block; font-family: 'Libre Baskerville', serif; font-size: 1.35rem; line-height: 1.25; margin: 0 0 0.45rem; }
a.hz-hub-feat:hover .hz-hub-feat-name { color: rgb(198, 93, 59); }
.hz-hub-feat-line { display: block; line-height: 1.6; font-size: 1rem; }
.hz-hub-feat .hz-hub-go { color: rgb(198, 93, 59); font-weight: 700; }
.hz-hub-towns { margin: 1.6rem 0 0; }
.hz-hub-towns h3 { font-size: 1.05rem; letter-spacing: 0.02em; margin: 0 0 0.7rem; font-family: 'Overpass', sans-serif; }
ul.hz-hub-towns { list-style: none; padding: 0; margin: 1.6rem 0 0; columns: 2; column-gap: 2.5rem; }
@media (max-width: 560px) { ul.hz-hub-towns { columns: 1; } }
.hz-hub-towns li { padding: 0.32rem 0; break-inside: avoid; }
.hz-hub-towns li a { color: rgb(43, 43, 43); text-decoration: none; border-bottom: 1px solid rgba(198, 93, 59, 0.4); font-weight: 700; }
.hz-hub-towns li a:hover, .hz-hub-towns li a:focus-visible { color: rgb(198, 93, 59); }
.hz-hub-towns li span { margin-left: 0.55rem; color: rgba(43, 43, 43, 0.72); }

/* === KV dropdown standard (founder, 2026-11-02): click-only, flush,
   capped. Prepared WEB-1015 fix (dropdown-audit 2026-11-02), carried
   in this every-page stylesheet because this tree has no
   header-hero-refine.css. Brizy desktop menus only; the mobile menu
   (.brz-menu__mmenu) is untouched. === */
.brz .brz-menu:not(.brz-menu__mmenu) .brz-menu__item:hover > .brz-menu__sub-menu,
.brz .brz-menu:not(.brz-menu__mmenu) .brz-menu__item:focus-within > .brz-menu__sub-menu {
  visibility: hidden !important;
  opacity: 0 !important;
}
.brz .brz-menu:not(.brz-menu__mmenu) .brz-menu__item.kv-dd-open > .brz-menu__sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 3000 !important;
  top: 100% !important;
  left: 0 !important;
  transform: none !important;
  --offset: 0px !important;
  max-height: calc(100vh - 8rem);
  max-height: calc(100dvh - 8rem);
  overflow-y: auto !important;
  pointer-events: auto !important;
}

/* WEB-1015 hub + gallery supplements */
.hz-hub-links { font-size: 1.02rem; line-height: 2; }
.hz-hub-links a { color: var(--hz-accent); font-weight: 600; text-decoration: none; }
.hz-hub-links a:hover { text-decoration: underline; }
.hz-hub-feat h3 { font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.25rem; margin: 0 0 .4rem; }
.hz-hub-feat h3 a { color: var(--hz-ink); text-decoration: none; }
.hz-hub-feat h3 a:hover { color: var(--hz-accent); }
.hz-hub-feat p { margin: 0; }
.hz-gallery-sec { padding: 64px 0 30px; }
.hz-gallery-formsec { padding: 10px 0 54px; }
.hz-gallery-item figcaption { padding: 12px 14px 14px; font-size: .94rem; line-height: 1.55; color: var(--hz-gray, #5a5a5a); }

/* hz-hero v3 — WEB-1015 homepage hero (founder art direction, 2026-11-08):
   tiered H1 typography over the full-width photograph — eyebrow label,
   a large first line, an italic gold second line, spaced caps third —
   a localized left gradient (the photograph stays vivid elsewhere), the
   trust points in a slim translucent band near the hero's bottom, and
   the overlapping quote panel (.hz-lead) connecting hero to page. */
.brz .brz-css-msbi95[data-brz-custom-id="cCJOmS4wku1W"] { position: relative;
  display: flex; align-items: center;
  min-height: min(97vh, 940px); padding: 84px 20px 190px !important; }
.brz .brz-css-msbi95[data-brz-custom-id="cCJOmS4wku1W"] > .brz-bg > .brz-bg-color {
  background: linear-gradient(97deg, rgba(24,16,9,.80) 0%, rgba(24,16,9,.58) 36%, rgba(24,16,9,.16) 60%, rgba(24,16,9,0) 76%),
              linear-gradient(0deg, rgba(24,16,9,.38) 0%, rgba(24,16,9,0) 30%); }
.brz .brz-css-msbi95[data-brz-custom-id="cCJOmS4wku1W"] .brz-container {
  display: block; width: 100%; max-width: 1240px; margin: 0 auto; }
.hz-hero-copy { position: relative; z-index: 3; max-width: 680px; }
.hz-hero-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 26px;
  font-family: 'Overpass', sans-serif; font-size: 13px; font-weight: 700;
  letter-spacing: .34em; text-transform: uppercase; color: #f3cf9a;
  text-shadow: 0 1px 8px rgba(20,12,4,.6); }
.hz-hero-eyebrow-rule { display: inline-block; width: 46px; height: 2px; background: #b3541e; }
.hz-hero-name { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 700;
  color: #fff; margin: 0; text-shadow: 0 2px 22px rgba(20,12,4,.5); }
.hz-h1-l1 { display: block; font-size: clamp(58px, 7.4vw, 106px); line-height: 1.0; }
.hz-h1-l2 { display: block; font-style: italic; font-size: clamp(50px, 6.3vw, 90px);
  line-height: 1.06; color: #f0cd93; margin-left: .38em; }
.hz-h1-l3 { display: block; font-size: clamp(19px, 2.2vw, 29px); line-height: 1.2;
  letter-spacing: .42em; text-transform: uppercase; margin-top: 18px; color: rgba(255,255,255,.94); }
.hz-hero-trade { font-family: 'Overpass', sans-serif; font-size: 20.5px; line-height: 1.5;
  color: rgba(255,255,255,.96); margin: 30px 0 0; max-width: 500px;
  text-shadow: 0 1px 10px rgba(20,12,4,.55); }
.hz-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.hz-hero-btn { font-family: 'Overpass', sans-serif; font-size: 16.5px; font-weight: 700;
  text-decoration: none; padding: 15px 32px; border-radius: 6px;
  transition: transform .18s ease, filter .18s ease, background .18s ease; }
.hz-hero-btn:hover { transform: translateY(-2px); }
.hz-hero-btn-solid { background: #b3541e; color: #fff; box-shadow: 0 10px 26px rgba(20,12,4,.35); }
.hz-hero-btn-solid:hover { filter: brightness(1.1); }
.hz-hero-btn-line { border: 2px solid rgba(255,255,255,.88); color: #fff; backdrop-filter: blur(3px); }
.hz-hero-btn-line:hover { background: rgba(255,255,255,.14); }
.hz-hero-band { position: absolute; left: 0; right: 0; bottom: 104px; z-index: 4;
  background: linear-gradient(90deg, rgba(26,19,12,.62), rgba(26,19,12,.44));
  backdrop-filter: blur(6px); border-top: 1px solid rgba(243,207,154,.38);
  border-bottom: 1px solid rgba(243,207,154,.16); padding: 16px 20px; }
.hz-hero-trust { list-style: none; margin: 0 auto; padding: 0; max-width: 1240px;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 34px; }
.hz-hero-trust li { font-family: 'Overpass', sans-serif; font-size: 15.5px; font-weight: 600;
  color: #fff; display: flex; align-items: center; gap: 9px; }
.hz-hero-trust li::before { content: "\2713"; color: #f3cf9a; font-weight: 700; }
.hz-hero-form { position: relative; background: #fff; border-radius: 14px;
  padding: 24px 24px 6px; box-shadow: 0 16px 40px rgba(15,10,4,.14); }
.hz-hero-form .kv-form.kv-form { padding: 10px 0 14px !important;
  border-radius: 0; box-shadow: none; }
/* hz-lead — the overlapping quote panel under the hero */
.hz-lead { position: relative; z-index: 6; max-width: 1240px; margin: -84px auto 0; padding: 0 20px; }
.hz-lead-card { background: #f7f2e9; border-top: 4px solid #b3541e; border-radius: 20px;
  box-shadow: 0 30px 70px rgba(20,13,5,.26); padding: 36px 40px 40px; }
.hz-lead-eyebrow { margin: 0 0 10px; font-family: 'Overpass', sans-serif; font-size: 12.5px;
  font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: #b3541e; }
.hz-lead-title { margin: 0 0 10px; font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(27px, 3vw, 36px); font-weight: 700; color: #2a251f; }
.hz-lead-invite { margin: 0; font-family: 'Overpass', sans-serif; font-size: 17px;
  line-height: 1.55; color: #4a4238; max-width: 660px; }
.hz-lead-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 36px; margin-top: 28px; align-items: start; }
.hz-lead-fig { margin: 0; }
.hz-lead-fig img { display: block; width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover;
  border-radius: 14px; }
.hz-lead-fig figcaption { margin-top: 12px; font-family: 'Overpass', sans-serif;
  font-size: .94rem; line-height: 1.55; color: #5a5148; }
@media (max-width: 991px) {
  .brz .brz-css-msbi95[data-brz-custom-id="cCJOmS4wku1W"] { min-height: 0; padding: 64px 18px 224px !important; }
  .brz .brz-css-msbi95[data-brz-custom-id="cCJOmS4wku1W"] > .brz-bg > .brz-bg-color {
    background: linear-gradient(180deg, rgba(24,16,9,.52) 0%, rgba(24,16,9,.66) 88%); }
  .hz-h1-l2 { margin-left: .18em; }
  .hz-hero-trade { font-size: 18.5px; }
  .hz-hero-band { bottom: 84px; padding: 13px 16px; }
  .hz-hero-trust { justify-content: flex-start; gap: 8px 22px; }
  .hz-hero-trust li { font-size: 14.5px; }
  .hz-lead { margin-top: -64px; padding: 0 14px; }
  .hz-lead-card { padding: 26px 20px 28px; }
  .hz-lead-grid { grid-template-columns: 1fr; gap: 24px; }
  .hz-lead-fig img { aspect-ratio: 4 / 3; }
}

/* ---- WEB-1015 homepage recomposition (2026-11-07) + hero Ken Burns (gate F-5) ---- */
.brz-css-msbi95 > .brz-bg > .brz-bg-image { transform: scale(1.09); animation: hz-kenburns 26s ease-in-out infinite alternate; }
@keyframes hz-kenburns { from { transform: scale(1.09) translate(0, 0); } to { transform: scale(1.16) translate(-1.4%, -1.2%); } }
@media (prefers-reduced-motion: reduce) { .brz-css-msbi95 > .brz-bg > .brz-bg-image { animation: none; } }
.hz-home { max-width: 1140px; margin: 2.6rem auto; padding: 0 1rem; font-family: 'Overpass', sans-serif; color: rgb(43, 43, 43); }
.hz-home h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 30px; line-height: 1.22; margin: 0 0 12px; }
.hz-home h3 { line-height: 1.3; }
.hz-home p { line-height: 1.65; margin: 0 0 14px; }
.hz-home-kicker { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: rgb(198, 93, 59); margin: 0 0 8px; }
.hz-home-lede { font-size: 17.5px; line-height: 1.6; max-width: 780px; }
.hz-home-sep { max-width: 1140px; margin: 0 auto; padding: .2rem 1rem; }
.hz-home-sep::before { content: ""; display: block; border-top: 1px solid #e5ddd0; }
.hz-home-stripsec { margin-bottom: .4rem; }
.hz-home-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hz-home-strip figure { margin: 0; }
.hz-home-strip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; display: block; }
.hz-home-strip figcaption { font-size: 13.5px; line-height: 1.45; color: #5c5546; padding-top: 7px; }
.hz-home-banner { margin: 18px 0 4px; }
.hz-home-banner img { width: 100%; aspect-ratio: 3.4 / 1; object-fit: cover; border-radius: 8px; display: block; }
.hz-home-banner figcaption { font-size: 13.5px; color: #5c5546; padding-top: 7px; }
.hz-home-cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: start; }
.hz-home-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem; align-items: start; }
.hz-home-col h3 { font-size: 18.5px; margin: 0 0 10px; font-weight: 600; }
.hz-home-steplist { list-style: none; margin: 18px 0 0; padding: 0; counter-reset: none; }
.hz-home-steplist li { padding: 11px 0; border-top: 1px solid #efe8db; line-height: 1.6; font-size: 15.5px; }
.hz-home-steplist li strong { color: rgb(43, 43, 43); }
.hz-home-minis > div { padding: 11px 0; border-top: 1px solid #efe8db; }
.hz-home-minis h3 { font-size: 16.5px; margin: 0 0 6px; font-weight: 600; }
.hz-home-minis p { font-size: 15.5px; margin: 0; }
.hz-home-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 22px; }
.hz-home-svc { border: 1px solid #e5ddd0; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.hz-home-svc-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hz-home-svc-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hz-home-svc-body h3 { font-size: 19px; margin: 0; font-weight: 600; line-height: 1.28; }
.hz-home-svc-body p { margin: 0; font-size: 15.5px; flex: 1; }
.hz-home-svc-link { color: rgb(198, 93, 59); font-weight: 600; text-decoration: none; font-size: 15.5px; }
.hz-home-svc-link:hover, .hz-home-svc-link:focus { text-decoration: underline; }
.hz-home-priceguide { background: #faf7f1; border: 1px solid #e5ddd0; border-radius: 8px; padding: 20px 22px; margin: 22px 0 26px; }
.hz-home-priceguide h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 20px; margin: 0 0 10px; }
.hz-home-priceguide p { margin: 0; max-width: 860px; }
.hz-home-factor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.hz-home-factor { display: flex; gap: 16px; border: 1px solid #e5ddd0; border-radius: 8px; padding: 14px; background: #fff; align-items: flex-start; }
.hz-home-factor img { width: 168px; height: 126px; object-fit: cover; border-radius: 6px; flex: none; }
.hz-home-factor h3 { font-size: 17.5px; margin: 2px 0 6px; font-weight: 600; }
.hz-home-factor p { font-size: 15px; margin: 0; }
.hz-home-factor-wide { margin-top: 24px; }
.hz-home-factor-wide > h3 { font-size: 19px; font-weight: 600; margin: 0 0 12px; }
.hz-home-other { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8rem; }
.hz-home-other h4 { font-size: 16px; margin: 0 0 6px; font-weight: 600; }
.hz-home-other p { font-size: 15.5px; margin: 0; }
.hz-home-proc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.hz-home-proc-step { border: 1px solid #e5ddd0; border-radius: 8px; background: #fff; padding: 18px 20px; }
.hz-home-proc-head { display: flex; align-items: center; gap: 12px; margin-bottom: 9px; }
.hz-home-proc-icon { width: 34px; height: 34px; flex: none; color: rgb(198, 93, 59); }
.hz-home-proc-icon svg { width: 100%; height: 100%; display: block; }
.hz-home-proc-head h3 { font-size: 18px; margin: 0; font-weight: 600; }
.hz-home-proc-num { color: rgb(198, 93, 59); margin-right: 9px; }
.hz-home-proc-step p { font-size: 15.5px; margin: 0; }
.hz-home-proc-note { margin-top: 16px; font-size: 15px; color: #5c5546; }
.hz-home-care-top { display: flex; gap: 26px; align-items: flex-start; margin-bottom: 26px; }
.hz-home-care-photo { flex: 0 0 300px; margin: 0; }
.hz-home-care-photo img { width: 100%; border-radius: 8px; display: block; }
.hz-home-areas-sub { font-size: 17px; color: #5c5546; margin-top: -6px; }
.hz-home-towns { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 18px 0 20px; }
.hz-home-towns li { border: 1px solid #e5ddd0; border-radius: 999px; padding: 7px 14px; font-size: 15px; background: #fff; }
.hz-home-towns li.hz-home-town-main { border-color: rgb(198, 93, 59); font-weight: 600; }
.hz-home-towns li span { color: #7a7264; font-weight: 400; font-size: 13.5px; margin-left: 4px; }
.hz-home-areas-btn { display: inline-block; background: rgb(198, 93, 59); color: #fff; padding: 12px 22px; border-radius: 6px; text-decoration: none; font-weight: 600; }
.hz-home-areas-btn:hover, .hz-home-areas-btn:focus { text-decoration: underline; }
.hz-home-closeform { max-width: 580px; margin: 24px 0 8px; background: #fff; border-radius: 10px; padding: 22px; box-shadow: 0 8px 30px rgba(0, 0, 0, .18); }
@media (max-width: 1024px) {
  .hz-home-svc-grid { grid-template-columns: 1fr 1fr; }
  .hz-home-cols3 { gap: 1.4rem; }
}
@media (max-width: 900px) {
  .hz-home-cols2, .hz-home-cols3 { grid-template-columns: 1fr; }
  .hz-home-care-top { flex-direction: column; }
  .hz-home-care-photo { flex: none; width: min(320px, 100%); }
}
@media (max-width: 760px) {
  .hz-home-factor-grid, .hz-home-other, .hz-home-proc-grid { grid-template-columns: 1fr; }
  .hz-home-strip { grid-template-columns: 1fr; }
  .hz-home-banner img { aspect-ratio: 16 / 9; }
}
@media (max-width: 620px) {
  .hz-home-svc-grid { grid-template-columns: 1fr; }
  .hz-home-factor { flex-direction: column; }
  .hz-home-factor img { width: 100%; height: auto; aspect-ratio: 16 / 9; }
}

/* WEB-1015 quote band — verification delta 2026-11-07 (MIGRATIONS): the shared quote
   band's form runs 230px past its section (144px on contact), so the consent and submit
   sat behind the following band. The band sections now carry enough bottom padding to
   contain the form. Scoped to the band's own section-content id and to the services
   hub intro section, each only where the section actually holds the form (:has), so
   the homepage hero, homepage close and homepage intro are untouched. */
[data-brz-custom-id="fEZoubSg0JVy"]:has(.kv-form){padding-bottom:300px}
[data-brz-custom-id="jmUGpmxgbVra"]:has(.kv-form){padding-bottom:300px}

/* ---- WEB-1015 remediation delta A (2026-11-07): services-hub recomposition,
   footer component, homepage pricing-factor tap-to-expand ---- */

/* hz-fx: homepage pricing factors, tap-to-expand. Without JS every factor
   stands open with its full text; the live class (added by humanize.js)
   is what collapses them. */
.hz-fx { border: 1px solid #e5ddd0; border-radius: 8px; background: #fff; overflow: hidden; }
.hz-fx-head { display: flex; gap: 14px; align-items: flex-start; width: 100%; box-sizing: border-box; text-align: left; background: none; border: 0; margin: 0; padding: 14px; cursor: pointer; font: inherit; color: inherit; }
.hz-fx-head img { width: 132px; height: 99px; object-fit: cover; border-radius: 6px; flex: none; }
.hz-fx-headmain { flex: 1 1 auto; display: block; min-width: 0; }
.hz-fx-title { display: block; font-size: 17.5px; font-weight: 600; line-height: 1.3; margin: 2px 0 5px; }
.hz-fx-line { display: block; font-size: 14.5px; line-height: 1.55; color: #5c5546; }
.hz-fx-chev { flex: none; width: 26px; height: 26px; margin-top: 6px; color: rgb(198, 93, 59); transition: transform .35s ease; }
.hz-fx-chev svg { width: 100%; height: 100%; display: block; }
.hz-fx.hz-fx-open .hz-fx-chev { transform: rotate(180deg); }
.hz-fx-bodyin2 { padding: 0 14px 16px; }
.hz-fx-big { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 6px; display: block; margin: 0 0 12px; }
.hz-fx-body p { font-size: 15.5px; margin: 0; }
.hz-fx.hz-fx-live .hz-fx-body { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .45s ease, opacity .35s ease; }
.hz-fx.hz-fx-live .hz-fx-bodyin { overflow: hidden; min-height: 0; }
.hz-fx.hz-fx-live.hz-fx-open .hz-fx-body { grid-template-rows: 1fr; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .hz-fx.hz-fx-live .hz-fx-body { transition: none; }
  .hz-fx-chev { transition: none; }
}
@media (max-width: 620px) {
  .hz-fx-head img { width: 96px; height: 72px; }
  .hz-fx-big { aspect-ratio: 16 / 9; }
}

/* hz-foot: site footer component. One component on every page: a
   full-width dark band laid across the width, so the page ends. */
.hz-foot { background: #2a251f; color: #eae3d3; font-family: 'Overpass', sans-serif; border-top: 4px solid rgb(198, 93, 59); }
.hz-foot-inner { max-width: 1240px; margin: 0 auto; padding: 54px 28px 40px; display: grid; grid-template-columns: 1.3fr .7fr 1fr .85fr; gap: 42px; box-sizing: border-box; }
.hz-foot-logo { display: inline-block; background: #fff; border-radius: 8px; padding: 10px 14px; }
.hz-foot-logo img { display: block; width: 148px; height: auto; }
.hz-foot-name { font-family: 'Libre Baskerville', serif; font-size: 21px; line-height: 1.3; color: #fff; margin: 18px 0 10px; }
.hz-foot-addr { font-style: normal; font-size: 15.5px; line-height: 1.6; margin: 0 0 12px; }
.hz-foot-phone { margin: 0 0 10px; }
.hz-foot-phone a { color: #fff; font-size: 19px; font-weight: 700; text-decoration: none; }
.hz-foot-phone a:hover, .hz-foot-phone a:focus { text-decoration: underline; }
.hz-foot-fb { margin: 0; font-size: 15px; }
.hz-foot-fb a { color: #e89b74; text-decoration: none; font-weight: 600; }
.hz-foot-fb a:hover, .hz-foot-fb a:focus { text-decoration: underline; }
.hz-foot-col h3 { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #e89b74; font-weight: 700; margin: 8px 0 16px; }
.hz-foot-col ul { list-style: none; margin: 0; padding: 0; }
.hz-foot-col li { margin: 0 0 10px; }
.hz-foot-col a { color: #eae3d3; text-decoration: none; font-size: 15.5px; }
.hz-foot-col a:hover, .hz-foot-col a:focus { color: #fff; text-decoration: underline; }
.hz-foot-hours { font-size: 15.5px; line-height: 1.65; margin: 0 0 14px; }
.hz-foot-note { font-size: 14.5px; line-height: 1.6; color: #bdb29c; margin: 0; }
.hz-foot-bottom { border-top: 1px solid rgba(234, 227, 211, .16); }
.hz-foot-bottomin { max-width: 1240px; margin: 0 auto; padding: 18px 28px; display: flex; justify-content: space-between; align-items: center; gap: 14px 28px; flex-wrap: wrap; box-sizing: border-box; }
.hz-foot-bottom p { margin: 0; font-size: 14.5px; color: #bdb29c; }
.hz-foot-bottom a { color: #eae3d3; font-weight: 600; font-size: 14.5px; text-decoration: none; }
.hz-foot-bottom a:hover, .hz-foot-bottom a:focus { text-decoration: underline; }
@media (max-width: 1024px) { .hz-foot-inner { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 600px) {
  .hz-foot-inner { grid-template-columns: 1fr; padding: 42px 22px 32px; gap: 30px; }
  .hz-foot-bottomin { padding: 16px 22px; }
}

/* hz-hubx: services-hub recomposition. Same design language as the
   homepage hz-home sections; photo-led or designed-unit sections,
   no prose columns. */
.hz-hubx { max-width: 1140px; margin: 3rem auto; padding: 0 1rem; font-family: 'Overpass', sans-serif; color: rgb(43, 43, 43); }
.hz-hubx h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 30px; line-height: 1.22; margin: 0 0 12px; }
.hz-hubx h3 { line-height: 1.3; }
.hz-hubx p { line-height: 1.65; margin: 0 0 14px; }
.hz-hubx-kicker { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: rgb(198, 93, 59); margin: 0 0 8px; }
.hz-hubx-lede { font-size: 17.5px; line-height: 1.6; max-width: 820px; }
.hz-hubx-banner { margin: 0 0 22px; }
.hz-hubx-banner img { width: 100%; aspect-ratio: 3.4 / 1; object-fit: cover; border-radius: 8px; display: block; }
.hz-hubx-banner figcaption { font-size: 13.5px; line-height: 1.45; color: #5c5546; padding-top: 7px; }
.hz-hubx-split { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: start; }
.hz-hubx-half h3 { font-size: 19px; font-weight: 600; margin: 0 0 10px; }
.hz-hubx-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 16px 0 0; }
.hz-hubx-chips li { border: 1px solid #e5ddd0; border-radius: 999px; padding: 6px 13px; font-size: 14px; background: #faf7f1; }
.hz-hubx-feat { display: grid; grid-template-columns: 40% 1fr; gap: 2.2rem; align-items: start; }
.hz-hubx-featfig { margin: 0; }
.hz-hubx-featfig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; display: block; }
.hz-hubx-featfig figcaption { font-size: 13.5px; line-height: 1.45; color: #5c5546; padding-top: 7px; }
.hz-hubx-link { color: rgb(198, 93, 59); font-weight: 600; text-decoration: none; }
.hz-hubx-link:hover, .hz-hubx-link:focus { text-decoration: underline; }
.hz-hubx-decide { margin-top: 30px; }
.hz-hubx-decide > h3 { font-size: 20px; font-weight: 600; margin: 0 0 8px; }
.hz-hubx-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 16px; }
.hz-hubx-trio-unit { border-top: 3px solid rgb(198, 93, 59); background: #faf7f1; border-radius: 0 0 8px 8px; padding: 16px 18px; }
.hz-hubx-trio-unit h4 { font-size: 16.5px; margin: 0 0 7px; font-weight: 700; }
.hz-hubx-trio-unit p { font-size: 15px; margin: 0; }
.hz-hubx-units { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.4rem; margin-top: 8px; }
.hz-hubx-unit { padding: 16px 0 4px; border-top: 1px solid #e5ddd0; }
.hz-hubx-unit h3 { font-size: 18px; font-weight: 600; margin: 0 0 8px; }
.hz-hubx-unit p { font-size: 15.5px; }
.hz-hubx-strip2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 22px; }
.hz-hubx-strip2 figure { margin: 0; }
.hz-hubx-strip2 img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; display: block; }
.hz-hubx-strip2 figcaption { font-size: 13.5px; line-height: 1.45; color: #5c5546; padding-top: 7px; }
.hz-hubx-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem; align-items: start; margin-top: 6px; }
.hz-hubx-mini { padding-top: 14px; border-top: 1px solid #e5ddd0; }
.hz-hubx-mini h3 { font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.hz-hubx-mini p { font-size: 15.5px; }
.hz-hubx-quad { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.hz-hubx-quad-unit { border: 1px solid #e5ddd0; border-radius: 8px; background: #fff; padding: 16px 18px; }
.hz-hubx-quad-unit h4 { font-size: 16.5px; font-weight: 600; margin: 0 0 7px; }
.hz-hubx-quad-unit p { font-size: 15px; margin: 0; }
.hz-hubx-band { background: #faf7f1; border: 1px solid #e5ddd0; border-radius: 8px; padding: 20px 22px; margin-top: 24px; }
.hz-hubx-band h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 20px; margin: 0 0 10px; }
.hz-hubx-band p:last-child { margin-bottom: 0; }
.hz-hubx-proc { list-style: none; margin: 10px 0 0; padding: 0; }
.hz-hubx-proc li { display: flex; gap: 20px; padding: 17px 0; border-top: 1px solid #e5ddd0; align-items: flex-start; }
.hz-hubx-proc li:first-child { border-top: 0; }
.hz-hubx-procnum { font-family: 'Libre Baskerville', serif; font-size: 30px; line-height: 1; color: rgb(198, 93, 59); flex: 0 0 62px; }
.hz-hubx-proc h3 { font-size: 18px; font-weight: 600; margin: 2px 0 7px; }
.hz-hubx-proc p { font-size: 15.5px; margin: 0; max-width: 860px; }
.hz-hubx-route { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.hz-hubx-route-unit { border: 1px solid #e5ddd0; border-radius: 8px; background: #fff; padding: 18px 20px; display: flex; flex-direction: column; }
.hz-hubx-route-unit h3 { font-size: 17.5px; font-weight: 600; margin: 0 0 8px; }
.hz-hubx-route-unit p { font-size: 15px; flex: 1; }
.hz-hubx-route-unit .hz-hubx-link { font-size: 15px; }
.hz-hubx-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 22px; }
.hz-hubx-card { border: 1px solid #e5ddd0; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.hz-hubx-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hz-hubx-card-body { padding: 15px 17px 17px; }
.hz-hubx-card-body h3 { font-size: 17px; font-weight: 600; margin: 0 0 7px; }
.hz-hubx-card-body p { font-size: 14.5px; margin: 0; }
.hz-hubx-side { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: start; }
.hz-hubx-sidefig { margin: 0; }
.hz-hubx-sidefig img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; display: block; }
.hz-hubx-halfimg { margin: 0 0 18px; }
.hz-hubx-halfimg img { width: 100%; height: auto; border-radius: 8px; display: block; }
@media (max-width: 1024px) { .hz-hubx-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) {
  .hz-hubx-split, .hz-hubx-side, .hz-hubx-feat { grid-template-columns: 1fr; }
  .hz-hubx-featfig img { aspect-ratio: 16 / 9; }
  .hz-hubx-sidefig img { aspect-ratio: 16 / 10; }
}
@media (max-width: 760px) {
  .hz-hubx-trio, .hz-hubx-cols3, .hz-hubx-route, .hz-hubx-units, .hz-hubx-quad { grid-template-columns: 1fr; }
  .hz-hubx-strip2 { grid-template-columns: 1fr; }
  .hz-hubx-banner img { aspect-ratio: 16 / 9; }
}
@media (max-width: 620px) { .hz-hubx-cards { grid-template-columns: 1fr; } }

.hz-hubx-cap { font-size: 13.5px; line-height: 1.45; color: #5c5546; padding-top: 7px; }


/* hz-proj: homepage projects band as a dark portfolio band
   (remediation B). Full-bleed dark ground, oversized display
   headline, project counter; sliders and details restyled in place. */
.hz-proj { background: #2a251f; color: #eae3d3; font-family: 'Overpass', sans-serif; margin: 2.5rem 0; }
.hz-proj-in { max-width: 72rem; margin: 0 auto; padding: 3.4rem 1.1rem 3rem; }
.hz-proj-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; border-bottom: 1px solid rgba(217, 178, 106, .4); padding-bottom: 1.6rem; margin-bottom: .4rem; }
.hz-proj-eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #d9b26a; margin: 0 0 .85rem; }
.hz-proj h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: clamp(2.5rem, 5vw, 4.2rem); line-height: 1.08; margin: 0 0 .95rem; color: #faf7f1; }
.hz-proj-sub { font-size: 1.13rem; line-height: 1.6; color: #e5ddd0; max-width: 44rem; margin: 0; }
.hz-proj-count { flex: 0 0 auto; text-align: right; padding-bottom: .15rem; }
.hz-proj-countnum { display: block; font-family: 'Libre Baskerville', serif; font-size: clamp(2.6rem, 4.5vw, 3.8rem); line-height: 1; color: #d9b26a; }
.hz-proj-countlab { display: block; font-size: .95rem; color: #bdb29c; margin-top: .4rem; }
.hz-proj-item { padding-top: 2rem; }
.hz-proj-item + .hz-proj-item { border-top: 1px solid rgba(234, 227, 211, .14); margin-top: 2.2rem; padding-top: 2.2rem; }
.hz-proj h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 1.5rem; line-height: 1.3; color: #faf7f1; margin: 0 0 .6rem; }
.hz-proj-item > p { color: #e5ddd0; line-height: 1.65; max-width: 52rem; margin: 0 0 1.1rem; }
.hz-proj .hz-ba { margin: 0; }
.hz-proj .hz-ba-stage { box-shadow: 0 4px 24px rgba(0, 0, 0, .45); }
.hz-proj .hz-ba-cap { color: #cfc4b2; }
.hz-proj .hz-details { background: transparent; border: 0; border-top: 1px solid rgba(234, 227, 211, .16); padding: 1rem 0 0; margin: 1.15rem 0 0; display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 1.4rem; }
.hz-proj .hz-details p { margin: 0; color: #e5ddd0; font-size: .98rem; line-height: 1.55; }
.hz-proj .hz-details strong { color: #d9b26a; }
@media (max-width: 760px) {
  .hz-proj-head { flex-direction: column; align-items: flex-start; gap: 1.1rem; }
  .hz-proj-count { text-align: left; }
  .hz-proj .hz-details { grid-template-columns: 1fr; gap: .55rem; }
  .hz-proj-in { padding: 2.6rem 1.1rem 2.4rem; }
}

/* ---- composition pass 2026-11-07 ---- */
/* F3 — FAQ accordion titles: the Brizy generated CSS colors them with
   --brz-global-color2 (252,176,28 gold) at 0.7 alpha on white rows, which is
   near-illegible. Set them in the site's dark warm gray. Every accordion
   ground on the tree measures white, so one rule serves all pages. */
.brz .brz-accordion .brz-accordion__nav,
.brz .brz-accordion .brz-accordion__nav .brz-accordion__nav-title { color: #2a251f !important; }

/* About MISSION/VISION scrim: dark text sat on translucent tinted panels over
   a busy photograph and failed to read. The section id exists only on
   about.html (census: 1 page); the scrim makes both column panels a near-solid
   cream so the words read everywhere. */
#a0Qzte95uRaC_a0Qzte95uRaC .brz-columns > .brz-bg > .brz-bg-color { background-color: rgba(250, 247, 241, .92) !important; }
.brz .hz-photo-lead, .hz-photo-lead { margin: 10px 0 6px; }
.hz-photo-lead .brz-image { margin: 0 auto; }
.hz-photo-cap { padding-top: 9px; font-size: 14.5px; line-height: 1.55; color: #5c5546; text-align: left; }

/* ————— Hover pop on image cards (founder direction, 2026-11-07 ~18:03:
   "can you animate these images, like have that little pop when i hover
   over it?") — the photograph grows a touch inside its frame, the card
   lifts with a soft shadow. Pointer + keyboard focus alike; still under
   reduced-motion. Card forms only; interactive stages untouched. ————— */
.hz-home-svc, .hz-hubx-route-unit, .hz-feat-item, .hz-gallery figure {
  transition: transform .35s ease, box-shadow .35s ease;
}
.hz-home-svc-photo, .hz-feat-fig { overflow: hidden; }
.hz-home-svc-photo img, .hz-hubx-route-unit img, .hz-feat-fig img, .hz-gallery figure img {
  transition: transform .45s ease;
}
.hz-home-svc:hover, .hz-home-svc:focus-within,
.hz-hubx-route-unit:hover, .hz-hubx-route-unit:focus-within,
.hz-feat-item:hover, .hz-feat-item:focus-within,
.hz-gallery figure:hover, .hz-gallery figure:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(42, 37, 31, .16);
}
.hz-home-svc:hover .hz-home-svc-photo img, .hz-home-svc:focus-within .hz-home-svc-photo img,
.hz-hubx-route-unit:hover img, .hz-hubx-route-unit:focus-within img,
.hz-feat-item:hover .hz-feat-fig img, .hz-feat-item:focus-within .hz-feat-fig img,
.hz-gallery figure:hover img, .hz-gallery figure:focus-within img {
  transform: scale(1.045);
}
@media (prefers-reduced-motion: reduce) {
  .hz-home-svc, .hz-hubx-route-unit, .hz-feat-item, .hz-gallery figure,
  .hz-home-svc-photo img, .hz-hubx-route-unit img, .hz-feat-fig img, .hz-gallery figure img {
    transition: none;
  }
  .hz-home-svc:hover, .hz-hubx-route-unit:hover, .hz-feat-item:hover, .hz-gallery figure:hover {
    transform: none;
    box-shadow: none;
  }
}

/* ——— WEB-1015 remediation delta C (2026-11-07): hz-quote band on the 18 pages
   carrying the shared quote band, hz-care guide sequence, about story.
   Scoping census: .hz-quote*, .hz-care*, .hz-story-about, .hz-story-eyebrow
   had ZERO pre-existing uses tree-wide; the fEZoubSg0JVy counter-rule below
   scopes to the band's section-content id (18 pages) and only where the
   recomposed band is present (:has(.hz-quote)). ——— */
.hz-quote { display: grid; grid-template-columns: 1.08fr .92fr; gap: 28px; max-width: 1240px; margin: 0 auto; font-family: 'Overpass', sans-serif; }
.hz-quote-side { background: #2a251f; color: #eae3d3; border-top: 4px solid rgb(198, 93, 59); border-radius: 14px; padding: 26px 28px 30px; }
.hz-quote-fig { margin: 0 0 20px; }
.hz-quote-fig img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.hz-quote-fig figcaption { padding-top: 9px; font-size: 14.5px; line-height: 1.55; color: #cfc4b2; }
.hz-quote-title { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 24px; line-height: 1.25; color: #faf7f1; margin: 0 0 14px; }
.hz-quote-list { list-style: none; margin: 0 0 16px; padding: 0; }
.hz-quote-list li { font-size: 16px; line-height: 1.5; padding: 4px 0; border-top: 1px solid rgba(234, 227, 211, .14); }
.hz-quote-list li:first-child { border-top: 0; }
.hz-quote-close { font-size: 16px; line-height: 1.6; color: #eae3d3; margin: 0; }
.hz-quote-formwrap { background: #fff; border-radius: 14px; padding: 26px 28px 30px; box-shadow: 0 10px 34px rgba(42, 37, 31, .16); align-self: start; }
.hz-quote-formtitle { font-size: 26px; font-weight: 700; line-height: 1.2; color: #2a251f; margin: 0 0 16px; }
[data-brz-custom-id="fEZoubSg0JVy"]:has(.hz-quote) { padding-bottom: 48px; }
@media (max-width: 900px) { .hz-quote { grid-template-columns: 1fr; } }
.hz-care { max-width: 72rem; margin: 0 auto; padding: 2.6rem 1.1rem 1rem; font-family: 'Overpass', sans-serif; color: rgb(43, 43, 43); }
.hz-care-kicker { font-size: 12.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgb(198, 93, 59); margin: 0 0 .8rem; }
.hz-care h2 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; margin: 0 0 1.4rem; }
.hz-care .hz-photo-lead { margin: 0 0 1.6rem; }
.hz-care .hz-photo-lead img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 32%; border-radius: 8px; box-shadow: 0 2px 14px rgba(43, 43, 43, .22); }
.hz-care p { font-size: 17px; line-height: 1.65; margin: 0 0 14px; max-width: 78ch; }
.hz-care-intro { font-size: 18.5px; }
.hz-care-move { border-top: 1px solid rgba(42, 37, 31, .18); padding: 26px 0 10px; margin-top: 14px; }
.hz-care-move h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 26px; line-height: 1.25; margin: 0 0 12px; }
.hz-care-move h4 { font-size: 19px; font-weight: 700; line-height: 1.3; margin: 28px 0 10px; }
.hz-care-list { margin: 0 0 16px; padding-left: 1.3rem; font-size: 16.5px; line-height: 1.6; }
.hz-care-close { margin-top: 26px; }
.hz-care-heat { background: rgba(198, 93, 59, .08); border-left: 4px solid rgb(198, 93, 59); border-radius: 0 10px 10px 0; padding: 22px 26px; margin-top: 30px; }
.hz-care-heat h3 { font-family: 'Libre Baskerville', serif; font-weight: 400; font-size: 22px; margin: 0 0 10px; }
.hz-care-heat p { margin: 0; }
.hz-story-eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgb(198, 93, 59); margin: 0 0 10px; }
.hz-story-about .hz-photo-lead { margin: 4px 0 18px; }
.hz-story-about .hz-photo-lead img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 2px 14px rgba(43, 43, 43, .22); }

/* ——— Post-C find (2026-11-08, MIGRATIONS verification): the town-page and
   services-hub quote forms sat inside a fixed-height scrolling Brizy column
   (.brz-column__items, content ~800px in a ~550px box) — the founder's
   "form in a scrolling box" defect on 15 pages. Release any column that
   holds the lead form: full height, no internal scroll. Scoped by :has()
   to form columns only. ——— */
.brz-column__items:has(form.kv-form) { height: auto !important; max-height: none !important; overflow: visible !important; }

/* hz-pagehero — WEB-1015 inner-page heroes (founder direction, 2026-11-08):
   every inner hero is a full-image photographic hero — the page's own
   photograph full-bleed, a localized gradient for legibility, the page's
   H1 as real text over the photograph, its subtitle line beneath. The old
   flat bands and baked-title banners leave entirely: inside .hz-pagehero
   the Brizy bg layer (band color / baked banner) is suppressed and the
   seated photograph carries the hero instead. */
.hz-pagehero { position: relative; overflow: hidden; background: #241a10; }
.hz-pagehero .brz-bg { display: none !important; }
.hz-pagehero-media { position: absolute; inset: 0; z-index: 0; }
.hz-pagehero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hz-pagehero-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(97deg, rgba(24,16,9,.80) 0%, rgba(24,16,9,.55) 42%, rgba(24,16,9,.16) 68%, rgba(24,16,9,0) 86%),
              linear-gradient(0deg, rgba(24,16,9,.42) 0%, rgba(24,16,9,0) 46%); }
.hz-pagehero:not(.hz-pagehero--plain) { height: auto !important; min-height: 0 !important; max-height: none !important; }
.hz-pagehero .brz-section__content { position: relative; display: flex; align-items: center;
  min-height: 48vh !important; padding-top: 54px !important; padding-bottom: 54px !important; }
.hz-pagehero .brz-container { position: relative; z-index: 2; width: 100%; }
.hz-pagehero .brz-rich-text { max-width: 780px; }
.hz-pagehero .brz-rich-text h1 { font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: clamp(34px, 4.3vw, 54px) !important; line-height: 1.13 !important; font-weight: 700 !important;
  color: #fff !important; text-align: left !important; margin: 0 0 14px !important;
  text-shadow: 0 2px 20px rgba(20,12,4,.5); }
.hz-pagehero .brz-rich-text h2 { font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: clamp(23px, 2.9vw, 36px) !important; line-height: 1.18 !important; font-weight: 700 !important;
  color: #fff !important; text-align: left !important; margin: 0 0 14px !important;
  text-shadow: 0 2px 16px rgba(20,12,4,.5); }
.hz-pagehero .brz-rich-text p { font-family: 'Overpass', sans-serif !important;
  font-size: clamp(16.5px, 1.5vw, 19.5px) !important; line-height: 1.5 !important;
  color: rgba(255,255,255,.95) !important; text-align: left !important; margin: 0 !important;
  text-shadow: 0 1px 10px rgba(20,12,4,.55); max-width: 620px; }
.hz-pagehero .brz-rich-text h1 span, .hz-pagehero .brz-rich-text h2 span,
.hz-pagehero .brz-rich-text p span, .hz-pagehero .brz-rich-text h1 strong,
.hz-pagehero .brz-rich-text h2 strong, .hz-pagehero .brz-rich-text p strong {
  color: #fff !important; background-color: transparent !important; }
.hz-pagehero-copy { position: relative; z-index: 2; width: 100%; max-width: 1140px;
  margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.hz-pagehero-copy h1 { font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: clamp(33px, 4.2vw, 52px) !important; line-height: 1.14 !important; font-weight: 700 !important;
  color: #fff !important; text-align: left !important; margin: 0 !important;
  text-shadow: 0 2px 20px rgba(20,12,4,.5); }
.hz-pagehero-copy h1 span, .hz-pagehero-copy h1 strong {
  color: #fff !important; background-color: transparent !important; }
.hz-pagehero-copy > p { font-family: 'Overpass', sans-serif; font-size: clamp(16.5px, 1.5vw, 19.5px);
  line-height: 1.55; color: rgba(255,255,255,.95); margin: 16px 0 0; max-width: 640px;
  text-shadow: 0 1px 10px rgba(20,12,4,.55); }
.hz-pagehero--plain { display: flex; align-items: center; min-height: 46vh; }
.hz-pagehero--plain .hz-pagehero-copy { padding-top: 64px; padding-bottom: 64px; }
@media (max-width: 991px) {
  .hz-pagehero .brz-section__content { min-height: 36vh !important; padding-top: 40px !important; padding-bottom: 40px !important; }
  .hz-pagehero--plain { min-height: 34vh; }
  .hz-pagehero--plain .hz-pagehero-copy { padding-top: 46px; padding-bottom: 46px; }
}

/* hz-artpass — WEB-1015 service-page art direction (founder, 2026-11-08):
   Architectural Editorial / Material Studio (colored) + Contemporary
   Commercial (Tolleson). Warm ivory ground, restrained terracotta,
   minimal shadows, no dark panels, no decorative lines. Append only. */
.hz-eyebrow { margin: 0 0 14px; font-family: 'Overpass', sans-serif; font-size: 12.5px;
  font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: #b3541e; }
/* tiered inner H1s (homepage language, inner scale) */
.hz-h1t-l1 { display: block; }
.hz-art-colored.hz-pagehero .brz-rich-text h1 .hz-h1t-l1 { font-size: clamp(37px, 4.5vw, 57px); line-height: 1.04; }
.hz-art-colored.hz-pagehero .brz-rich-text h1 .hz-h1t-l2 { display: block; font-style: italic;
  color: #f0cd93 !important; font-size: clamp(33px, 4vw, 51px); line-height: 1.1; margin-left: .35em; }
.hz-art-colored.hz-pagehero .brz-rich-text h1 .hz-h1t-l3,
.hz-art-toll .hz-pagehero-copy h1 .hz-h1t-l3 { display: block; font-family: 'Overpass', sans-serif;
  font-weight: 700; font-size: 15px; letter-spacing: .34em; text-transform: uppercase;
  margin-top: 16px; line-height: 1.3; }
.hz-art-colored.hz-pagehero .brz-rich-text p { margin-top: 20px !important; }
/* colored — Material Studio editorial intro */
.hz-edit { background: #f7f2e9; padding: 74px 20px 88px; }
.hz-edit-grid { max-width: 1240px; margin: 0 auto; display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.hz-edit-title { margin: 0 0 22px; font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(30px, 3.4vw, 42px); line-height: 1.18; font-weight: 700; color: #2a251f; }
.hz-edit-body p { font-family: 'Overpass', sans-serif; font-size: 17.5px; line-height: 1.65;
  color: #453b31; margin: 0 0 18px; max-width: 600px; }
.hz-edit-body p:last-child { margin-bottom: 0; }
.hz-edit-photos { position: relative; }
.hz-edit-lead { margin: -104px 0 0; position: relative; z-index: 2; }
.hz-edit-lead img { display: block; width: 100%; aspect-ratio: 5 / 4.4; object-fit: cover;
  border-radius: 14px; box-shadow: 0 16px 38px rgba(20,13,5,.16); }
.hz-edit-lead figcaption, .hz-edit-detail figcaption { margin-top: 10px;
  font-family: 'Overpass', sans-serif; font-size: .92rem; line-height: 1.5; color: #6b5f52; }
.hz-edit-detail { margin: -38px 0 0 -34px; width: 58%; position: relative; z-index: 3; }
.hz-edit-detail img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  border-radius: 12px; box-shadow: 0 14px 32px rgba(20,13,5,.18); }
/* Tolleson — Contemporary Commercial intro + form bridge */
.hz-art-intro { background: #f7f2e9; padding: 76px 20px 110px; }
.hz-art-intro-grid { max-width: 1240px; margin: 0 auto; display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 54px; align-items: stretch; }
.hz-art-intro-title { margin: 0 0 20px; font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(29px, 3.3vw, 40px); line-height: 1.2; font-weight: 700; color: #2a251f; }
.hz-art-intro-main .hz-art-p p { font-family: 'Overpass', sans-serif; font-size: 17px;
  line-height: 1.65; color: #453b31; margin: 0 0 16px; max-width: 620px; }
.hz-art-intro-main .hz-art-p p span, .hz-art-intro-main .hz-art-p p a { color: inherit !important; }
.hz-linkline { margin: 26px 0 0; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-family: 'Overpass', sans-serif; font-size: 16.5px; }
.hz-discuss { color: #b3541e; font-weight: 700; text-decoration: none;
  border-bottom: 2px solid rgba(179,84,30,.4); padding-bottom: 2px; }
.hz-discuss:hover { border-bottom-color: #b3541e; }
.hz-linkline-or { color: #8a7a68; }
.hz-linkline .brz-btn { background: none !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; color: #b3541e !important; font-weight: 700; font-size: 16.5px; }
.hz-art-intro-photo { margin: 0; }
.hz-art-intro-photo img { display: block; width: 100%; height: 100%; min-height: 420px;
  object-fit: cover; border-radius: 16px; }
.hz-formbridge { position: relative; z-index: 6; max-width: 1240px; margin: -58px auto -84px;
  padding: 0 20px; }
.hz-formcard { max-width: 680px; background: #fff; border-radius: 18px;
  box-shadow: 0 18px 44px rgba(20,13,5,.13); padding: 30px 34px 12px; }
.hz-formcard h2 { font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: 27px !important; line-height: 1.25 !important; color: #2a251f !important;
  text-align: left !important; margin: 0 0 8px !important; }
.hz-formcard h2 span { color: #2a251f !important; }
.hz-formcard > p { font-family: 'Overpass', sans-serif; font-size: 16px; line-height: 1.55;
  color: #5a5148; margin: 0 0 6px; }
.hz-formcard > p span { color: #5a5148 !important; }
.hz-formcard .kv-form.kv-form { padding: 10px 0 14px !important; border-radius: 0; box-shadow: none; }
#cqG8FqIb3x9M_cqG8FqIb3x9M .brz-section__content { padding-top: 120px !important; }
@media (max-width: 991px) {
  .hz-edit { padding: 52px 18px 64px; }
  .hz-edit-grid, .hz-art-intro-grid { grid-template-columns: 1fr; gap: 34px; }
  .hz-edit-lead { margin-top: 0; }
  .hz-edit-detail { margin: 18px 0 0; width: 100%; }
  .hz-art-intro { padding: 54px 18px 92px; }
  .hz-art-intro-photo img { min-height: 0; aspect-ratio: 4 / 3; }
  .hz-formbridge { margin: -52px auto -72px; padding: 0 14px; }
  .hz-formcard { padding: 24px 20px 8px; }
  #cqG8FqIb3x9M_cqG8FqIb3x9M .brz-section__content { padding-top: 104px !important; }
}

/* hz-artpass-corr — corrections from the builder's rendered self-check:
   the preserved Brizy paragraphs on Tolleson carry mobile centering
   classes (ink must sit left); the colored pairing's detail figure must
   overlap the lead PHOTOGRAPH only, never its caption. */
.hz-art-intro-main .hz-art-p p { text-align: left !important; }
.hz-edit-lead figcaption { max-width: 40%; }
.hz-edit-detail { margin: -140px 0 0 auto; width: 56%; }
@media (max-width: 991px) {
  .hz-edit-lead figcaption { max-width: none; }
  .hz-edit-detail { margin: 18px 0 0; width: 100%; }
}

/* hz-artpass-eyebrow — the founder's approved eyebrow rule (STEER 5:
   tasteful decorative lines serve the design; the homepage eyebrow's
   short terracotta rule is the pattern of record). */
.hz-eyebrow { display: flex; align-items: center; gap: 14px; }
.hz-eyebrow::before { content: ""; width: 46px; height: 2px; background: #b3541e; flex: 0 0 auto; }

/* Consent checkbox placement (founder, 2026-11-08): the form's generic
   input sizing stretched the consent checkbox to the full form width,
   so the box drew in the middle of its row. The consent line is a flex
   row — box at the left, text beside it. Presentation only; the form
   markup and contract are untouched. */
.kv-form label.consent{display:flex;align-items:flex-start;text-align:left}
.kv-form label.consent input[type="checkbox"]{width:16px;height:16px;flex:0 0 auto;margin:3px 8px 0 0}
.kv-form label.consent span{flex:1 1 auto}
