/* Formation Church (Tabor): "The Formation Collection". A contemporary art museum.
   Bone walls, dark olive, terracotta, stone. Newsreader light display + Hanken Grotesk labels.
   Deployed as the theme's css/screen.css on tabor.circlesco.com. Source: tools/css/tabor.css on the tabor branch.
--------------------------------------------------------------------------------------- */
:root {
	--fm-bone: #EEE9DF; --fm-paper: #F7F4EE; --fm-olive: #3E4430; --fm-deep: #2C3022;
	--fm-terra: #B5552F; --fm-terra-ink: #9A4424; --fm-stone: #B9B1A3;
	--fm-serif: "Newsreader", Georgia, serif; --fm-sans: "Hanken Grotesk", system-ui, sans-serif;
	--fm-ease: cubic-bezier(.2, .7, 0, 1);
	--fm-display: clamp(3rem, 1.6rem + 6.4vw, 8rem);
	--fm-title: clamp(2.5rem, 1.7rem + 3.4vw, 5rem);
	--fm-medium: clamp(1.75rem, 1.4rem + 1.4vw, 2.75rem);
	--fm-gutter: max(16px, calc((100vw - 1300px) / 2));
	/* Corners header + Plaque hero tokens */
	--corner-bg: var(--fm-paper); --corner-ink: var(--fm-olive); --corner-accent: var(--fm-terra);
	--corner-panel-bg: var(--fm-olive); --corner-panel-ink: var(--fm-bone);
	--plaque-bg: var(--fm-paper); --plaque-ink: var(--fm-olive);
}
body { background: var(--fm-bone); color: var(--fm-olive); font-family: var(--fm-sans); }
body, .wysiwyg p, .section p { font-size: 1.1875rem; line-height: 1.6; }
.section .wysiwyg, .section p { max-width: 60ch; }
h1, h2, h3, .titles, .ct2-display { font-family: var(--fm-serif); font-weight: 300; font-optical-sizing: auto; letter-spacing: -.02em; }
.section h2.titles, .section .titles.bigger { line-height: 1.04; }
.fm em, .cc-plaque em { font-style: italic; font-weight: 300; }
::selection { background: var(--fm-olive); color: var(--fm-bone); }

/* Labels: grotesk, small, never wrapped caps */
.small-titles, .ct2-tr-meta, .ct3-hs-num, .ct3-stm-num {
	font-family: var(--fm-sans) !important; font-weight: 500; font-size: 15px !important; letter-spacing: .04em !important;
	text-transform: none !important; color: var(--fm-terra-ink);
}
.bg-main .small-titles, .bg-sec .small-titles { color: var(--fm-stone); }
.bg-sec .small-titles { color: var(--fm-paper); }

/* Buttons: thin outline, small caps, a terracotta dot grows in on hover */
.button, a.button, .gform_button {
	font-family: var(--fm-sans) !important; font-weight: 500 !important; font-size: 16px !important;
	font-variant-caps: all-small-caps; letter-spacing: .08em !important; text-transform: none !important;
	background: transparent !important; color: currentColor !important; border: 1px solid currentColor !important;
	border-radius: 0 !important; padding: 13px 22px 14px !important; box-shadow: none !important; transform: none !important;
	display: inline-flex; align-items: center; gap: 0;
}
.button::before { content: ""; width: 0; height: 6px; background: var(--fm-terra); transition: width .35s var(--fm-ease), margin .35s var(--fm-ease); }
.button:hover::before, .button:focus-visible::before { width: 6px; margin-right: 10px; }
.bg-sec .button::before { background: var(--fm-paper); }
.button:focus-visible { outline: 2px solid var(--fm-terra); outline-offset: 3px; }
.section a:not(.button) { text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* Corners header: brand chip uses the wordmark at a museum-sign size */
.cc-corner-brand img { max-height: 26px; }
.cc-corners-panel { font-family: var(--fm-sans); }
.cc-corners-panel nav > ol > li > a, .cc-corners-panel .cc-corners-big { font-family: var(--fm-serif); font-weight: 300; }

/* 1. Plaque hero: the first work on view, its wall label bottom-left */
.cc-plaque-label { width: min(440px, 100% - 32px); padding: 30px 30px 22px; font-family: var(--fm-sans); }
.cc-plaque-line { font: 500 15px/1.3 var(--fm-sans); letter-spacing: .04em; color: var(--fm-terra-ink); margin: 0 0 14px; }
.cc-plaque-title { font: 300 clamp(2.4rem, 1.6rem + 2vw, 3.6rem)/1.02 var(--fm-serif) !important; letter-spacing: -.02em; margin: 0; color: var(--fm-olive); }
.cc-plaque-rule { border: 0; border-top: 1px solid var(--fm-stone); margin: 22px 0 16px; }
.cc-plaque-details p { font-size: 16px; line-height: 1.5; margin: 0; }
.cc-plaque-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cc-plaque-credit { font-size: 13px !important; color: #6b6e5e; margin: 18px 0 0; letter-spacing: .02em; }

/* Section rhythm: generous empty wall */
.fm > .section { padding-top: clamp(80px, 9vw, 150px); padding-bottom: clamp(80px, 9vw, 150px); }
.fm > .section.pad-t-0 { padding-top: 0; }

/* 2. Mission: the statement hangs from column 5 of 12 */
.fm-mission .ct2-statement { padding-left: calc(100% * 4 / 12); }
.fm-mission .ct2-stm-text, .fm-mission .ct2-stm-text p { font: 300 clamp(2.1rem, 1.2rem + 3vw, 4.5rem)/1.1 var(--fm-serif) !important; letter-spacing: -.02em; max-width: 20ch; }
.fm-mission .ct2-stm-fill .ct2-stm-text { --ct2-stm-dim: var(--fm-stone); }
.fm-mission .small-titles { margin-left: 0; }

/* 3. Community: a museum hang. Frames of different sizes on one eye line, a wall label under each */
.fm-hang .ct3-head-split { align-items: end; }
.fm-hang .titles { font-size: var(--fm-title) !important; }
.fm-hang .cc-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(40px, 5vw, 90px) clamp(20px, 2.4vw, 40px); align-items: center; margin-top: clamp(60px, 7vw, 110px); }
.fm-hang .cc-mosaic figure, .fm-hang .cc-mosaic figure:nth-child(n) { transform: none !important; margin: 0; grid-column: span 4; }
.fm-hang .cc-mosaic figure:nth-child(6n+1) { grid-column: 1 / span 5; }
.fm-hang .cc-mosaic figure:nth-child(6n+2) { grid-column: 7 / span 3; }
.fm-hang .cc-mosaic figure:nth-child(6n+3) { grid-column: 10 / span 3; align-self: end; }
.fm-hang .cc-mosaic figure:nth-child(6n+4) { grid-column: 2 / span 3; }
.fm-hang .cc-mosaic figure:nth-child(6n+5) { grid-column: 6 / span 4; }
.fm-hang .cc-mosaic figure:nth-child(6n+6) { grid-column: 11 / span 2; align-self: start; }
.fm-hang .cc-mosaic img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 0; }
.fm-hang .cc-mosaic figure:nth-child(6n+1) img, .fm-hang .cc-mosaic figure:nth-child(6n+5) img { aspect-ratio: 4 / 3; }
.fm-hang .cc-mosaic figure:nth-child(6n+6) img { aspect-ratio: 1; }
.fm-hang .cc-mosaic figcaption { font: 400 15px/1.45 var(--fm-sans); margin-top: 14px; max-width: 34ch; color: var(--fm-olive); padding-left: 12px; border-left: 1px solid var(--fm-terra); }
.fm-hang .cc-mosaic figure:hover, .fm-hang .cc-mosaic figure:focus-within { transform: none !important; }

