/* Location-page overrides on top of service-pages.css.
   LP heroes ship photo-free in v1: no suburb-specific client photography exists
   yet, and a generic job photo captioned into a suburb would fabricate proof
   (rk:oc-proof-vs-illustration). The hero is the brand dark surface carrying a
   subtle aggregate-stone texture (industry-derived, rk:background-textures;
   dot scatter, never a square grid, rk:no-decorative-square-grids). */
/* Full-viewport photo hero (Josh 03.08.26): internal heroes match the home
   page's scale - full-height real photo, big heading, 3 icon dot points.
   min-height calc(100svh - 3px) leaves the pancake band's accent top border
   as the ~3px fold sliver (same mechanics as rk:hero-viewport-fold). */
/* height now inherited from .oc-service-hero (rk:internal-hero-fullheight) */
.oc-lp-hero{background:#0a0a0b}
.oc-service-hero .oc-service-hero-inner{position:relative;z-index:2;padding-top:clamp(110px,13vh,160px);padding-bottom:clamp(56px,8vh,96px)}

/* Balanced text|image section rows (build-rules "Text|image rows are BALANCED
   blocks"): above the 850px collapse the COPY column drives the row height and
   the figure fills exactly that height (cover, per-image object-position from
   the inline style). min-height keeps very short copy from letterboxing. */
@media(min-width:851px){
  .oc-lp-page .oc-layout-copy.oc-has-image .oc-section-inner{align-items:stretch}
  .oc-lp-page .oc-layout-copy.oc-has-image .oc-section-copy{align-self:center}
  .oc-lp-page .oc-layout-copy.oc-has-image .oc-section-figure{position:relative;min-height:300px}
  .oc-lp-page .oc-layout-copy.oc-has-image .oc-section-figure img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
}

/* Short viewports (landscape phones, small laptops): the generous internal-hero
   rhythm must never push the pancake band past the fold, so tighten rather than
   let the 3px sliver break (rk:internal-hero-spacing + rk:hero-viewport-fold). */
