/* ==========================================================================
   /house-blessing/ — companion stylesheet for page-house-blessing.php.
   Same house pattern as the other rebuilt pages.
   ========================================================================== */
body.hb-page .gcc-site-main { max-width:none; width:100%; margin:0; padding:0; overflow-x:hidden; }
.hb { font-family:'Montserrat', sans-serif; }

/* The theme paints headings navy sitewide; these two sit on navy. */
body.hb-page .gcc-site-main .hb .hb-hero h1,
body.hb-page .gcc-site-main .hb .hb-card h2 { color:#fff !important; }

/* Links — match the theme's specificity or they render in sitewide blue. */
body.hb-page .gcc-site-main .hb a { color:#E31E24; text-decoration:none; }
body.hb-page .gcc-site-main .hb a:hover { color:#B31419; }
body.hb-page .gcc-site-main .hb a:focus-visible { outline:2px solid #E31E24; outline-offset:3px; }
body.hb-page .gcc-site-main .hb .hb-further-grid a,
body.hb-page .gcc-site-main .hb .hb-card a { color:inherit; transition:background-color 140ms ease, transform 140ms ease; }
body.hb-page .gcc-site-main .hb .hb-card a { color:#fff; }
body.hb-page .gcc-site-main .hb .hb-card a:hover { background:#B31419 !important; }
body.hb-page .gcc-site-main .hb .hb-further-grid a:hover { background:#F2E2C4 !important; transform:translateY(-2px); }

body.hb-page .gcc-site-main .hb ol { list-style:decimal; }
body.hb-page .gcc-site-main .hb ol li { margin-bottom:6px; }

/* Anchor jumps must clear the sticky site header. */
.hb h2[id] { scroll-margin-top: 84px; }

@media (max-width: 1000px) {
	.hb .hb-further-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 900px) {
	.hb .hb-hero { padding:40px 24px !important; }
	.hb .hb-hero h1 { font-size:clamp(30px,7.5vw,42px) !important; }
	.hb .hb-quick, .hb .hb-card, .hb .hb-close { padding:32px 24px !important; }
	.hb .hb-body { padding-top:40px !important; }
	.hb h2[id] { scroll-margin-top: 64px; }
}
@media (max-width: 620px) {
	.hb .hb-further-grid { grid-template-columns:1fr !important; }
}
@media print { .hb .hb-further, .hb .hb-card a { display:none !important; } }

/* Hero image sits behind the copy; the scrim keeps white text readable. */
.hb .hb-hero { min-height: 340px; display: flex; align-items: center; }
.hb .hb-pic { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hb .hb-pic img { width: 100%; height: 100%; object-fit: cover; display: block;
	/* the family is left-of-centre — keep them in frame as the crop tightens */
	object-position: 32% center; }

@media (max-width: 900px) {
	/* The left-to-right scrim assumes width; on a phone it must run
	   top-to-bottom or the copy sits on bare photograph. */
	.hb .hb-hero-scrim {
		background: linear-gradient(180deg, rgba(13,27,42,0.55) 0%, rgba(13,27,42,0.92) 55%) !important;
	}
	.hb .hb-hero { min-height: 0; padding-top: 150px !important; }
	.hb .hb-pic img { object-position: 40% top; }
}