/* 4. Ministries on olive: four figures, four ministries; list items read as label cards */
.fm-ministries .ct3-hs-figure img { border-radius: 0; }
.fm-ministries .ct3-hs-pin .ct3-hs-mark { background: var(--fm-paper); color: var(--fm-olive); border-radius: 0; font: 500 14px/1 var(--fm-sans); width: 30px; height: 30px; display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(238, 233, 223, .25); }
.fm-ministries .ct3-hs-pin[aria-expanded="true"] .ct3-hs-mark { background: var(--fm-terra); color: var(--fm-paper); }
.fm-ministries .ct3-hs-item { border-top: 1px solid rgba(238, 233, 223, .25); }
.fm-ministries .ct3-hs-title { font-family: var(--fm-serif) !important; font-weight: 300; font-size: var(--fm-medium) !important; }
.fm-ministries .ct3-hs-num { color: var(--fm-stone); border: 0 !important; background: none !important; }
.fm-ministries .ct3-hs-body p { font-size: 17px; color: var(--fm-bone); }
.fm-ministries .ct3-hs-link { color: var(--fm-bone); }

/* 5. Recent series: matted prints. The series art sits on a paper mat with a hairline, like a framed work */
.fm-series .ct3-stm-frame { background: var(--fm-paper); padding: clamp(24px, 3.4vw, 56px); outline: 1px solid rgba(62, 68, 48, .14); outline-offset: -1px; aspect-ratio: 5 / 4; border-radius: 0; }
.fm-series .ct3-stm-photo img, .fm-series .ct3-stm-thumb img { object-fit: contain !important; width: 100%; height: 100%; border-radius: 0; }
.fm-series .ct3-stm-thumb { background: var(--fm-paper); padding: 18px; }
.fm-series .ct3-stm-item h3 { font-size: var(--fm-medium) !important; }
.fm-series .ct3-stm-item:not(.is-on) { opacity: .45; }
.fm-series .ct3-stm-num { color: var(--fm-terra-ink); }

/* 6. Upcoming: an exhibition list. Title left in serif, date · time · room in grotesk */
.fm-events .ct2-tr { border-top: 1px solid var(--fm-stone); padding: 26px 0; }
.fm-events .ct2-tr:last-child { border-bottom: 1px solid var(--fm-stone); }
.fm-events .ct2-tr-label h3 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.4rem) !important; margin: 0; }
.fm-events .ct2-tr-meta { margin-top: 8px; color: var(--fm-olive) !important; font-variant-numeric: tabular-nums; }
.fm-events .ct2-tr-text { display: flex; justify-content: flex-end; align-items: center; }
.fm-events .ct2-tr-link { font: 500 16px var(--fm-sans); font-variant-caps: all-small-caps; letter-spacing: .08em; }

/* 7. Visit: the info desk. A paper card on the terracotta wall */
.fm-desk .ct-statement-card { background: var(--fm-paper) !important; color: var(--fm-olive) !important; border-radius: 0 !important; box-shadow: none !important; padding: clamp(32px, 4vw, 64px) !important; }
.fm-desk .ct-statement-card .titles { color: var(--fm-olive) !important; font-size: var(--fm-title) !important; }
.fm-desk .ct-statement-card p { color: var(--fm-olive) !important; }
.fm-desk .ct-statement-card .small-titles { color: var(--fm-terra-ink) !important; }
.fm-desk-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 28px 0 0; border-top: 1px solid var(--fm-stone); }
.fm-desk-facts div { padding: 16px 16px 0 0; }
.fm-desk-facts dt { font: 500 14px var(--fm-sans); letter-spacing: .04em; color: var(--fm-terra-ink); }
.fm-desk-facts dd { margin: 4px 0 0; font-size: 16px; line-height: 1.45; }
.fm-desk .ct-statement-buttons .button { color: var(--fm-olive) !important; margin-right: 10px; }
.fm-desk .ct-statement-links, .fm-desk .ct-statement-links a { color: var(--fm-paper) !important; }
.fm-desk .ct-links-title { color: var(--fm-paper) !important; }
.fm-desk .ct-statement-links li { border-color: rgba(247, 244, 238, .45) !important; }
.fm-desk .ct-statement-links a span { font: 300 clamp(1.6rem, 1.2rem + 1vw, 2.2rem)/1.2 var(--fm-serif); }

/* 8. Close: one slow line of huge stone words on olive, no tilt */
.fm-close > .section { padding-top: clamp(60px, 7vw, 110px); padding-bottom: clamp(30px, 4vw, 60px); }
.fm-close .ct2-mq-item { color: var(--fm-stone); font-family: var(--fm-serif); font-weight: 200; letter-spacing: -.03em; }
.fm-close .ct2-mq-sep { color: var(--fm-terra); font-weight: 200; }

/* Footer (Normal) as the gallery's closing information */
.footer { background: var(--fm-olive) !important; color: var(--fm-bone); font-family: var(--fm-sans); border-top: 1px solid rgba(185, 177, 163, .35); }
.footer, .footer p, .footer a, .footer li { font-size: 16px !important; line-height: 1.6; }
.footer .logo-footer img { max-height: 40px; width: auto; }
.footer a { color: var(--fm-bone) !important; text-underline-offset: 4px; }
.footer a:hover { color: var(--fm-stone) !important; }
.footer h2, .footer h3, .footer .footer-title { font-family: var(--fm-serif); font-weight: 300; }
.footer .button { color: var(--fm-bone) !important; }

