.hb-region-page { max-width:1280px; margin:auto; padding:160px 40px 80px; }
.hb-region-heading { max-width:900px; }
.hb-region-heading h1 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.12; margin-top:22px; }
.hb-region-heading .body-copy { margin-top:24px; }
.hb-region-portfolio { margin-top:76px; }
.hb-region-portfolio h2,.hb-region-office h2 { font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.2; }
.hb-region-portfolio > p { margin-top:20px; }
.hb-region-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 32px; margin-top:36px; }
.hb-region-project { min-width:0; }
.hb-region-project img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.hb-region-project h3 { font-size:1.25rem; line-height:1.35; margin-top:22px; font-weight:500; }
.hb-region-address { margin-top:10px; color:hsl(var(--muted-foreground)); font-size:.875rem; line-height:1.6; }
.hb-region-project .body-copy { margin-top:18px; }
.hb-region-no-image { aspect-ratio:3/2; background:hsl(var(--muted)); display:grid; place-items:center; font-size:.875rem; color:hsl(var(--muted-foreground)); }
.hb-region-office { margin-top:76px; padding-top:40px; border-top:1px solid hsl(var(--border)); }
.hb-region-office p { margin-top:20px; }
.hb-region-office a { margin-right:30px; }
.hb-footprint-region-link { display:inline-block; margin-top:24px; font-size:.875rem; color:#d9e357; border-bottom:1px solid #a6b019; padding-bottom:6px; }
@media(max-width:639px) {
  .hb-region-page { padding:135px 24px 60px; }
  .hb-region-grid { grid-template-columns:1fr; gap:40px; }
  .hb-region-office a { display:block; width:fit-content; }
}
/* Static HTML is immediately readable. The app restores its reveal behavior. */
html.hb-prerender .rise { opacity:1!important; transform:none!important; }
