.hl02b-empty { padding: 1.5rem; border: 1px dashed #b6c0c9; border-radius: .65rem; color: #475569; background: #f8fafc; }
.hl02b-project-filters { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }
.hl02b-project-filters button { padding: .55rem 1rem; border: 1px solid #aab7c3; border-radius: 999px; background: #fff; color: #243447; cursor: pointer; }
.hl02b-project-filters button.is-active, .hl02b-project-filters button:hover { background: #243447; color: #fff; }
.hl02b-project-filters button:focus-visible, .hl02b-certificate-open:focus-visible { outline: 3px solid #2874b2; outline-offset: 3px; }
.hl02b-project-grid, .hl02b-certificate-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.25rem; }
.hl02b-certificate-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.hl02b-project-card, .hl02b-certificate-card { min-width: 0; overflow: hidden; border: 1px solid #dde3e8; border-radius: .75rem; background: #fff; }
.hl02b-project-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.hl02b-project-card__body, .hl02b-certificate-card { padding: 1.2rem; }
.hl02b-project-card__type { color: #586779; font-size: .875rem; }
.hl02b-certificate-card .hl02b-certificate-open { display: flex; align-items: center; justify-content: center; min-height: 18rem; background: #fff; }
.hl02b-certificate-card img { display: block; width: 100%; height: 18rem; object-fit: contain; object-position: center; }
.hl02b-project-detail__image img { display: block; max-width: 100%; height: auto; }
.hl02b-project-detail__sections { max-width: 880px; margin: 2rem auto; padding: 0 1rem; }
.hl02b-project-detail__sections section { padding: 1rem 0; border-bottom: 1px solid #e2e8f0; }
.hl02b-project-detail__cta { max-width: 880px; margin: 2rem auto; padding: 0 1rem; }
.hl02b-cert-dialog { max-width: min(95vw, 1000px); max-height: 90vh; padding: 1rem; border: 0; border-radius: .75rem; box-shadow: 0 1rem 3rem #0005; }
.hl02b-cert-dialog img { display: block; max-width: 100%; max-height: 75vh; object-fit: contain; }
.hl02b-cert-dialog button { float: right; margin-bottom: .5rem; }
@media (max-width: 600px) { .hl02b-project-filters button { min-height: 44px; } .hl02b-project-detail__sections { margin-top: 1rem; } }

/* DISPLAY-only inner-page visuals; no global Astra variables or homepage selectors. */
.hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero { position: relative; isolation: isolate; overflow: hidden; background: #172c3d; }
.hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10,27,40,.83) 0%, rgba(10,27,40,.54) 48%, rgba(10,27,40,.16) 100%); pointer-events: none; }
.hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero .hl-inner { position: relative; z-index: 2; }
.hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero :is(h1,.hl-lead,.hl-eyebrow) { color: #fff !important; }
.hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero .hl-actions a { background: #fff; color: #14334a; border-color: #fff; }
.hl02b-hero-media { position: absolute; inset: 0; z-index: 0; margin: 0; overflow: hidden; }
.hl02b-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hl02b-display-preview:is(.page-id-6,.page-id-13,.page-id-18) .hl-real-visual { display: none; }
.hl02b-display-preview.page-id-12 #kitchen-products .hl-inner { display: block; }
/* Keep the separate site-wide DISPLAY overlay from duplicating 02B-owned inner-page modules. */
body.hl02b-display-preview :is(.hldc-visual,.hldc-record,.hldc-series,.hldc-scene-grid) { display: none !important; }
.hl02b-display-section { margin-top: 1.35rem; }
.hl02b-display-lead { max-width: 780px; margin: 0 0 1.5rem; color: #43556a; line-height: 1.75; }
.hl02b-display-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.page-id-13 .hl02b-display-section--tank-scenarios .hl02b-display-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hl02b-display-card { min-width: 0; overflow: hidden; border: 1px solid #e0e6ec; border-radius: .7rem; background: #fff; box-shadow: 0 8px 22px rgba(17, 41, 61, .045); }
.hl02b-display-card__media { aspect-ratio: 4/3; background: #e9eef2; overflow: hidden; }
.hl02b-display-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hl02b-display-card__body { padding: 1.25rem 1.35rem 1.4rem; }
.hl02b-display-card h3 { margin: 0; font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.35; color: #18364c; }
.hl02b-display-card p { margin: 0; color: #536477; line-height: 1.65; }
.hl02b-certificate-placeholder { min-width: 0; padding: 1.3rem; border: 1px solid #dce4e9; border-radius: .7rem; background: #fff; }
.hl02b-certificate-placeholder__visual { aspect-ratio: 4/3; display: flex; flex-direction: column; gap: .65rem; justify-content: center; padding: 16% 20%; border: 1px solid #d3dce4; background: linear-gradient(145deg,#f3f6f8,#e9eff3); }
.hl02b-certificate-placeholder__visual span { display: block; height: .6rem; border-radius: .3rem; background: #cbd6de; }
.hl02b-certificate-placeholder__visual span:nth-child(2) { width: 78%; }
.hl02b-certificate-placeholder__visual span:nth-child(3) { width: 55%; }
.hl02b-certificate-placeholder h3 { margin: 1rem 0 .4rem; font-size: 1.15rem; color: #18364c; }
.hl02b-certificate-placeholder p { margin: 0; color: #596a7a; }
.hl02b-display-case .hl02b-project-card__media { aspect-ratio: 4/3; }
.hl02b-display-case .hl02b-project-card__media img { width: 100%; height: 100%; object-fit: cover; }
.hl02b-display-case .hl02b-project-card__body h3 { margin: .3rem 0 .55rem; }
.hl02b-display-case .hl02b-project-card__body p:last-child { color: #56687a; }
@media (max-width: 1024px) { .hl02b-display-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 1024px) { .page-id-13 .hl02b-display-section--tank-scenarios .hl02b-display-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) {
  .hl02b-display-grid { grid-template-columns: 1fr; }
  .page-id-13 .hl02b-display-section--tank-scenarios .hl02b-display-grid { grid-template-columns: 1fr; }
  .hl02b-display-preview:is(.page-id-6,.page-id-12,.page-id-13,.page-id-14,.page-id-16,.page-id-17,.page-id-18) .hl-hero::before { background: linear-gradient(90deg,rgba(10,27,40,.78),rgba(10,27,40,.43)); }
  .hl02b-hero-media img { object-position: 58% center; }
}