/* Motion: images open like a curtain drawn up, once (scroll-driven where supported).
   A wall-colored panel slides off the photo; the photo itself is never clipped, so lazy loading still sees it. */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.fm-hang .cc-mosaic figure > a, .fm-ministries .ct3-hs-figure, .fm-series .ct3-stm-frame { position: relative; display: block; }
		.fm-hang .cc-mosaic figure > a::after, .fm-ministries .ct3-hs-figure::after, .fm-series .ct3-stm-frame::after {
			content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: var(--fm-bone); transform-origin: 50% 0;
			animation: fm-curtain linear both; animation-timeline: view(); animation-range: entry 10% cover 40%;
		}
		.fm-ministries .ct3-hs-figure::after { background: var(--fm-olive); }
	}
	@keyframes fm-curtain { from { transform: scaleY(1); } to { transform: scaleY(0); } }
	.fm-series .ct3-stm-item { transition: opacity .6s var(--fm-ease); }
}
@media (prefers-reduced-motion: reduce) {
	.button::before { transition: none; }
}

/* Tablets */
@media only screen and (max-width: 1024px) {
	.fm-mission .ct2-statement { padding-left: calc(100% * 2 / 12); }
	.fm-hang .cc-mosaic figure:nth-child(n) { grid-column: span 6 !important; align-self: start; }
	.fm-hang .cc-mosaic figure:nth-child(3n+1) { grid-column: 1 / -1 !important; }
	.fm-hang .cc-mosaic figure:nth-child(3n+1) img { aspect-ratio: 16 / 9; }
	.fm-desk-facts { grid-template-columns: 1fr; }
}

/* Phones */
@media only screen and (max-width: 767px) {
	body, .wysiwyg p, .section p { font-size: 1.125rem; }
	.fm-mission .ct2-statement { padding-left: 0; }
	.fm-hang .cc-mosaic { grid-template-columns: 1fr 1fr; gap: 36px 16px; }
	.fm-hang .cc-mosaic figure:nth-child(n) { grid-column: span 1 !important; }
	.fm-hang .cc-mosaic figure:nth-child(3n+1) { grid-column: 1 / -1 !important; }
	.fm-hang .cc-mosaic img, .fm-hang .cc-mosaic figure:nth-child(n) img { aspect-ratio: 4 / 5; }
	.fm-hang .cc-mosaic figure:nth-child(3n+1) img { aspect-ratio: 4 / 3; }
	.fm-hang .cc-mosaic figcaption { font-size: 15px; }
	.fm-events .ct2-tr-text { justify-content: flex-start; }
	.cc-plaque-label { width: auto; }
}

/* Polish pass 1 (Stage A critique) */
body .button, body a.button, body .ct-wrapper .button { border-width: 1px !important; border-style: solid !important; font-size: 17px !important; padding: 11px 20px 12px !important; line-height: 1.2 !important; }
body .fm-desk h3.ct-links-title, body .fm-desk .ct-statement-links .small-titles { color: var(--fm-paper) !important; }
body .fm-desk .ct-statement-links svg { fill: var(--fm-paper); }
body .fm-series .ct3-stm-item a.ct2-st-link, body .fm-series .ct3-stm-item a { font: 500 17px/1.3 var(--fm-sans) !important; font-variant-caps: all-small-caps; letter-spacing: .08em; text-decoration: none; }
body .fm-series .ct3-stm-item a .ct2-st-link-arrow { margin-left: 8px; }
/* Polish pass 2: px body sizes (the framework's root size changes on phones) */
body, body .wysiwyg p, body .section p, body .ct3-hs-body p, body .ct3-stm-item p { font-size: 19px !important; line-height: 1.6; }
body .fm-ministries .ct3-hs-body p { font-size: 17px !important; }
body .ct2-hero-sentence, body .cc-plaque-details p { font-size: 16px !important; }
@media only screen and (max-width: 767px) {
	body, body .wysiwyg p, body .section p, body .ct3-hs-body p, body .ct3-stm-item p { font-size: 18px !important; }
	/* The hero already carries Plan A Visit: the corner chip waits until the hero is passed */
	body.cc-header-corners:not(.is-scrolled) .cc-corner-bl { opacity: 0; pointer-events: none; }
	body.cc-header-corners .cc-corner-bl { transition: opacity .3s; }
	.cc-plaque-actions .button { flex: 0 0 auto; }
}
body .cc-plaque-line { font-size: 15px !important; }
body .cc-plaque-credit { font-size: 13px !important; }
body .cc-plaque-actions .button { width: auto !important; flex: 0 0 auto; }
/* Corners panel: links in bone on olive (the site link color would otherwise win) */
body .cc-corners-panel, body .cc-corners-panel a, body .cc-corners-panel p, body .cc-corners-panel li { color: var(--fm-bone) !important; }
body .cc-corners-panel a:hover { color: var(--fm-stone) !important; }
body .cc-corners-panel a[aria-current="page"] { color: var(--fm-paper) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
body .cc-corners-panel .cc-corners-n { color: var(--fm-stone) !important; }
/* Formation Church (Tabor): core pages (Plan A Visit, About, Connect, Give, Contact). Scoped by fm-pav-*, fm-about-*, fm-conn-*, fm-give-*, fm-contact-*. */

/* Plan A Visit: the mission as a gallery text panel */
.fm-pav-quote .ct-quote-text { font: 300 clamp(2rem, 1.2rem + 3vw, 4.25rem)/1.12 var(--fm-serif) !important; letter-spacing: -.02em; max-width: 24ch; color: var(--fm-bone); }
.fm-pav-quote .ct-quote-bar { border: 0; border-top: 1px solid var(--fm-terra); opacity: 1; max-width: 120px; margin-left: 0; }

/* Plan A Visit beliefs: paper rows on the one terracotta wall */
.fm-pav-beliefs .ct-faq-item { background: var(--fm-paper); color: var(--fm-olive); padding: 22px 28px !important; margin-bottom: 12px !important; border: 0; }
.fm-pav-beliefs .ct-faq-item .titles, .fm-pav-beliefs .ct-faq-q, .fm-pav-beliefs .ct-faq-item p, .fm-pav-beliefs .ct-faq-toggle { color: var(--fm-olive) !important; }
.fm-pav-beliefs .ct-faq-item .titles { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.2rem) !important; }
.fm-pav-beliefs .ct-faq-item::before, .fm-pav-beliefs .ct-faq-item .ct-faq-icon::before, .fm-pav-beliefs .ct-faq-item .ct-faq-icon::after { color: var(--fm-olive); border-color: var(--fm-olive); }
.fm-pav-beliefs .ct-faq-answer { margin-top: 14px !important; }
.fm-pav-family .grid-panel-title, .fm-pav-family h3, .fm-pav-family h2.titles + * h3 { font-family: var(--fm-serif); font-weight: 300; }

/* About: the catalog essay, a sticky contents rail in terracotta ink */
.fm-about-essay .ct2-lf-toc a[aria-current], .fm-about-essay .ct2-lf-toc a.is-active { color: var(--fm-terra-ink); }
.fm-about-collage img { border-radius: 0; }
.fm-about-faith .question-wrap .titles { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem) !important; }

