/* ==========================================================================
   /holy-matrimony/ — companion stylesheet for page-holy-matrimony.php.
   ========================================================================== */
body.hm-page .gcc-site-main { max-width:none; width:100%; margin:0; padding:0; overflow-x:hidden; }
.hm { font-family:'Montserrat', sans-serif; }

/* The theme paints every heading navy; this one sits on the navy hero. */
body.hm-page .gcc-site-main .hm .hm-hero h1 { color:#fff !important; }

/* Links — match the theme's specificity or they fall back to sitewide blue. */
body.hm-page .gcc-site-main .hm a { color:#E31E24; text-decoration:none; }
body.hm-page .gcc-site-main .hm a:hover { color:#B31419; }
body.hm-page .gcc-site-main .hm a:focus-visible { outline:2px solid #E31E24; outline-offset:3px; }
body.hm-page .gcc-site-main .hm .hm-further-grid a,
body.hm-page .gcc-site-main .hm .hm-cta-row a { color:inherit; transition:background-color 140ms ease, transform 140ms ease; }
body.hm-page .gcc-site-main .hm .hm-cta-row a:first-child { color:#fff; }
body.hm-page .gcc-site-main .hm .hm-cta-row a:first-child:hover { background:#B31419 !important; }
body.hm-page .gcc-site-main .hm .hm-cta-row a:last-child:hover { background:#0D1B2A !important; color:#fff; }
body.hm-page .gcc-site-main .hm .hm-further-grid a:hover { background:#F2E2C4 !important; transform:translateY(-2px); }

/* office@garstoncommunitychurch.co.uk is 35 characters with no break
   opportunity — it runs past the edge of a 375px phone unless told it may
   break. Same fix as /child-dedication/. */
body.hm-page .gcc-site-main .hm a[href^="mailto:"] { overflow-wrap:anywhere; }

/* Hero image sits behind the copy. */
.hm .hm-hero { min-height:360px; display:flex; align-items:center; }
.hm .hm-hero .hm-pic { position:absolute; inset:0; display:block; width:100%; height:100%; }
.hm .hm-hero .hm-pic img { width:100%; height:100%; object-fit:cover; display:block;
	/* The couple stand right of centre — keep them in frame as the crop tightens. */
	object-position:58% center; }

@media (max-width: 1000px) {
	.hm .hm-verse-grid,
	.hm .hm-further-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 900px) {
	/* A left-to-right scrim assumes width. On a phone it has to run top to
	   bottom or the copy sits on bare photograph and stops being readable. */
	.hm .hm-hero-scrim {
		background:linear-gradient(180deg, rgba(13,27,42,0.48) 0%, rgba(13,27,42,0.92) 58%) !important;
	}
	.hm .hm-hero { min-height:0; }
	.hm .hm-hero > div { padding-top:170px !important; padding-bottom:56px !important; }
	.hm .hm-hero .hm-pic img { object-position:56% top; }
	.hm .hm-hero h1 { font-size:clamp(30px,7.5vw,42px) !important; }
	/* Two-column split stacks; copy leads, image follows. */
	.hm .hm-prep-grid { grid-template-columns:1fr !important; gap:24px !important; }
	.hm .hm-body { padding-top:44px !important; }
	.hm .hm-book > div { padding:32px 24px !important; }
}
@media (max-width: 620px) {
	.hm .hm-verse-grid, .hm .hm-further-grid { grid-template-columns:1fr !important; }
	.hm .hm-cta-row { flex-direction:column; }
	.hm .hm-cta-row a { text-align:center; }
}
@media print { .hm .hm-further, .hm .hm-cta-row { display:none !important; } }