/* Connect: room index with terracotta numerals; get-involved list numbered 01-04 */
.fm-conn-index .ct2-idx-num, .fm-conn-index [class*="idx-n"] { color: var(--fm-terra-ink) !important; font-family: var(--fm-sans); font-variant-numeric: tabular-nums; }
.fm-conn-index .ct2-idx-title, .fm-conn-index [class*="idx-title"] { font-family: var(--fm-serif) !important; font-weight: 300; }
.fm-conn-involved .features-list { counter-reset: fmn; gap: 0 clamp(40px, 6vw, 100px); }
.fm-conn-involved .features-list .panel { counter-increment: fmn; border-top: 1px solid rgba(238, 233, 223, .3); padding-top: 22px; margin-top: 40px !important; }
.fm-conn-involved .features-list .panel h2::before { content: "0" counter(fmn); display: block; font: 500 15px/1 var(--fm-sans); letter-spacing: .04em; color: var(--fm-stone); margin-bottom: 14px; }
.fm-conn-involved .features-list .panel a.button { color: var(--fm-bone) !important; }
.fm-conn-cta .ct-cta-details, .fm-conn-cta dl { border-color: var(--fm-stone); }

/* Give: one statement in a quiet room */
.fm-give-cta .titles em { color: var(--fm-terra-ink); font-style: italic; }
.fm-give-compare .ct2-cmp-col { min-width: 0; max-width: 100%; border-radius: 0; background: var(--fm-paper); }
.fm-give-compare .ct2-cmp-col li, .fm-give-compare .ct2-cmp-col li * { font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem) !important; font-family: var(--fm-sans); }
.fm-give-compare .ct2-cmp-col .titles { font-size: var(--fm-medium) !important; }

/* Contact: the form as a paper card on bone; location hours as a plain schedule */
.fm-contact-form h2.titles { font-size: clamp(2.2rem, 1.5rem + 2.2vw, 3.8rem) !important; line-height: 1.04; }
.fm-contact-form .right { background: var(--fm-paper); padding: clamp(24px, 3vw, 48px); outline: 1px solid rgba(62, 68, 48, .14); outline-offset: -1px; }
.fm-contact-form .gform_wrapper input, .fm-contact-form .gform_wrapper textarea { border-radius: 0 !important; background: #fff; }
.fm-contact-form .gform_wrapper label, .fm-contact-form .gform_wrapper .gfield_label { color: var(--fm-olive); font-weight: 500; font-size: 16px; }
.fm-contact-map .ct2-loc-hours dt, .fm-contact-map .ct2-loc-hours dd { font: 400 18px/1.5 var(--fm-sans) !important; margin: 0; }
.fm-contact-map .ct2-loc-hours dt { font-weight: 500 !important; min-width: 5.5em; display: inline-block; color: var(--fm-stone); }
.fm-contact-map .ct2-loc-hours dd { display: inline; }
.fm-contact-map .ct2-loc-hours div { display: block; padding: 6px 0; border-top: 1px solid rgba(238, 233, 223, .25); }
.fm-contact-map .ct2-loc-addr, .fm-contact-map .ct2-loc-contact a { font-size: 17px; }
.fm-contact-map .ct2-loc-name { font-family: var(--fm-serif); font-weight: 300; }
.fm-contact-map .ct2-loc-contact { display: none; } /* tel, email and directions repeat below as the button */
.fm-contact-map a.button { color: var(--fm-bone) !important; }
.fm-phone { text-decoration: underline; text-underline-offset: 4px; }

@media only screen and (max-width: 767px) {
	.fm-pav-beliefs .ct-faq-item { padding: 18px 18px !important; }
	.fm-give-compare .ct2-cmp-grid, .fm-give-compare .ct2-compare { grid-template-columns: 1fr !important; }
}
@media only screen and (max-width: 767px) {
	.fm-give-compare .ct2-cmp-col { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
}
/* Welcome band: title sized to its column so it never pushes the page wider at tablet widths */
.fm-pav-welcome h2.titles { font-size: clamp(2rem, 1.2rem + 2.6vw, 4.2rem) !important; line-height: 1.04; overflow-wrap: anywhere; }
.fm-pav-welcome .image-wrapper-square, .fm-pav-welcome .image-wrapper-square img { border-radius: 0; }
.fm-pav-welcome { overflow-x: clip; }
.fm-pav-welcome .screen-reader-text { position: absolute; }
/* Formation Church (Tabor): site-wide fixes, fix round 1 (owned by the core builder). Loaded after tabor-core.css. */

/* 1. Buttons on olive / deep olive bands and heroes stay visible (bone text + bone border) */
.bg-main .button, .bg-main a.button, .bg-main .gform_button, .bg-main input.gform_button,
.bg-fourth .button, .bg-fourth a.button, .bg-fourth .gform_button,
.ct-wrapper.bg-main a.button, .ct-wrapper.bg-fourth a.button { color: var(--fm-bone) !important; border-color: var(--fm-bone) !important; background: transparent !important; }

/* 2. Dark hero buttons are outline buttons too (no filled bone block) */
.ct2-hero.is-dark a.button, .ct2-hero.is-dark .ct2-hero-buttons .button, .ct2-hero a.button.button-white,
.ct2-hero.is-dark a.button:hover, .ct2-hero.is-dark a.button:focus-visible {
	background: transparent !important; background-color: transparent !important; color: var(--fm-bone) !important;
	border: 1px solid var(--fm-bone) !important; box-shadow: none !important; border-radius: 0 !important;
}

/* 3. Gravity Forms on the museum system (Serve, Contact, Events action bar) */
.fm-srv-join .gform_wrapper, .fm-contact-form .gform_wrapper, .ct2-ha-bar .gform_wrapper { font-family: var(--fm-sans); }
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]), select, textarea):not(#gf) {
	font: 400 17px/1.4 var(--fm-sans) !important; border-radius: 0 !important; background: var(--fm-paper) !important;
	border: 1px solid var(--fm-stone) !important; color: var(--fm-olive) !important; padding: 12px 14px !important; box-shadow: none !important;
	height: auto !important; min-height: 50px; width: 100%; box-sizing: border-box; text-overflow: clip;
}
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper :is(input, textarea):not(#gf)::placeholder { color: #6b6e5e; opacity: 1; }
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper :is(input, select, textarea):not(#gf):focus { outline: 2px solid var(--fm-terra); outline-offset: 2px; }
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper :is(.gfield_label, legend.gfield_label, .gfield_label .gform-field-label__text):not(#gf) {
	font: 500 15px/1.3 var(--fm-sans) !important; letter-spacing: .02em; color: var(--fm-olive) !important; margin-bottom: 8px;
}
:is(.fm-srv-join) .gform_wrapper :is(.gfield_label, legend.gfield_label, .gfield_label .gform-field-label__text):not(#gf) { color: var(--fm-bone) !important; }
/* sublabels (First / Last): keep for screen readers, hide visually; placeholders carry the hint */
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper .gform-field-label--type-sub:not(#gf) {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper .gfield_required { color: var(--fm-terra-ink); }
.fm-srv-join .gform_wrapper .gfield_required { color: var(--fm-stone); }
:is(.fm-srv-join, .fm-contact-form, .ct2-ha-bar) .gform_wrapper .gform_required_legend { display: none; }

/* 4. No em dash in the quote credit: the template hard-codes "&mdash;" before quote_by, so quote_by is empty and the credit is a span inside the quote text */
.fm-pav-quote .ct-quote-text .fm-qcredit { display: block; margin-top: 28px; font: 500 15px/1.4 var(--fm-sans); letter-spacing: .04em; color: var(--fm-stone); }

/* Pastor spotlight on About: a square print, light serif name, sentence-case role as a wall label */
.fm-about-pastor .ct-person-photo, .fm-about-pastor .ct-person-card img { border-radius: 0 !important; aspect-ratio: 1; object-fit: cover; width: 100%; height: auto; box-shadow: none !important; }
.fm-about-pastor .ct-person-card, .fm-about-pastor .ct-person-card a { border-radius: 0 !important; }
.fm-about-pastor .ct-person-name { font: 300 clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem)/1.1 var(--fm-serif) !important; letter-spacing: -.02em; color: var(--fm-bone) !important; margin: 18px 0 0; }
.fm-about-pastor .ct-person-role { font: 500 15px/1.4 var(--fm-sans) !important; letter-spacing: .04em !important; text-transform: none !important; color: var(--fm-stone) !important; margin: 10px 0 0; padding-left: 12px; border-left: 1px solid var(--fm-terra); }

/* Pastor card text left-aligned */
.fm-about-pastor .ct-person-card { text-align: left !important; }

/* About collage: framed prints without shadow, wall labels under each */
.fm-about-collage .ct2-cl-img, .fm-about-collage img { box-shadow: none !important; border-radius: 0 !important; }
.fm-about-collage .ct2-cl-cap { display: none !important; } /* the server theme predates migration 033 (captions); wall labels are CSS until it ships */
.fm-about-collage .ct2-cl-img::after { position: absolute; left: 0; bottom: 0; max-width: calc(100% - 12px); padding: 8px 12px; background: var(--fm-paper); border-left: 2px solid var(--fm-terra); font: 400 13px/1.35 var(--fm-sans); color: var(--fm-olive); }
.fm-about-collage .ct2-cl-img-1::after { content: "Prayer after the service. Anyone is welcome."; }
.fm-about-collage .ct2-cl-img-2::after { content: "Adults, the fellowship room. Coffee after the 11 am."; }
.fm-about-collage .ct2-cl-img-3::after { content: "Worship team, rehearsal. Thursday evening."; }

/* Connect: Hover Index numerals in terracotta ink */
.fm-conn-index .ct2-ix-n { color: var(--fm-terra-ink) !important; }

/* Plan A Visit: wall label under the welcome photo ([DRAFT] caption) */
.fm-pav-welcome .left::after { content: "Friends at a table. There is always a seat."; display: block; margin-top: 12px; padding-left: 12px; border-left: 1px solid var(--fm-terra); font: 400 15px/1.45 var(--fm-sans); color: var(--fm-olive); max-width: 34ch; }
.fm-about-collage .ct2-cl-img-1::after { bottom: auto; top: 0; }

/* ===== Fix round 2 ===== */
/* R2-4. Plan a Visit buttons on olive: Corners panel and footer */
.cc-corners-panel .button, .cc-corners-panel a.cc-corners-visit, .footer-right .button, .footer-right a.button, footer .button.desktop { border-color: var(--fm-bone) !important; color: var(--fm-bone) !important; }
/* R2 should 1. Corners panel focus ring readable on olive */
.cc-corners-panel :focus-visible, .cc-corners-panel a:focus-visible, .cc-corners-panel button:focus-visible { outline: 2px solid var(--fm-bone) !important; outline-offset: 3px; }
/* R2 should 2. Required asterisk on olive Serve form */
.fm-srv-join .gform_wrapper .gfield_required, .fm-srv-join .gform_wrapper .gfield_required .gfield_required_text { color: var(--fm-bone) !important; }
/* R2 should 3. Home Quicklinks title + hotspot number: larger and bolder instead of a new color */
body .fm-desk h3.ct-links-title, body .fm-desk .ct-statement-links .small-titles { font-size: 19px !important; font-weight: 700 !important; }
.fm-ministries .ct3-hs-pin .ct3-hs-mark { font-size: 18px; font-weight: 700; }
.fm-close .ct2-mq-sep { color: var(--fm-stone); }
/* R2 must 2. Portrait Card hero (Connect, Serve) on phones: photo stacked above the title, no overlap */
@media only screen and (max-width: 768px) {
	.ct2-hero .ct4-hp-name { margin-top: 24px !important; position: relative; z-index: 2; }
	.ct4-hp-media { margin-bottom: 0; }
}
/* R2 should 4. Messages hero tabs sit on a paper chip */
.ct4-hc-tabs { background: var(--fm-paper); padding: 6px 14px; display: inline-flex; gap: 6px; }
.ct4-hc-tab, .ct4-hc-tab:visited { color: var(--fm-olive) !important; opacity: 1 !important; }
.ct4-hc-tab.is-on { font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
/* R2 should 5. Events action bar is paper, not white */
.ct2-ha-bar-inner { background: var(--fm-paper) !important; }
.ct4-hc-tabs a.ct4-hc-tab, .ct4-hc-tabs a.ct4-hc-tab.is-on, .ct4-hc-tabs a.ct4-hc-tab:hover { color: var(--fm-olive) !important; opacity: 1 !important; }
/* Tabor media group: Messages, Events, Live. Scoped to fm-msg-*, fm-ev-*, fm-live-* and the hero wrappers. */

/* Messages hero (Headline Card): square museum card, no rounded corners */
.ct4-hc { --ct4-r: 0px; }
.ct4-hc-title { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.02em; }
.ct4-hc-notch .button { color: var(--fm-olive) !important; }

/* Messages 1: magazine cover as the gallery's permanent-collection placard */
.fm-msg-cover .ct3-cv-mast { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.03em; color: var(--fm-olive); }
.fm-msg-cover .ct3-cv-frame { color: var(--fm-olive); border-radius: 0; }
.fm-msg-cover .ct3-cv-photo img { border-radius: 0; }
.fm-msg-cover .ct3-cv-text, .fm-msg-cover .ct3-cv-text a { font-family: var(--fm-serif); font-weight: 300; color: var(--fm-olive); }
.fm-msg-cover .ct3-cv-frame { background: var(--fm-paper); }
.fm-msg-cover .ct3-cv-kicker, .fm-msg-cover .ct3-cv-issue { color: var(--fm-terra-ink) !important; }
.fm-msg-cover .ct3-cv-mast { text-transform: none; }
.fm-msg-cover .ct3-cv-msgtitle { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.02em; }

/* Messages 2: level grid, square thumbs, serif titles */
.fm-msg-grid img { border-radius: 0 !important; }
.fm-msg-grid h3, .fm-msg-grid .grid-title { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.02em; }

/* Messages 3: series as matted prints on olive */
.fm-msg-series .ct4-sr-img { border-radius: 0; background: var(--fm-paper); padding: clamp(8px, 1.2cqi, 18px); }
.fm-msg-series .ct4-sr-img img { position: static; width: 100%; height: 100%; object-fit: cover; }
.fm-msg-series .ct4-sr-title { font-family: var(--fm-serif); font-weight: 300; font-size: clamp(2rem, 1.4rem + 1.6vw, 3.4rem) !important; overflow-wrap: anywhere; hyphens: auto; }
.fm-msg-series .ct4-sr-index, .fm-msg-series .ct4-sr-label { color: var(--fm-stone); opacity: 1; }
.fm-msg-series .ct4-arrow-link { color: var(--fm-bone); }

/* Events hero: action bar, square */
.ct2-ha-bar-inner, .ct2-ha-bar input, .ct2-ha-bar .gform_button { border-radius: 0 !important; }
.ct2-hero-title { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.02em; }

/* Events: agenda + calendar + lineup in the museum voice */
.fm-ev-weekly .ct3-agenda, .fm-ev-weekly .ct3-agenda * { border-radius: 0; }
.fm-ev-weekly .ct3-ag-time, .fm-ev-weekly .ct3-ag-title { font-family: var(--fm-serif); font-weight: 300; }
.fm-ev-calendar [class*="ct-ec"] { border-radius: 0; }
.fm-ev-calendar h3, .fm-ev-calendar .ct-ec-title { font-family: var(--fm-serif); font-weight: 300; }
.fm-ev-lineup .ct3-lineup, .fm-ev-lineup [class*="ct3-lu"] { font-family: var(--fm-serif); font-weight: 300; letter-spacing: -.02em; }
.fm-ev-lineup .ct3-lu-date { font-family: var(--fm-sans); font-weight: 500; font-size: 15px; letter-spacing: .04em; color: var(--fm-stone); }
.fm-ev-lineup a { color: var(--fm-bone); }

/* Live: the screening room. Player in a paper mat on olive */
.fm-live-player .ct-ls-stage { background: var(--fm-paper); padding: clamp(10px, 2.2vw, 36px); box-sizing: border-box; }
.fm-live-player .ct-ls-line { color: var(--fm-olive) !important; }
.fm-live-player .ct-ls-frame { background: transparent; outline: 0; padding: 0; margin: 0; box-sizing: border-box; border-radius: 0; box-shadow: none; }
.fm-live-player .ct-ls-frame iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 0; }
.fm-live-player .ct-ls-off { border-radius: 0; }
.fm-live-player .ct-ls-off, .fm-live-player .ct-ls-off * { border-radius: 0; }
.fm-live-player .fm-sample { font-size: 15px !important; color: var(--fm-stone); border-left: 1px solid var(--fm-terra); padding-left: 12px; }
.fm-live-player .ct-ls-line { font-family: var(--fm-sans); letter-spacing: .04em; }
.fm-live-desk .fm-desk-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .fm-live-desk .fm-desk-facts { grid-template-columns: 1fr; } }

/* Events hero: outline button reads on the photo; compact sign-up bar */
.ct2-ha-copy .button, .ct2-ha-copy a.button { color: var(--fm-bone) !important; border-color: var(--fm-bone) !important; }
.ct2-ha-bar input[type="text"], .ct2-ha-bar input[type="email"] { font: 400 17px var(--fm-sans) !important; padding: 12px 14px !important; height: auto !important; }
.ct2-ha-bar .gfield_label, .ct2-ha-bar label, .ct2-ha-bar .ginput_container + label { font: 400 14px var(--fm-sans) !important; }

/* Live hero: keep the wall label clear of the bottom-right corner chip */
.cc-plaque-bottom-right .cc-plaque-label { bottom: 64px !important; }
@media (max-width: 767px) { .cc-plaque-bottom-right .cc-plaque-label { bottom: auto !important; } }

/* Messages grid titles never push the row wider than the screen */
.fm-msg-grid .titles.medium, .fm-msg-grid .titles.medium a { overflow-wrap: anywhere; hyphens: auto; font-size: clamp(1.4rem, 1rem + 1.1vw, 2.4rem) !important; }

/* Fix round 1 */
.fm-msg-series .ct4-sr-small { display: none !important; }
.fm-msg-grid .grid-date, .fm-msg-grid .date, .fm-msg-grid [class*="date"] { font: 500 15px/1.3 var(--fm-sans) !important; letter-spacing: .04em; text-transform: none; color: var(--fm-stone-ink, var(--fm-stone)); }
.fm-ev-weekly .ct3-ag-tag, .fm-ev-weekly [class*="ag-tag"] { text-transform: none; letter-spacing: .04em; }
.fm-ev-weekly [class*="tab"] { background: none !important; border-radius: 0; border: 0; border-bottom: 1px solid transparent; }
.fm-ev-weekly [class*="tab"][aria-selected="true"], .fm-ev-weekly [class*="tab"].is-active, .fm-ev-weekly [class*="tab"].active { border-bottom-color: currentColor; color: var(--fm-olive); }
.fm-live-player .ct-ls-off [class*="label"], .fm-live-player .ct-ls-off [class*="kicker"], .fm-live-player .ct-ls-off [class*="eyebrow"], .fm-live-player .ct-ls-off [class*="next"], .fm-live-player .ct-ls-off dt, .fm-live-player .ct-ls-off small { font: 500 15px var(--fm-sans) !important; text-transform: none !important; letter-spacing: .04em !important; }
.fm-live-person .ct-buttons { gap: 16px; }
.fm-live-player .ct-ls-week-k, .fm-live-player .ct-ls-next-k { font: 500 15px var(--fm-sans) !important; text-transform: none !important; letter-spacing: .04em !important; }
.fm-ev-weekly .ct3-ag-track { text-transform: none !important; letter-spacing: .04em; font: 500 15px var(--fm-sans); }
.fm-ev-weekly .ct3-ag-tabs button { background: none !important; border: 0 !important; border-bottom: 1px solid transparent !important; border-radius: 0 !important; color: var(--fm-olive) !important; }
.fm-ev-weekly .ct3-ag-tabs button[aria-selected="true"], .fm-ev-weekly .ct3-ag-tabs button.is-active, .fm-ev-weekly .ct3-ag-tabs button[aria-pressed="true"] { border-bottom-color: var(--fm-olive) !important; }

/* Round 3: Messages hero tab bar is the bottom edge of the card, joined to the notch */
.ct4-hc-bottom { display: flex !important; align-items: stretch !important; gap: 0 !important; column-gap: 0 !important; }
.ct4-hc-bottom .ct4-hc-tabs { flex: 1 1 auto; display: flex; align-items: center; gap: 22px; margin: 0 !important; padding: 0 24px !important; background: var(--fm-bone) !important; min-height: 100%; }
/* Formation (Tabor) ministry pages: Kids, Students, College, Adults, Baptism, Serve. Scoped to .fm-kids-* .fm-stu-* .fm-col-* .fm-adu-* .fm-bap-* .fm-srv-* and the owned page IDs. */

/* Offset heroes: text stays off the photo (museum rule) on College 2758 */
@media only screen and (min-width: 1025px) {
	.page-id-2758 .ct2-ho.ct2-img-left .ct2-ho-copy, .page-id-2761 .ct2-ho.ct2-img-right .ct2-ho-copy { margin-left: 0; margin-right: 0; padding-inline: clamp(32px, 4vw, 80px); }
}
/* Small "Connect" eyebrow on the deep olive Baptism hero */
.page-id-2761 .ct2-hero .ct2-hero-eyebrow, .page-id-2761 .ct2-hero .ct2-hero-eyebrow a { color: var(--fm-stone) !important; }
.page-id-2761 .ct2-hero .ct2-hero-title span { opacity: 1 !important; }

/* Students: Wednesday opening on olive; the clock is set like a gallery date */
.fm-stu-open .ct3-cd-where { font: 500 17px var(--fm-sans); letter-spacing: .04em; color: var(--fm-stone); }
.fm-stu-open .ct3-cd-l { font: 500 15px var(--fm-sans) !important; text-transform: none !important; letter-spacing: .04em !important; }
.fm-stu-open .ct3-cd-n { font-family: var(--fm-serif) !important; font-weight: 200 !important; }

/* Adults: sample quotes in light serif on olive */
.fm-adu-voices .ct3-rv-lead-text { font: 300 clamp(1.8rem, 1.2rem + 2vw, 3rem)/1.15 var(--fm-serif) !important; letter-spacing: -.01em; max-width: 24ch; }
.fm-adu-voices .ct3-rv-small blockquote p { font: 300 clamp(1.3rem, 1.1rem + .8vw, 1.8rem)/1.3 var(--fm-serif) !important; }
.fm-adu-voices .ct3-rv-name { font: 500 17px var(--fm-sans); color: var(--fm-bone); }
.fm-adu-voices .ct3-rv-meta { display: block; font: 400 15px var(--fm-sans); color: var(--fm-stone); margin-top: 4px; padding-left: 12px; border-left: 1px solid var(--fm-terra); }

/* Serve: the sequence is a hang, not full-bleed walls. Images stay on the content width, cropped wide, wall-label captions beneath */
.fm-srv-teams .ct2-sc-sequence .ct2-sc-item:nth-child(3n+1) { width: auto; margin-left: 0; }
.fm-srv-teams .ct2-sc-item img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.fm-srv-teams .ct2-sc-item:nth-child(3n+1) img { aspect-ratio: 21 / 9; }
.fm-srv-teams .ct2-sc-items { gap: clamp(32px, 4vw, 60px) clamp(16px, 2vw, 32px); }
.fm-srv-teams .ct2-sc-item figcaption { justify-content: flex-start; flex-direction: column; gap: 4px; padding: 0 0 0 12px; margin-top: 14px; border-left: 1px solid var(--fm-terra); }
.fm-srv-teams .ct2-sc-title { font: 300 italic clamp(1.4rem, 1.1rem + .8vw, 1.9rem)/1.2 var(--fm-serif) !important; }
.fm-srv-teams .ct2-sc-meta { font: 400 15px/1.45 var(--fm-sans); color: var(--fm-olive); max-width: 40ch; }
.fm-srv-join .gform_wrapper label, .fm-srv-join .gfield_label { color: var(--fm-bone) !important; font: 500 15px var(--fm-sans) !important; }
.fm-srv-join select { max-width: 100%; text-overflow: ellipsis; }

/* Reveal: titles only, via framework Expressive. Motion off for reduced-motion users */
@media (prefers-reduced-motion: reduce) { .fm-stu-open * { animation: none !important; } }

/* No sideways scroll from drifting images or the form's captcha frames */
.ct-wrapper[class*="fm-kids-"], .ct-wrapper[class*="fm-stu-"], .ct-wrapper[class*="fm-col-"], .ct-wrapper[class*="fm-adu-"], .ct-wrapper[class*="fm-bap-"], .ct-wrapper[class*="fm-srv-"] { overflow-x: clip; }
@media only screen and (min-width: 768px) {
	.fm-srv-teams .ct2-sc-sequence .ct2-sc-items { grid-template-columns: 1fr 1fr; }
	.fm-srv-teams .ct2-sc-item:nth-child(3n+1) { grid-column: 1 / -1; }
}
.fm-srv-teams .ct2-sc-meta { text-align: left; }

/* ===== Fix round 1 ===== */
/* Kids: times on a paper card (olive text); numerals outrank the title */
.fm-kids-times .ct2-num-value { font-family: var(--fm-serif) !important; font-weight: 200 !important; letter-spacing: -.04em; line-height: .95; font-size: clamp(5rem, 2rem + 9vw, 11rem) !important; }
.fm-kids-times .ct2-num-label { font: 500 24px/1.3 var(--fm-sans) !important; letter-spacing: .02em; }
.fm-kids-times .ct2-num-copy { background: var(--fm-paper); color: var(--fm-olive); padding: clamp(28px, 3.4vw, 48px); }
.fm-kids-times .ct2-num-copy .titles, .fm-kids-times .ct2-num-copy .wysiwyg, .fm-kids-times .ct2-num-copy .wysiwyg p { color: var(--fm-olive) !important; font-size: 1.1875rem !important; line-height: 1.6; }
.fm-kids-times .ct2-num-copy .titles { font-size: var(--fm-medium) !important; line-height: 1.1; }
.fm-kids-times .ct2-num-copy .button { color: var(--fm-olive) !important; border-color: var(--fm-olive) !important; background: transparent !important; font-size: 17px !important; }

/* Students: inset of the two split bands matches the 200px content inset */
@media only screen and (min-width: 1101px) {
	.fm-stu-care .image-split-wrap .right { padding-left: var(--fm-gutter) !important; padding-right: clamp(32px, 4vw, 80px) !important; box-sizing: border-box; }
	.fm-stu-faith .image-split-wrap .right { padding-right: var(--fm-gutter) !important; padding-left: clamp(32px, 4vw, 80px) !important; box-sizing: border-box; }
}

/* College: editorial columns hang from column 5, italic serif drop cap */
@media only screen and (min-width: 1025px) {
	.fm-col-notes .ct2-columns { margin-left: calc(4 / 12 * 100%); max-width: none !important; width: auto; }
	.fm-col-notes .ct2-cols-body { column-gap: 64px !important; max-width: none !important; }
}
.fm-col-notes .ct2-columns.has-dropcap .ct2-cols-body > p:first-child::first-letter { font-family: var(--fm-serif); font-style: italic; font-weight: 300; color: var(--fm-terra-ink); }
.fm-col-stone .ct2-buttons .button { color: var(--fm-olive); border-color: var(--fm-olive); }

/* Adults: the intro button aligns with the hung paragraph */
@media only screen and (min-width: 1025px) { .fm-adu-intro .div-within-section > div > .marg-t-20 { width: min(100%, 638px); margin-inline: auto; } }

/* Baptism hero: matted landscape print with a wall label */
.page-id-2761 .ct2-ho-media { background: var(--fm-paper); padding: 16px; overflow: visible; position: relative; }
.page-id-2761 .ct2-ho-media img { display: block; width: 100%; }
.page-id-2761 .ct2-ho-media::after { content: "Baptism day at Formation Church"; display: block; margin-top: 14px; padding-left: 12px; border-left: 1px solid var(--fm-terra); font: 500 15px/1.3 var(--fm-sans); letter-spacing: .04em; color: var(--fm-bone); background: transparent; position: absolute; left: 0; top: 100%; }
.page-id-2761 .ct2-hero { padding-bottom: 40px; }

/* Baptism: pathway as three paper cards, filled width, serif step titles, quiet text links */
.fm-bap-steps .ct3-pw-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); width: 100%; }
.fm-bap-steps .ct3-pw-card { background: var(--fm-paper) !important; color: var(--fm-olive); padding: 0 !important; display: flex; flex-direction: column; box-shadow: none !important; height: auto; }
.fm-bap-steps .ct3-pw-img { flex: none; }
.fm-bap-steps .ct3-pw-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.fm-bap-steps .ct3-pw-copy { padding: clamp(24px, 2.4vw, 36px); display: flex; flex-direction: column; gap: 14px; flex: 1; }
.fm-bap-steps .ct3-pw-copy h3, .fm-bap-steps .ct3-pw-copy .titles { color: var(--fm-olive) !important; font: 300 clamp(1.75rem, 1.4rem + 1.2vw, 2.75rem)/1.1 var(--fm-serif) !important; margin: 0; }
.fm-bap-steps .ct3-pw-copy p { color: var(--fm-olive) !important; font-size: 1.0625rem !important; margin: 0; }
.fm-bap-steps .ct3-pw-link { margin-top: auto; font: 500 16px var(--fm-sans) !important; color: var(--fm-terra-ink) !important; text-decoration: underline; text-underline-offset: 4px; background: none !important; border: 0 !important; padding: 0 !important; }
@media (max-width: 900px) { .fm-bap-steps .ct3-pw-results { grid-template-columns: 1fr; } }

/* Serve hero: eyebrow, H1, tagline, link (desktop); tagline in light italic serif */
.page-id-2762 .ct2-hero .ct4-hp-lead { font: 300 italic 28px/1.3 var(--fm-serif) !important; letter-spacing: -.005em; max-width: 20em; }
@media only screen and (min-width: 1025px) {
	.page-id-2762 .ct4-hp-side, .page-id-2762 .ct4-hp-top, .page-id-2762 .ct4-hp-bottom { display: contents; }
	.page-id-2762 .ct4-hp { grid-template-rows: 1fr auto auto auto auto; }
	.page-id-2762 .ct4-hp-media { grid-row: 1 / 6; }
	.page-id-2762 .ct4-hp .ct2-hero-eyebrow { grid-column: 1 / 7; grid-row: 2; align-self: end; margin: 0 0 16px; }
	.page-id-2762 .ct2-hero .ct4-hp-name { grid-column: 1 / 8; grid-row: 3; align-self: start; margin: 0; }
	.page-id-2762 .ct2-hero .ct4-hp-lead { grid-column: 1 / 7; grid-row: 4; margin-top: 18px; }
	.page-id-2762 .ct4-hp-link { grid-column: 1 / 7; grid-row: 5; justify-self: start; margin-top: 18px; }
}
/* Serve hero below desktop: eyebrow directly above the H1, then tagline and link */
@media only screen and (max-width: 1024px) {
	.page-id-2762 .ct4-hp-side, .page-id-2762 .ct4-hp-top, .page-id-2762 .ct4-hp-bottom { display: contents; }
	.page-id-2762 .ct4-hp { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
	.page-id-2762 .ct4-hp-media { grid-column: 1; grid-row: 1; }
	.page-id-2762 .ct4-hp .ct2-hero-eyebrow { grid-column: 1; grid-row: 2; margin: 24px 0 16px; }
	.page-id-2762 .ct2-hero .ct4-hp-name { grid-column: 1; grid-row: 3; margin: 0 !important; }
	.page-id-2762 .ct2-hero .ct4-hp-lead { grid-column: 1; grid-row: 4; margin-top: 18px; }
	.page-id-2762 .ct4-hp-link { grid-column: 1; grid-row: 5; justify-self: start; margin-top: 18px; }
}

/* Serve teams: real grid so the two middle teams share a row */
.fm-srv-teams .ct2-sc-sequence .ct2-sc-items { display: grid; }
.fm-srv-teams .ct2-sc-sequence .ct2-sc-item { width: auto !important; display: block; margin-left: 0 !important; }
@media only screen and (max-width: 767px) { .fm-srv-teams .ct2-sc-sequence .ct2-sc-items { grid-template-columns: 1fr; } }

/* Baptism: marker statement is the one loud sentence */
.fm-bap-statement .ct2-stm-text, .fm-bap-statement .ct2-stm-text p { font: 300 clamp(1.8rem, 1.1rem + 2.4vw, 3.4rem)/1.18 var(--fm-serif) !important; letter-spacing: -.015em; max-width: 30ch; }
.fm-bap-statement strong { font-weight: 300; font-style: italic; }
@media only screen and (max-width: 1024px) { .page-id-2761 .ct2-ho-media { margin-bottom: 52px; } }
