/*
	Theme Name: w32026
	Theme URI: https://w3nerds.com
	Description: Theme designed for client
	Version: 1.1
	Author: w3 Global Solutions
	Author URI: https://w3nerds.com
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
/*------------------------------------*\
    BASE — variables, reset, base typography
\*------------------------------------*/
*,
*:after,
*:before {
	box-sizing:border-box;
	text-rendering:optimizeLegibility;
	margin:0;
}
:root {
	/* BRAND */
	--color-1:            #0A1E3C;   /* navy — primary brand (header, footer, dark sections) */
	--color-2:            #B3202E;   /* red — CTAs, rule bars, card borders, action colour */
	--color-3:            #C6A052;   /* gold — heading <u> highlight, warm accent on dark */
	--color-4:            #FBF9F5;   /* cream — page background, alt surfaces */
	--color-5:            #5A6675;   /* muted — secondary / prose text */
	--color-6:            #FFFFFF;   /* paper — card bg, form bg, white sections */
	/* GREYS */
	--greyZero:           #FBF9F5;   /* lightest surface (same as cream) */
	--greyOne:            #E3E1DA;   /* borders and dividers */
	--greyTwo:            #bfbfbf;
	--greyThree:          #5A6675;   /* matches --muted */
	--greyFour:           #16202E;   /* body ink */
	--greyFive:           #0A1E3C;   /* deepest — matches navy */
	/* FONTS */
	--font-title:         'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-sm-title:      'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-text-strong:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-text-regular:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-text-italic:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-nav:           'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-cta:           'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	/* LAYOUT */
	--nav-offset:         91px;      /* sticky nav height (72 min-height + 18 padding + 1 border); sticky sidebars sit below it */
}
html {
	font-size: 100%;
}

body {
	font-family: var(--font-text-regular), serif;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--greyFour);
	background-color: var(--color-4);
	text-align: left;
}

img {
	vertical-align: bottom;
	width: auto;
	height: auto;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

a:hover {
	color: var(--color-2);
}

/* focus ring for keyboard navigation only — mouse clicks don't trigger it */
a:focus {
	outline: 0;
}

a:focus-visible {
	outline: 2px solid var(--color-2);
	outline-offset: 2px;
}

button {
	cursor: pointer;
}

input:focus {
	outline: 0;
	border: 1px solid var(--color-2);
}

textarea {
	outline-color: var(--color-2);
}

p {
	font-size: 1.0625rem;
	line-height: 1.65;
	font-family: var(--font-text-regular), serif;
	color: var(--greyFour);
}

ul,
ol {
	font-size: 1.0625rem;
	line-height: 1.65;
	padding: 0;
	margin: 0;
}

ul li,
ol ul li {
	text-align: left;
	list-style: none;
	font-size: 1rem;
	line-height: 1.6;
	padding: 4px 0;
}

ol li,
ul ol li {
	list-style: decimal;
	text-align: left;
	font-size: 1rem;
	line-height: 1.6;
	padding: 4px 0 4px 4px;
}

ol li::marker,
ul ol li::marker {
	font-family: var(--font-text-strong), serif;
}

ul li h4,
ol li h4,
ul ol li h4 {
	padding-bottom: 4px;
}

h1,
h2.xlg-title,
h3.xlg-title,
h4.xlg-title,
h5.xlg-title,
.xlg-title {
	color: var(--color-1);
	font-family: var(--font-title), serif;
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	margin: 0;
	text-decoration: none;
}

h2,
h1.lg-title,
h3.lg-title,
h4.lg-title,
h5.lg-title,
.lg-title {
	color: var(--color-1);
	font-family: var(--font-title), serif;
	font-size: clamp(30px, 4.2vw, 46px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	margin: 0;
}

h3,
h1.med-title,
h2.med-title,
h4.med-title,
h5.med-title,
.med-title {
	color: var(--color-1);
	font-family: var(--font-title), serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	margin: 0;
}

h4,
h1.sm-title,
h2.sm-title,
h3.sm-title,
h5.sm-title,
.sm-title {
	color: var(--color-1);
	font-family: var(--font-title), serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

h5,
h1.xsm-title,
h2.xsm-title,
h3.xsm-title,
h4.xsm-title,
.xsm-title {
	color: var(--color-1);
	font-family: var(--font-title), serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

h1 u, h2 u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -24px 0 0 var(--color-3);
	padding: 0 4px;
}

h3 u, h4 u, h5 u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -14px 0 0 var(--color-3);
	padding: 0 4px;
}

strong,
b,
table th {
	font-weight: 700;
	font-family: var(--font-text-strong), serif;
}

svg {
	vertical-align: middle;
	width: 25px;
	height: 25px;
	fill: #000;
}

i {
	font-style: italic;
	font-family: var(--font-title), serif;
}

blockquote {
	padding: 6px 0 6px 26px;
	margin: 34px 0;
	font-family: var(--font-title), serif;
	font-size: clamp(1.3rem, 2.6vw, 1.75rem);
	line-height: 1.42;
	color: var(--color-1);
	border-left: 3px solid var(--color-2);
}

section {
	/*contains a wrapper and std-padding*/
	background-position: center;
	background-size: cover;
	width: 100%;
	padding: 88px 20px;
	position: relative;
}

section.no-padding {
	padding: 0;
}

section.large {
	max-width: 1920px;
	margin: 0 auto;
}

section.landing {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

body.terms-of-service section:first-of-type,
body.privacy-policy section:first-of-type {
	background-image: none;
}

.wrapper {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
}

.wrapper.large {
	max-width: 1920px;
}

.wrapper.small {
	max-width: 1000px;
}

.wrapper.xsmall {
	max-width: 750px;
}

.std-padding {
	padding: 75px 20px;
}

.less-padding {
	padding: 40px 15px;
}

.grey {
	background-color: var(--greyZero);
}

.object-fit {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.align-left {
	float: left;
	padding: 0;
	margin: 0 12px 2px 0;
}

.align-right {
	float: right;
	padding: 0;
	margin: 0 0 2px 12px;
}

@media only screen and (max-width:900px) {
	.stopFloatOnTablet {
		float: none;
		display: block;
		margin: 12px auto;
	}
}

@media only screen and (max-width:640px) {
	.stopFloatOnMobile {
		float: none;
		display: block;
		margin: 12px auto;
	}
}

@media only screen and (max-width:399px) {

	.align-left,
	.align-right {
		float: none;
		display: block;
		margin: 12px auto;
	}
}

ul.list {
	overflow: hidden;
	list-style: none;
	text-align: left;
	padding: 15px 10px;
	margin: 0 0 0 40px;
}

ul.list li {
	float: left;
	display: inline;
	width: 33%;
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 5px 50%;
	font-size: 18px;
	line-height: 24px;
	padding: 15px 10px 15px 50px;
}
ul.list.one-col li {
	width: 100%;
}

@media only screen and (max-width:900px) {
	ul.list {
		margin: 0;
		padding: 10px 5px;
	}

	ul.list li {
		width: 50%;
	}
}

@media only screen and (max-width:640px) {
	ul.list {
		padding: 10px 0px;
	}

	ul.list li {
		font-size: 16px;
		background-size: 20px;
		padding: 10px 10px 10px 30px;
	}
}

@media only screen and (max-width:390px) {
	ul.list li {
		width: 100%;
	}
}

iframe {
	display: block;
	width: 100%;
	margin: 0 auto;
	border: 0;
}

.parallax {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
}
/* WCAG 2.4.1 Skip Navigation Link */
.screen-reader-text,
.skip-link,
.skip-to-content-link {
	position: absolute;
	top: -9999px;
	left: -9999px;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.screen-reader-text:focus,
.skip-link:focus,
.skip-to-content-link:focus {
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	clip: auto;
	background: #ffffff;
	color: #000000;
	padding: 8px 16px;
	z-index: 999999;
	border: 2px solid #000000;
	text-decoration: none;
}
#loader {
	left: 50%;
	top: 50%;
	position: fixed;
	transform: translate(-50%, -50%);
	border: 12px solid #f3f3f3; /* Light grey */
	border-top: 12px solid #3498db; /* Blue */
	border-radius: 50%;
	width: 90px;
	height: 90px;
	animation: spin 2s linear infinite;
	z-index:999;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
p#noscript {
	background-color:red;
	color:white;
	text-align:center;
	width:100%;
}
a#w3 {
	background-color:transparent;
	background: transparent url(img/w3nerds-logo-web.png) no-repeat;
	background-position: 10% 50%;
	color:#fff;
	display: inline-block;
	font-family: 'opensans-regular', sans-serif;
	font-size: 13px;
	line-height: 22px;
	margin: 10px;
	padding: 10px;
	padding-left: 82px;
	text-align: right;
	transition-duration: 0.8s;
	text-decoration: none;
	width: 180px;
	height: 90px;
}
a#w3:hover {
	background-color: #fff;
	box-shadow: 15px 15px 0px -10px #4285f4, -15px -15px 0px -10px #fcc934, 5px -5px #ff5252, -5px 5px #34a853;
	color:#151515;
}
.success {
	padding:12px 20px;
	text-align: left;
	color:#fff;
	font-weight:bold;
	font-size:16px;
	background:green;
	position: relative;
	z-index: 9999;
}
.success a {
	color:#ccc;
}
.error, .form-error-container, .error-container {
	padding:12px 20px;
	text-align: left;
	font-size: 16px;
	color:#fff;
	background:red;
	position: relative;
	z-index: 9999;
}
.error span,
 .error a {
	vertical-align: middle !important;
}
.inputError {
	background-color:rgb(249,213,212) !important;
}
/*------------------------------------*\
	STRUCTURE
\*------------------------------------*/
table, table tr.even, table tr.alt, table tr:nth-of-type(even) {background: none;border:0;}
div.table,div.table-noresponse{display:table;width:100%}div.table div.tableRow,div.table-noresponse div.tableRow-noresponse{display:table-row;width:100%}div.table div.tableRow div.tableCell,div.table-noresponse div.tableRow-noresponse div.tableCell-noresponse{display:table-cell;vertical-align:middle}
.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}
@media only screen and (min-width: 640px){.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}}
@media only screen and (min-width: 1024px){.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}}
.flex-container{/*https://www.w3schools.com/css/css3_flexbox.asp*/display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.flex-container.centerItems{align-items:center}.flex-container.col{flex-direction:column}.flex-container .flex-block{display:block;width:25%;transition-duration:0.8s}.flex-container .flex-block.one-eighth{width:12.5%}.flex-container .flex-block.one-third{width:33.33%}.flex-container .flex-block.one-half{width:50%}.flex-container .flex-block.two-thirds{width:66.66%}.flex-container .flex-block.three-quarters{width:75%}.flex-container .flex-block.full{width:100%}.flex-container .flex-block.noResponse{width:25%!important}.flex-container .flex-block.one-eighth.noResponse{width:12.5%!important}.flex-container .flex-block.one-third.noResponse{width:33.33%!important}.flex-container .flex-block.one-half.noResponse{width:50%!important}.flex-container .flex-block.two-thirds.noResponse{width:66.66%!important}.flex-container .flex-block.three-quarters.noResponse{width:75%!important}.flex-container .flex-block.full.noResponse{width:100%!important}@media only screen and (max-width:900px){.flex-container.reverseOnTablet{flex-direction:column-reverse}.flex-container .flex-block.one-half,.flex-container .flex-block.two-thirds,.flex-container .flex-block.three-quarters,.flex-container .flex-block.fullOnTablet,.flex-container .flex-block.one-third.fullOnTablet{width:100%}.flex-container .flex-block,.flex-container .flex-block.one-third,.flex-container .flex-block.one-half.lateResponse{width:50%}.flex-container .flex-block.one-eighth{width:25%}}@media screen and (max-width:640px){.flex-container.reverseOnMobile{flex-direction:column-reverse}.flex-container .flex-block,.flex-container .flex-block.one-third,.flex-container .flex-block.two-thirds,.flex-container .flex-block.one-half.lateResponse{width:100%}.flex-container .flex-block.one-eighth,.flex-container .flex-block.lateResponse,.flex-container .flex-block.one-third.lateResponse{width:50%}.flex-container .flex-block.one-eighth.lateResponse{width:25%}}@media screen and (max-width:390px){.flex-container .flex-block.one-eighth,.flex-container .flex-block.lateResponse,.flex-container .flex-block.one-eighth.lateResponse,.flex-container .flex-block.one-third.lateResponse{width:100%}}

/*------------------------------------*\
    HEADER
\*------------------------------------*/
.announcement-bar {
	background-color: var(--color-1);
	color: #fff;
	text-align: center;
}
.announcement-bar p {
	padding: 10px;
	text-align: center;
	color: #fff;
}
.announcement-bar a {
	font-family: var(--font-text-strong), 'opensans-bold', serif;
	text-decoration: underline;
	transition-duration: 0.3s;
	color: var(--color-1);
}
.announcement-bar a:hover {
	color: var(--color-4);
}
/* --- topbar (verse + phone/address) --- */
.topbar {
	background-color: var(--color-1);
	color: rgba(255,255,255,.82);
	font-size: 12px;
	line-height: 1;
}
.topbar .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 32px;
	padding: 0 24px;
}
.topbar .topbar-verse {
	font-family: var(--font-title), serif;
	font-style: italic;
	font-size: 12.5px;
	color: rgba(255,255,255,.9);
}
.topbar .topbar-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--font-text-regular), serif;
	letter-spacing: .02em;
}
.topbar .topbar-meta a {
	color: rgba(255,255,255,.82);
	transition: color .18s;
	padding: 18px 0;
}
.topbar .topbar-meta a:hover {
	color: #F0B7BC;
}

/* --- red/navy rule under the topbar --- */
.header-stripe {
	height: 3px;
	background: linear-gradient(90deg, var(--color-2) 0 66.6%, var(--color-1) 66.6% 100%);
}

/* --- main nav --- */
nav.main-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #fff;
	border-bottom: 1px solid var(--greyOne);
	padding: 9px 0;
}
nav.main-nav .wrapper {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 72px;
	padding: 0 24px;
	position: relative;
}

/* brand */
nav.main-nav .brand {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-shrink: 0;
	color: var(--color-1);
}
nav.main-nav .brand img {
	width: 38px;
	height: 38px;
	border-radius: 50%;
}
nav.main-nav .brand-name {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
nav.main-nav .brand-name b {
	font-family: var(--font-title), serif;
	font-size: 17px;
	font-weight: 600;
	color: var(--color-1);
}
nav.main-nav .brand-sub {
	margin-top: 3px;
	font-family: var(--font-text-regular), serif;
	font-size: 9.8px;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* links */
nav.main-nav ul.nav-links {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0 0 0 auto;
}
nav.main-nav ul.nav-links > li {
	position: relative;
	padding: 0;
	font-size: inherit;
}
nav.main-nav ul.nav-links > li > a {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 26px 10px;
	font-family: var(--font-nav), serif;
	font-size: 15px;
	line-height: 1;
	color: var(--greyFour);
	transition: color .18s;
}
nav.main-nav ul.nav-links > li > a:hover,
nav.main-nav ul.nav-links > li:hover > a,
nav.main-nav ul.nav-links > li > a.current-page {
	color: var(--color-2);
}
nav.main-nav ul.nav-links a.caret::after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: 1.25px solid currentColor;
	border-bottom: 1.25px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .18s;
}
nav.main-nav ul.nav-links > li:hover > a.caret::after,
nav.main-nav ul.nav-links > li:focus-within > a.caret::after {
	transform: translateY(1px) rotate(-135deg);
}

/* dropdowns */
nav.main-nav ul.drop {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 210px;
	padding: 8px 0;
	background: #fff;
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	box-shadow: 0 12px 28px rgba(10,30,60,.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s, transform .18s, visibility .18s;
}
nav.main-nav ul.nav-links > li:hover > ul.drop,
nav.main-nav ul.nav-links > li:focus-within > ul.drop {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
nav.main-nav ul.drop li {
	padding: 0;
}
nav.main-nav ul.drop a {
	display: block;
	padding: 9px 18px;
	font-size: 13.5px;
	color: var(--greyFour);
	white-space: nowrap;
	transition: background .18s, color .18s;
}
nav.main-nav ul.drop a:hover,
nav.main-nav ul.drop a.current-page {
	background: var(--color-4);
	color: var(--color-2);
}

/* CTA buttons (override the global .cta arrow style) */
nav.main-nav .nav-cta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
nav.main-nav .nav-cta .cta,
nav.main-nav .nav-cta .cta:hover {
	margin: 0;
	padding: 16px 18px;
	background-image: none;
	border-radius: 2px;
	box-shadow: none;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}
nav.main-nav .nav-cta .cta {
	background-color: var(--color-2);
	border: 1.5px solid var(--color-2);
	color: #fff;
}
nav.main-nav .nav-cta .cta:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: #fff;
}
nav.main-nav .nav-cta .cta.secondary {
	background-color: #fff;
	border-color: var(--color-1);
	color: var(--color-1);
}
nav.main-nav .nav-cta .cta.secondary:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: #fff;
}

/* mobile menu (hidden on desktop) */
nav.main-nav details.menu-toggle {
	display: none;
}
nav.main-nav details.menu-toggle > summary {
	list-style: none;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	padding: 8px 10px;
	color: var(--color-1);
	border: 1px solid var(--greyOne);
	border-radius: 2px;
}
nav.main-nav details.menu-toggle > summary::-webkit-details-marker {
	display: none;
}
/* direct child only: the menu groups inside the open panel are details.menu-group summaries too, and must not get the open Menu button's solid fill */
nav.main-nav details.menu-toggle[open] > summary {
	background: var(--color-1);
	border-color: var(--color-1);
	color: #fff;
}
nav.main-nav .menu-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	max-height: calc(100vh - 72px);
	overflow-y: auto;
	padding: 8px 24px 24px;
	background: #fff;
	border-top: 3px solid var(--color-2);
	box-shadow: 0 16px 30px rgba(10,30,60,.15);
}
nav.main-nav .menu-panel h5 {
	margin: 18px 0 6px;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-2);
}
nav.main-nav .menu-panel a {
	display: block;
	padding: 9px 0;
	font-size: 15px;
	color: var(--greyFour);
	border-bottom: 1px solid var(--greyOne);
}

@media only screen and (max-width: 1100px) {
	nav.main-nav .wrapper {
		gap: 18px;
	}
	nav.main-nav ul.nav-links > li > a {
		padding-left: 7px;
		padding-right: 7px;
	}
}

@media only screen and (max-width: 1020px) {
	nav.main-nav ul.nav-links {
		display: none;
	}
	nav.main-nav .nav-cta {
		margin-left: auto;
	}
	nav.main-nav .wrapper {
		position: static;
		flex-wrap: nowrap;
		gap: 12px;
	}
	nav.main-nav details.menu-toggle {
		display: block;
		width: auto;
		text-align: center;
	}
	nav.main-nav details.menu-toggle > summary {
		min-height: 44px;
		display: flex;
		align-items: center;
		font-size: 18px;
	}
	/* open menu: dropdown anchored under the sticky nav, scrolls inside itself so the last links are always reachable */
	nav.main-nav .menu-panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	nav.main-nav .nav-cta .cta,
	nav.main-nav .nav-cta .cta:hover {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
}

@media only screen and (max-width: 760px) {
	.topbar .topbar-verse {
		display: none;
	}
	.topbar .wrapper {
		justify-content: center;
	}
}

@media only screen and (max-width: 640px) {
	.topbar .topbar-meta a + a {
		display: none;
	}
	nav.main-nav {
		padding: 0;
	}
	nav.main-nav .wrapper {
		min-height: 64px;
		padding: 0 16px;
	}
	nav.main-nav .brand {
		padding: 10px;
	}
	nav.main-nav .nav-cta .cta.secondary {
		display: none;
	}
	/* extra bottom room so the last links can scroll clear of mobile Safari's bottom toolbar, which overlays the page */
	nav.main-nav .menu-panel {
		padding: 8px 8px calc(96px + env(safe-area-inset-bottom, 0px));
	}
}

@media only screen and (max-width: 400px) {
	nav.main-nav .brand-sub {
		font-size: 10px;
		letter-spacing: .12em;
	}
	nav.main-nav .nav-cta .cta,
	 nav.main-nav .nav-cta .cta:hover {
		padding: 10px 12px;
	}
}
/*------------------------------------*\
    GLOBAL — patterns reused across 2+ pages (CTAs, cards, title separators, image frames, etc.)
\*------------------------------------*/
div.content {
	background-color: #fff;
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
}
.relative {
	position: relative;
}
.cta {
	display: inline-block;
	background-color: var(--color-5);
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 93% 50%;
	border: 1px solid transparent;
	border-bottom-left-radius: 20px;
	color: #fff;
	font-family: var(--font-cta), 'opensans-bold', serif;
	font-size: 16px;
	text-decoration: none;
	margin:12px 8px;
	padding: 12px 50px 12px 28px;
	transition-duration: 0.8s;
	vertical-align: middle;
}
.cta:hover {
	color: var(--color-1);
	background-color: #fff;
	border-color: var(--color-1);
	padding:12px 39px;
	background-position: 120% 50%;
	box-shadow: 0px 0px 5px var(--color-4);
}
/* --- hero-section --- */
body.home section.hero-section {
	position: relative;
	min-height: 680px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	overflow: hidden;
	padding: 0 20px;
}

body.home .hero-bg {
	position: absolute;
	inset: 0;
	background-image: url(uploads/newlibertypa-pic-church-banner-1920x600-1.webp);
	background-size: cover;
	background-position: center 44%;
}

body.home .hero-veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(95deg, rgba(8,24,48,.90) 0%, rgba(8,24,48,.74) 26%, rgba(8,24,48,.30) 50%, rgba(8,24,48,0) 72%),
		linear-gradient(180deg, rgba(8,24,48,.42) 0%, rgba(8,24,48,0) 30%, rgba(8,24,48,0) 58%, rgba(8,24,48,.60) 100%);
}

body.home .hero-wrap {
	position: relative;
	max-width: 1600px;
	width: 100%;
	padding-left: clamp(24px, 5.5vw, 86px);
	padding-right: 24px;
	padding-top: 102px;
	padding-bottom: 68px;
}

body.home .hero-content {
	max-width: 590px;
}

body.home .hero-section .kicker {
	font-family: var(--font-text-regular), serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #F0B7BC;
	margin-bottom: 0;
}

body.home .hero-section h1 {
	font-size: clamp(40px, 5.6vw, 70px);
	max-width: 11ch;
	margin: 16px 0 0;
	color: #fff;
	text-shadow: 0 2px 30px rgba(0,0,0,.4);
}

body.home .hero-section h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.home .hero-sub {
	margin-top: 20px;
	font-size: 18.5px;
	max-width: 46ch;
	color: rgba(255,255,255,.88);
	line-height: 1.65;
}

body.home .hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 20px;
}

body.home .hero-cta .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}

body.home .hero-cta .cta:not(.cta-ghost) {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.home .hero-cta .cta:not(.cta-ghost):hover {
	background: #8E1622;
}

body.home .hero-cta .cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
}

body.home .hero-cta .cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
}

body.home .hero-scroll {
	margin-top: 25px;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
}

/* --- service-times bar --- */
div.times-bar {
	background-color: var(--color-1);
	color: #fff;
	border-top: 1px solid rgba(255, 255, 255, .14);
}

div.times-bar .times-grid {
	display: grid;
	grid-template-columns: 1.1fr repeat(4, 1fr);
	gap: 0;
	padding: 0 24px;
	max-width: 1180px;
	margin: 0 auto;
}

div.times-bar .times-cell {
	padding: 26px 22px;
	border-left: 1px solid rgba(255,255,255,.13);
}

div.times-bar .times-cell:first-child {
	border-left: 0;
	padding-left: 0;
}

div.times-bar .times-cell small {
	display: block;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #F0B7BC;
	margin-bottom: 7px;
}

div.times-bar .times-cell b {
	font-family: var(--font-title), serif;
	font-size: 22px;
	font-weight: 600;
	display: block;
	color: #fff;
}

div.times-bar .times-cell span {
	font-size: 13px;
	color: rgba(255,255,255,.62);
}

div.times-bar .times-cell.times-head b {
	font-size: 20px;
}

@media only screen and (max-width: 1020px) {
	div.times-bar .times-grid {
		grid-template-columns: 1fr 1fr;
	}

	div.times-bar .times-cell {
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.13);
		padding-left: 0;
	}

	div.times-bar .times-cell.times-head {
		grid-column: 1 / -1;
		border-top: 0;
	}
}

/* compact 2×2 on phones — head spans full width, services pair up */
@media only screen and (max-width: 640px) {
	div.times-bar .times-grid {
		grid-template-columns: 1fr 1fr;
		padding: 0 20px;
	}

	div.times-bar .times-cell {
		padding: 14px 0;
	}

	/* right-hand column (cells 3 and 5) */
	div.times-bar .times-cell:nth-child(odd):not(:first-child) {
		padding-left: 16px;
		border-left: 1px solid rgba(255,255,255,.13);
	}

	div.times-bar .times-cell.times-head {
		padding: 20px 0 14px;
	}

	div.times-bar .times-cell small {
		font-size: 10px;
		letter-spacing: .14em;
		margin-bottom: 4px;
	}

	div.times-bar .times-cell b {
		font-size: 18px;
		line-height: 1.2;
	}

	div.times-bar .times-cell.times-head b {
		font-size: 18px;
	}

	div.times-bar .times-cell span {
		display: block;
		margin-top: 2px;
		font-size: 12px;
		line-height: 1.4;
	}
}
 /*------------------------------------*\
    HOME — body.home — LIBERTY/FREEDOM section
\*------------------------------------*/

body.home section.liberty-section {
	background: #fff;
	border-top: 1px solid var(--greyOne);
	border-bottom: 1px solid var(--greyOne);
}

body.home section.liberty-section .liberty-head {
	position: relative;
	margin-bottom: 48px;
	max-width: 760px;
}

body.home section.liberty-section .liberty-head .kicker {
	margin-bottom: 14px;
}

body.home section.liberty-section .liberty-head h2 {
	margin-bottom: 18px;
}

body.home section.liberty-section .liberty-rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin-bottom: 22px;
}

body.home section.liberty-section .liberty-head .lead {
	color: var(--greyThree);
	max-width: 62ch;
}

body.home section.liberty-section .liberty-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid var(--greyOne);
}

body.home section.liberty-section .liberty-panel {
	padding: 44px;
}

body.home section.liberty-section .liberty-panel-a {
	background: var(--color-4);
}

body.home section.liberty-section .liberty-panel-b {
	background: var(--color-1);
	color: #fff;
}

body.home section.liberty-section .liberty-bell {
	font-family: var(--font-title), serif;
	font-style: italic;
	font-size: 14px;
	color: var(--color-2);
	margin-bottom: 16px;
}

body.home section.liberty-section .liberty-panel-b .liberty-bell {
	color: #F0B7BC;
}

body.home section.liberty-section .liberty-panel h3 {
	font-size: 24px;
	margin-bottom: 14px;
}

body.home section.liberty-section .liberty-panel-b h3 {
	color: #fff;
}

body.home section.liberty-section .liberty-panel-a p:not(.liberty-bell) {
	color: var(--greyThree);
}

body.home section.liberty-section .liberty-panel-b p:not(.liberty-bell) {
	color: rgba(255, 255, 255, 0.78);
}

body.home section.liberty-section .liberty-bridge {
	text-align: center;
	padding: 46px 24px 0;
	max-width: 780px;
	margin: 0 auto;
}

body.home section.liberty-section .liberty-bridge p {
	font-size: clamp(20px, 2.6vw, 28px);
	line-height: 1.35;
	color: var(--color-1);
	font-style: italic;
}

body.home section.liberty-section .liberty-bridge cite {
	display: block;
	margin-top: 14px;
	font-style: normal;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

 /*------------------------------------*\
    HOME — body.home — WHAT TO EXPECT section
\*------------------------------------*/

body.home section.expect-section {
	background: var(--color-4);
	padding: 88px 20px;
}

body.home section.expect-section .expect-head {
	position: relative;
	margin-bottom: 48px;
	max-width: 760px;
}

body.home section.expect-section .expect-head .kicker {
	margin-bottom: 14px;
}

body.home section.expect-section .expect-head h2 {
	margin-bottom: 18px;
}

body.home section.expect-section .expect-rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin-bottom: 22px;
}

body.home section.expect-section .expect-head .lead {
	color: var(--greyThree);
	max-width: 62ch;
}

body.home section.expect-section .expect-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

body.home section.expect-section .expect-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	padding: 28px 24px;
}

body.home section.expect-section .expect-card .expect-num {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 13px;
	color: var(--color-2);
	letter-spacing: 0.1em;
	margin-bottom: 14px;
}

body.home section.expect-section .expect-card h3 {
	font-size: 19px;
	margin-bottom: 9px;
}

body.home section.expect-section .expect-card p {
	font-size: 15px;
	color: var(--greyThree);
	margin: 0;
}

@media only screen and (max-width: 1020px) {
	body.home section.expect-section .expect-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.home section.expect-section .expect-cards {
		grid-template-columns: 1fr;
	}
	body.home section.liberty-section .liberty-two {
		grid-template-columns: 1fr;
	}
}

/*------------------------------------*\
    ABOUT — body.about
\*------------------------------------*/

/* --- kicker label — GLOBAL (reused on home; promoted here) --- */
.kicker {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 10px;
}

.kicker.on-dark {
	color: #F0B7BC;
}

/* --- about hero --- */
body.about section.about-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.about section.about-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.about section.about-hero .about-hero-body {
	max-width: 600px;
}

body.about section.about-hero .about-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.about section.about-hero .about-crumbs a {
	color: rgba(255,255,255,.45);
}

body.about section.about-hero .about-crumbs a:hover {
	color: #fff;
}

body.about section.about-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.about section.about-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.about section.about-hero .about-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.about section.about-hero .about-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

/* --- about intro: two-column layout --- */
body.about section.about-intro {
	background: var(--color-6);
	padding: 88px 20px;
}

body.about section.about-intro .wrapper {
	padding: 0 24px;
}

body.about section.about-intro .about-cols {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 60px;
	align-items: start;
}

/* --- prose column --- */
body.about section.about-intro .about-prose p {
	color: var(--greyFour);
	margin-bottom: 18px;
}

body.about section.about-intro .about-prose .about-lede {
	font-size: 1.125rem;
	line-height: 1.72;
	color: var(--greyFour);
}

body.about section.about-intro .about-prose h3 {
	margin: 36px 0 14px;
	font-size: 22px;
}

body.about section.about-intro .about-prose blockquote {
	margin: 28px 0 32px;
}

body.about section.about-intro .about-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* --- CTA row --- */
body.about section.about-intro .about-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

body.about section.about-intro .about-btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.about section.about-intro .about-cta-navy {
	background: var(--color-1);
	color: #fff;
	border: 1.5px solid transparent;
}

body.about section.about-intro .about-cta-navy:hover {
	background: var(--color-2);
	border-color: var(--color-2);
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.about section.about-intro .about-cta-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.about section.about-intro .about-cta-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* --- sidebar --- */
body.about section.about-intro .about-sidebar {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

body.about section.about-intro .about-glance {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
}

body.about section.about-intro .about-glance h3 {
	font-size: 18px;
	margin-bottom: 12px;
}

body.about section.about-intro .about-glance-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
	font-size: 13.5px;
}

body.about section.about-intro .about-glance-row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

body.about section.about-intro .about-glance-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.about section.about-intro .about-glance-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

body.about section.about-intro .about-glance .cta {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 20px;
	border-radius: 2px;
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
	text-decoration: none;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
}

body.about section.about-intro .about-glance .cta:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 20px;
	box-shadow: none;
	background-position: unset;
}

/* --- photo placeholder --- */
body.about section.about-intro .about-photo-placeholder {
	margin-top: 22px;
	min-height: 288px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: transparent;
	border: 1px dashed var(--greyTwo);
}

body.about section.about-intro .about-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.about section.about-intro .about-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.about section.about-intro .about-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.about section.about-intro .about-sidebar {
		position: static;
	}
}

@media only screen and (max-width: 760px) {
	body.about section.about-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.about section.about-hero .about-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.about section.about-hero {
		padding: 52px 20px 44px;
	}

	body.about section.about-intro {
		padding: 60px 20px;
	}

	body.about section.about-btn-row {
		flex-direction: column;
	}
}

/* --- GLOBAL: .lead — promoted from home page sections (CSS-10) --- */
.lead {
	color: var(--greyThree);
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: 62ch;
}

/* --- GLOBAL: .rule — decorative bar, promoted from home page sections (CSS-10) --- */
.rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin: 18px 0 22px;
}

/* --- GLOBAL: .sec-head — section header block (kicker + h2 + rule + lead) --- */
.sec-head {
    position: relative;
    margin-bottom: 48px;
}

.sec-head .rule {
	margin-bottom: 18px;
}

/* --- GLOBAL: .sec-mark — watermark logo in section headers --- */
.sec-mark {
    position: absolute;
    right: 0;
    top: -6px;
    width: 112px;
    height: 112px;
    opacity: .92;
    filter: drop-shadow(0 6px 18px rgba(10, 30, 60, .13));
}
.btn-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 30px;
}
.btn-navy {
    background: var(--color-1);
    color: #fff;
}
.btn-navy:hover {
    background: #12305C;
    color: #fff;
}
.btn-red{background:#B3202E;color:#fff}
.btn-red:hover{background:#8E1622;color: #fff;}
.btn-ghost {
    border-color: rgba(255, 255, 255, .5) !important;
    color: #fff;
}
.btn-ghost:hover {
    background: #fff;
    color: var(--color-1);
    border-color: #fff;
}
.btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 600;
    font-size: 15px;
    padding: 14px 26px;
    border-radius: 2px;
    text-decoration: none;
    transition: .18s;
    border: 1.5px solid transparent;
    white-space: nowrap;
    cursor: pointer;
    font-family: var(--font-cta), serif;
}
.cream {
	background: var(--color-4) !important; 
}
/* --- about history section --- */
body.about section.about-history {
	background: var(--color-4);
	padding: 88px 20px;
}

body.about section.about-history .wrapper {
	padding: 0 24px;
}

body.about section.about-history .about-history-cols {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 60px;
	align-items: start;
}

/* --- timeline --- */
body.about section.about-history .timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.about section.about-history .timeline li {
	padding: 22px 0 22px 28px;
	border-left: 2px solid var(--greyOne);
	position: relative;
	background-image: none;
	font-size: 1rem;
	line-height: 1.6;
}

body.about section.about-history .timeline li::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 28px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-2);
}

body.about section.about-history .timeline li small {
	display: block;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 6px;
}

body.about section.about-history .timeline li b {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--color-1);
	margin-bottom: 8px;
}

body.about section.about-history .timeline li p {
	margin: 0;
	font-size: 15px;
	color: var(--greyThree);
	line-height: 1.65;
}

/* --- history photo placeholder --- */
body.about section.about-history .about-history-photo {
	margin-top: 8px;
	min-height: 640px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: transparent;
	border: 1px dashed var(--greyTwo);
}

body.about section.about-history .about-history-photo::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.about section.about-history .about-history-photo span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.about section.about-history .about-history-cols {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	body.about section.about-history .about-history-photo {
		min-height: 280px;
		margin-top: 0;
	}
}

@media only screen and (max-width: 640px) {
	body.about section.about-history {
		padding: 60px 20px;
	}
}

/* --- about mission / four pillars (navy-bg) --- */
body.about section.about-mission {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.about section.about-mission .wrapper {
	padding: 0 24px;
}

body.about section.about-mission .sec-head h2 {
	color: #fff;
}

body.about section.about-mission .sec-head .rule {
	background: var(--color-2);
}

body.about section.about-mission .about-mission-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

body.about section.about-mission .about-mission-card {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .16);
	border-top: 2px solid var(--color-3);
	padding: 30px 22px 34px;
}

body.about section.about-mission .about-mission-num {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .1em;
	color: var(--color-3);
	line-height: 1;
	margin-bottom: 20px;
}

body.about section.about-mission .about-mission-card h3 {
	color: #fff;
	font-size: 18px;
	margin-bottom: 10px;
}

body.about section.about-mission .about-mission-card p {
	color: rgba(255, 255, 255, .75);
	font-size: 14px;
	margin: 0;
	line-height: 1.6;
}

@media only screen and (max-width: 1020px) {
	body.about section.about-mission .about-mission-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.about section.about-mission {
		padding: 60px 20px;
	}

	body.about section.about-mission .about-mission-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- CTA band (GLOBAL — promoted CSS-10; usable on any page) --- */
section.about-cta-band,
section.contact-cta-band,
section.events-cta-band {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 88px 20px;
}

section.about-cta-band .wrapper,
section.contact-cta-band .wrapper,
section.events-cta-band .wrapper {
	padding: 0 24px;
}

section.about-cta-band .sec-mark,
section.contact-cta-band .sec-mark,
section.events-cta-band .sec-mark {
	margin: 0 auto 20px;
}

body.about section.about-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}

section.about-cta-band h2,
section.contact-cta-band h2,
section.events-cta-band h2 {
	max-width: 22ch;
	margin: 14px auto 18px;
}

section.about-cta-band .lead,
section.contact-cta-band .lead,
section.events-cta-band .lead {
	max-width: 54ch;
	margin: 0 auto;
}

section.about-cta-band .about-cta-band-row,
section.contact-cta-band .about-cta-band-row,
section.events-cta-band .about-cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 32px;
}

section.about-cta-band .about-cta-band-row .cta,
section.contact-cta-band .about-cta-band-row .cta,
section.events-cta-band .about-cta-band-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

section.about-cta-band .about-cta-band-red,
section.contact-cta-band .about-cta-band-red,
section.events-cta-band .about-cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

section.about-cta-band .about-cta-band-red:hover,
section.contact-cta-band .about-cta-band-red:hover,
section.events-cta-band .about-cta-band-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

section.about-cta-band .about-cta-band-out,
section.contact-cta-band .about-cta-band-out,
section.events-cta-band .about-cta-band-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

section.about-cta-band .about-cta-band-out:hover,
section.contact-cta-band .about-cta-band-out:hover,
section.events-cta-band .about-cta-band-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 640px) {
	section.about-cta-band,
	section.contact-cta-band,
	section.events-cta-band {
		padding: 60px 20px;
	}

	section.about-cta-band .about-cta-band-row,
	section.contact-cta-band .about-cta-band-row,
	section.events-cta-band .about-cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/* --- events cta-band: an easy first step --- */
body.events section.events-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.events section.events-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.events section.events-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.events section.events-cta-band .kicker {
	margin: 0;
}

body.events section.events-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 0;
}

body.events section.events-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.events section.events-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.events section.events-cta-band .cta-band-row .cta,
body.events section.events-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.events section.events-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.events section.events-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.events section.events-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.events section.events-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.events section.events-cta-band {
		padding: 56px 20px 64px;
	}

	body.events section.events-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/* --- contact cta-band: the simplest way to contact us --- */
body.contact section.contact-cta-band {
	background: var(--color-6);
	border-top: 0;
	padding: 76px 20px 84px;
}

body.contact section.contact-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}

body.contact section.contact-cta-band .kicker {
	margin: 0;
}

body.contact section.contact-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 0;
}

body.contact section.contact-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.contact section.contact-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

body.contact section.contact-cta-band .cta-band-row .cta,
body.contact section.contact-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 14px 24px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}

body.contact section.contact-cta-band .cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}

body.contact section.contact-cta-band .cta-band-red:hover {
	background: #8E1622;
	border-color: #8E1622;
	color: #fff;
}

body.contact section.contact-cta-band .cta-band-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.contact section.contact-cta-band .cta-band-out:hover {
	background: var(--color-1);
	border-color: var(--color-1);
	color: #fff;
}

@media only screen and (max-width: 640px) {
	body.contact section.contact-cta-band {
		padding: 56px 20px 64px;
	}

	body.contact section.contact-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    BELIEFS — body.beliefs
\*------------------------------------*/

/* --- beliefs hero --- */
body.beliefs section.beliefs-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.beliefs section.beliefs-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.beliefs section.beliefs-hero .beliefs-hero-body {
	max-width: 600px;
}

body.beliefs section.beliefs-hero .beliefs-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.beliefs section.beliefs-hero .beliefs-crumbs a {
	color: rgba(255,255,255,.45);
}

body.beliefs section.beliefs-hero .beliefs-crumbs a:hover {
	color: #fff;
}

body.beliefs section.beliefs-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.beliefs section.beliefs-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.beliefs section.beliefs-hero .beliefs-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.beliefs section.beliefs-hero .beliefs-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

@media only screen and (max-width: 760px) {
	body.beliefs section.beliefs-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.beliefs section.beliefs-hero .beliefs-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.beliefs section.beliefs-hero {
		padding: 52px 20px 44px;
	}
}

/* --- tight intro section --- */
section.tight {
	background: #FBF9F5;
	border-bottom: 1px solid var(--greyOne);
	padding: 72px 20px 64px;
}

section.tight .wrapper {
	padding: 0 24px;
}

section.tight .beliefs-prose {
	max-width: 76ch;
	margin-bottom: 32px;
}

section.tight .beliefs-prose p.big {
	font-size: 1.1875rem;
	line-height: 1.72;
	color: var(--greyFour);
	margin-bottom: 18px;
}

section.tight .beliefs-prose p {
	color: var(--greyThree);
	margin-bottom: 0;
}

/* --- CTA row --- */
section.tight .beliefs-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

section.tight .beliefs-btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

section.tight .beliefs-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

section.tight .beliefs-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

section.tight .beliefs-cta-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

section.tight .beliefs-cta-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 640px) {
	section.tight {
		padding: 52px 20px 44px;
	}

	section.tight .beliefs-btn-row {
		flex-direction: column;
	}
}

/* --- accordion section (alt-bg) --- */
body.beliefs section.beliefs-acc {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	border-bottom: 1px solid var(--greyOne);
	padding: 20px 20px 88px;
}

body.beliefs section.beliefs-acc .wrapper {
	padding: 0 24px;
}

/* accordion shell */
body.beliefs .acc {
	border-top: 1px solid var(--greyOne);
}

body.beliefs .acc details {
	border-bottom: 1px solid var(--greyOne);
}

body.beliefs .acc summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 44px 22px 0;
	position: relative;
	font-family: var(--font-title), serif;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--greyFour);
	outline: none;
	transition: color .18s;
}

body.beliefs .acc summary::-webkit-details-marker {
	display: none;
}

body.beliefs .acc summary::marker {
	content: "";
}

/* chevron */
body.beliefs .acc summary:after {
	content: "";
	position: absolute;
	right: 6px;
	top: 30px;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid var(--color-2);
	border-bottom: 1.5px solid var(--color-2);
	transform: rotate(45deg);
	transition: transform .25s ease;
}

body.beliefs .acc details[open] summary:after {
	transform: rotate(-135deg);
}

body.beliefs .acc summary:hover {
	color: var(--color-2);
}

/* body */
body.beliefs .acc .body {
	padding: 0 0 28px;
	max-width: 76ch;
	animation: acc-fade .28s ease;
}

body.beliefs .acc .body p {
	margin: 0 0 14px;
	color: var(--greyThree);
	font-size: 0.96875rem;
}

body.beliefs .acc .body p:last-child {
	margin-bottom: 0;
}

body.beliefs .acc .body a {
	color: var(--color-2);
}

body.beliefs .acc .body a:hover {
	color: var(--color-1);
}

/* scripture reference tag */
body.beliefs .acc .ref {
	display: inline-block;
	margin-top: 4px;
	margin-bottom: 14px;
	font-size: 0.71875rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--color-2);
}

/* KJV footnote */
body.beliefs .scripture-note {
	margin-top: 30px;
	font-size: 0.78125rem;
	letter-spacing: .06em;
	color: var(--greyThree);
}

@keyframes acc-fade {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

@media only screen and (max-width: 640px) {
	body.beliefs section.beliefs-acc {
		padding-bottom: 60px;
	}

	body.beliefs .acc summary {
		font-size: 1.125rem;
		padding-right: 36px;
	}
}

/* --- navy-bg section (why we publish) --- */
body.beliefs section.beliefs-navy-bg {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.beliefs section.beliefs-navy-bg .wrapper {
	padding: 0 24px;
}

body.beliefs section.beliefs-navy-bg .beliefs-navy-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

/* text column */
body.beliefs section.beliefs-navy-bg .beliefs-navy-text .beliefs-navy-h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 18px;
}

body.beliefs section.beliefs-navy-bg .beliefs-navy-text .lead.on-dark {
	color: rgba(255, 255, 255, .78);
	max-width: 56ch;
}

body.beliefs section.beliefs-navy-bg .beliefs-navy-text .lead.on-dark + .lead.on-dark {
	margin-top: 18px;
}

/* CTA row */
body.beliefs section.beliefs-navy-bg .beliefs-navy-text .beliefs-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

body.beliefs section.beliefs-navy-bg .beliefs-navy-text .beliefs-btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.beliefs section.beliefs-navy-bg .beliefs-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.beliefs section.beliefs-navy-bg .beliefs-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.beliefs section.beliefs-navy-bg .beliefs-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.beliefs section.beliefs-navy-bg .beliefs-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* photo placeholder column */
body.beliefs section.beliefs-navy-bg .beliefs-navy-photo {
	display: flex;
	align-items: stretch;
}

body.beliefs section.beliefs-navy-bg .beliefs-photo-placeholder {
	flex: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .06);
	border: 1px dashed rgba(255, 255, 255, .25);
	padding: 32px 20px;
	text-align: center;
}

body.beliefs section.beliefs-navy-bg .beliefs-photo-placeholder span {
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
	font-style: italic;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.beliefs section.beliefs-navy-bg .beliefs-navy-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	body.beliefs section.beliefs-navy-bg {
		padding: 60px 20px;
	}

	body.beliefs section.beliefs-navy-bg .beliefs-navy-text .beliefs-btn-row {
		flex-direction: column;
	}

	body.beliefs section.beliefs-navy-bg .beliefs-photo-placeholder {
		min-height: 200px;
	}
}

/* --- CTA band (beliefs page) --- */
body.beliefs section.beliefs-cta-band {
	background: var(--color-6);
	text-align: center;
	padding: 76px 20px 84px;
}

body.beliefs section.beliefs-cta-band .wrapper {
	padding: 0 24px;
}

body.beliefs section.beliefs-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}

body.beliefs section.beliefs-cta-band .kicker {
	margin: 0;
}

body.beliefs section.beliefs-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 18px;
}

body.beliefs section.beliefs-cta-band h2 em {
	font-style: normal;
	color: inherit;
}

body.beliefs section.beliefs-cta-band .lead {
	max-width: 58ch;
	margin: 0 auto;
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 24px;
	box-shadow: none;
	background-position: unset;
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.beliefs section.beliefs-cta-band .beliefs-cta-band-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 24px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 640px) {
	body.beliefs section.beliefs-cta-band {
		padding: 60px 20px;
	}

	body.beliefs section.beliefs-cta-band .beliefs-cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*testimonial styling*/
/*------------------------------------*\
    HOME — body.home — THE GOSPEL / DECLARATION section
\*------------------------------------*/

body.home section.declaration {
	background: var(--color-1);
	color: var(--color-6);
	position: relative;
	overflow: hidden;
}
body.home section.declaration:before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(900px 420px at 20% 0%, rgba(198,160,82,.16), transparent 70%);
	pointer-events: none;
}
body.home section.declaration .wrapper {
	position: relative;
}

/* two-column grid */
body.home section.declaration .dec-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
}

/* left column */
body.home section.declaration .dec-left .kicker {
	color: #F0B7BC;
}
body.home section.declaration .dec-left h2 {
	color: var(--color-6);
	margin: 14px 0 18px;
}
body.home section.declaration .dec-left .lead {
	color: rgba(255,255,255,.78);
	max-width: 62ch;
}

/* question box */
body.home section.declaration .q-box {
	border: 1px solid rgba(255,255,255,.22);
	padding: 26px 28px;
	margin-top: 28px;
	background: rgba(255,255,255,.04);
}
body.home section.declaration .q-box p {
	margin: 0;
	font-size: 1.3125rem;
	font-style: italic;
	line-height: 1.4;
	color: var(--color-6);
}
body.home section.declaration .q-box small {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 0.8125rem;
	color: rgba(255,255,255,.6);
}

/* sinner's prayer */
body.home section.declaration .dec-prayer {
	margin-top: 34px;
	border-left: 3px solid var(--color-3);
	padding: 22px 26px;
	background: rgba(255,255,255,.05);
}
body.home section.declaration .dec-prayer p {
	margin: 0;
	font-family: var(--font-sm-title), serif;
	font-size: 1.7rem;
	line-height: 1.6;
	color: rgba(255,255,255,.9);
}

/* CTA row */
body.home section.declaration .dec-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
	align-items: center;
}
body.home section.declaration .dec-cta small {
	font-size: 0.84375rem;
	color: rgba(255,255,255,.6);
	max-width: 51ch;
}
body.home section.declaration ol.dec-steps li {
	list-style: none;
	padding-left: 0;
}
/* right column — accordion steps */
body.home section.declaration .dec-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: dec-step;
}
body.home section.declaration .dec-steps li {
	counter-increment: dec-step;
	border-bottom: 1px solid rgba(255,255,255,.14);
	position: relative;
}
body.home section.declaration .dec-steps li:last-child {
	border-bottom: 0;
}
body.home section.declaration .dec-steps li:before {
	content: counter(dec-step);
	position: absolute;
	left: 0;
	top: 23px;
	width: 38px;
	height: 38px;
	border: 1px solid var(--color-3);
	color: var(--color-3);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var(--font-title), serif;
	font-size: 1rem;
	pointer-events: none;
	z-index: 1;
}
body.home section.declaration .dec-steps details {
	padding: 22px 0 22px 60px;
}
body.home section.declaration .dec-steps summary {
	list-style: none;
	cursor: pointer;
	display: block;
	padding-right: 34px;
	position: relative;
	outline: none;
}
body.home section.declaration .dec-steps summary::-webkit-details-marker {
	display: none;
}
body.home section.declaration .dec-steps summary:after {
	content: "";
	position: absolute;
	right: 4px;
	top: 9px;
	width: 11px;
	height: 11px;
	border-right: 1.5px solid var(--color-3);
	border-bottom: 1.5px solid var(--color-3);
	transform: rotate(45deg);
	transition: transform .25s ease;
}
body.home section.declaration .dec-steps details[open] summary:after {
	transform: rotate(-135deg);
}
body.home section.declaration .dec-steps summary:hover h3 {
	color: var(--color-3);
}
body.home section.declaration .dec-steps h3 {
	margin: 0 0 6px;
	font-family: var(--font-title), serif;
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	color: var(--color-6);
	transition: color .2s;
}
/* summary allows phrasing content only — span styled as a block paragraph */
body.home section.declaration .dec-steps summary .dec-sum {
	display: block;
	margin: 0;
	font-family: var(--font-text-regular), serif;
	line-height: 1.65;
	font-size: 0.9375rem;
	color: rgba(255,255,255,.72);
}
body.home section.declaration .dec-steps .dec-ref {
	display: inline-block;
	margin-top: 10px;
	font-size: 0.75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-3);
}

/* scripture reveal */
body.home section.declaration .dec-scripture {
	margin-top: 18px;
	border-left: 2px solid var(--color-2);
	padding: 4px 0 4px 20px;
	animation: dec-fade .3s ease;
}
body.home section.declaration .dec-scripture p {
	font-family: var(--font-title), serif;
	font-style: italic;
	font-size: 1.03125rem;
	line-height: 1.62;
	color: rgba(255,255,255,.92);
	margin: 0 0 10px;
}
body.home section.declaration .dec-scripture p:last-of-type {
	margin-bottom: 0;
}
body.home section.declaration .dec-scripture p.dec-scripture-cont {
	margin-top: 14px;
}
body.home section.declaration .dec-scripture cite {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 0.71875rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
	margin-top: 4px;
}

/* KJV footnote */
body.home section.declaration .dec-kjv-note {
	margin-top: 26px;
	font-size: 0.78125rem;
	letter-spacing: .06em;
	color: rgba(255,255,255,.45);
}

@keyframes dec-fade {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

/* responsive */
@media only screen and (max-width: 1024px) {
	body.home section.declaration .dec-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}
@media only screen and (max-width: 640px) {
	body.home section.declaration .dec-steps details {
		padding-left: 52px;
	}
	body.home section.declaration .dec-steps li:before {
		width: 34px;
		height: 34px;
		font-size: 0.9375rem;
	}
}

/*------------------------------------*\
    HOME — body.home — RU RECOVERY section
\*------------------------------------*/

body.home section.ru-recovery-section {
	background: #b3202e;
	color: #fff;
	padding: 88px 20px;
}

body.home section.ru-recovery-section .ru-recovery-wrap {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 56px;
	align-items: center;
	padding: 0 24px;
}

body.home section.ru-recovery-section .kicker {
	color: #FFE1E3;
	margin-bottom: 14px;
}

body.home section.ru-recovery-section h2 {
	color: #fff;
	font-size: clamp(30px, 4vw, 44px);
	margin-bottom: 16px;
}

body.home section.ru-recovery-section .ru-recovery-body p {
	color: #fff;
	margin-bottom: 10px;
}

body.home section.ru-recovery-section .ru-verse {
	font-family: var(--font-sm-title), serif;
    font-size: 1.7rem;
	color: #FFE1E3;
	border-left: 2px solid rgba(255,255,255,.4);
	padding-left: 18px;
	margin-top: 22px;
}

body.home section.ru-recovery-section .ru-recovery-when {
	background: rgba(255,255,255,.06);
	padding: 28px;
	border: 1px solid rgba(255,255,255,.25);
}

body.home section.ru-recovery-section .ru-recovery-when small {
	display: block;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
	margin-bottom: 6px;
}

body.home section.ru-recovery-section .ru-recovery-when b {
	font-family: var(--font-title), serif;
	font-size: 1.625rem;
	display: block;
	color: #fff;
	margin-bottom: 14px;
}

body.home section.ru-recovery-section .ru-recovery-when p {
	color: rgba(255,255,255,.88);
	font-size: 0.9375rem;
	margin-bottom: 22px;
}

body.home section.ru-recovery-section .ru-recovery-when .cta {
	display: block;
	text-align: center;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.home section.ru-recovery-section .ru-recovery-when .cta:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 1020px) {
	body.home section.ru-recovery-section .ru-recovery-wrap {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media only screen and (max-width: 640px) {
	body.home section.ru-recovery-section {
		padding: 66px 20px;
	}
	body.home section.ru-recovery-section .ru-recovery-wrap {
		padding: 0 20px;
	}
}

/*------------------------------------*\
    HOME — body.home — MINISTRIES section
\*------------------------------------*/

body.home section.ministries-section {
	background: var(--color-4);
	padding: 88px 20px;
}

body.home section.ministries-section .wrapper {
	padding: 0 24px;
}

body.home section.ministries-section .ministries-head {
	position: relative;
	margin-bottom: 52px;
	max-width: 760px;
}

body.home section.ministries-section .ministries-head .kicker {
	margin-bottom: 14px;
}

body.home section.ministries-section .ministries-head h2 {
	margin-bottom: 18px;
}

body.home section.ministries-section .ministries-rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin-bottom: 22px;
}

body.home section.ministries-section .ministries-head .lead {
	color: var(--greyThree);
	max-width: 62ch;
}

body.home section.ministries-section .min-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--greyOne);
	border: 1px solid var(--greyOne);
}

body.home section.ministries-section .min-card {
	background: var(--color-6);
	padding: 51px 28px;
	transition: background .2s, transform .2s, box-shadow .2s;
}

body.home section.ministries-section .min-card:hover {
	background: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 34px rgba(10,30,60,.09);
}

body.home section.ministries-section .min-card .min-when {
	font-size: 12.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-2);
	font-weight: 600;
	font-family: var(--font-text-regular), serif;
	margin-bottom: 12px;
}

body.home section.ministries-section .min-card h3 {
	font-size: 20px;
	margin-bottom: 8px;
}

body.home section.ministries-section .min-card p {
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--greyThree);
}

body.home section.ministries-section .min-card .min-more {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--font-text-regular), serif;
	color: var(--color-1);
	letter-spacing: .02em;
	text-decoration: none;
	transition: color .2s;
}

body.home section.ministries-section .min-card .min-more::after {
	content: "\2192";
	transition: transform .2s;
}

body.home section.ministries-section .min-card .min-more:hover {
	color: var(--color-2);
}

body.home section.ministries-section .min-card .min-more:hover::after {
	transform: translateX(3px);
}

@media only screen and (max-width: 1020px) {
	body.home section.ministries-section .min-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.home section.ministries-section {
		padding: 66px 20px;
	}

	body.home section.ministries-section .min-grid {
		grid-template-columns: 1fr;
	}
	body.home section.ministries-section .min-card {
		border-bottom: 1px solid var(--greyTwo);
		padding: 30px 20px;
	}
	body.home section.beliefs-section .wrapper {
		padding: 0 !important;
	}
}

/*------------------------------------*\
    HOME — body.home — SERMONS + PASTOR section
\*------------------------------------*/

body.home section.sermons-pastor-section {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	border-bottom: 1px solid var(--greyOne);
	padding: 78px 20px 80px;
}

body.home section.sermons-pastor-section .wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
	padding: 0 24px;
}

body.home section.sermons-pastor-section .sermons-pastor-body .kicker {
	margin-bottom: 14px;
}

body.home section.sermons-pastor-section .sermons-pastor-body h2 {
	font-size: clamp(28px, 3.6vw, 42px);
	margin-bottom: 18px;
}

body.home section.sermons-pastor-section .sermons-pastor-rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin-bottom: 22px;
}

body.home section.sermons-pastor-section .sermons-pastor-body .lead {
	color: var(--greyThree);
	max-width: 62ch;
}

body.home section.sermons-pastor-section .sermons-pastor-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

body.home section.sermons-pastor-section .sermons-pastor-panel {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 28px 28px;
}

body.home section.sermons-pastor-section .sermons-pastor-panel h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

body.home section.sermons-pastor-section .sermons-pastor-panel p {
	color: var(--greyThree);
	font-size: 14.5px;
	line-height: 1.6;
	margin: 0 0 14px;
}

body.home section.sermons-pastor-section .sermons-pastor-panel .cta {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 26px;
	border-radius: 2px;
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 32px 0 0;
}

body.home section.sermons-pastor-section .sermons-pastor-panel .cta:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.home section.sermons-pastor-section .sermons-pastor-cta .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.home section.sermons-pastor-section .sermons-pastor-cta .cta:not(.transparent) {
	background: var(--color-1);
	color: #fff;
	border: 1.5px solid transparent;
}

body.home section.sermons-pastor-section .sermons-pastor-cta .cta:not(.transparent):hover {
	background: var(--color-2);
	border-color: var(--color-2);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.home section.sermons-pastor-section .sermons-pastor-cta .cta.transparent {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.home section.sermons-pastor-section .sermons-pastor-cta .cta.transparent:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 1020px) {
	body.home section.sermons-pastor-section .wrapper {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media only screen and (max-width: 640px) {
	body.home section.sermons-pastor-section {
		padding: 66px 20px;
	}
}

/*------------------------------------*\
    HOME — body.home — BELIEFS section
\*------------------------------------*/

body.home section.beliefs-section {
	background: var(--color-4);
	padding: 88px 20px;
}

body.home section.beliefs-section .wrapper {
	padding: 0 24px;
}

body.home section.beliefs-section .beliefs-head {
	position: relative;
	margin-bottom: 36px;
	max-width: 760px;
}

body.home section.beliefs-section .beliefs-head .kicker {
	margin-bottom: 14px;
}

body.home section.beliefs-section .beliefs-head h2 {
	margin-bottom: 18px;
}

body.home section.beliefs-section .beliefs-rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin-bottom: 22px;
}

body.home section.beliefs-section .beliefs-head .lead {
	color: var(--greyThree);
	max-width: 62ch;
}

body.home section.beliefs-section .beliefx4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

body.home section.beliefs-section .belief-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 2px solid var(--color-2);
	padding: 26px 22px 28px;
}

body.home section.beliefs-section .belief-card h3 {
	font-family: var(--font-title), serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: normal;
	display: block;
	margin: 0 0 6px;
	color: var(--color-1);
}

body.home section.beliefs-section .belief-card p {
	margin: 0;
	font-size: 14.5px;
	color: var(--greyThree);
	line-height: 1.65;
}

body.home section.beliefs-section .beliefs-cta {
	margin-top: 38px;
}

body.home section.beliefs-section .beliefs-cta-btn {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	background: var(--color-1);
	color: #fff;
	border: 1.5px solid transparent;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.home section.beliefs-section .beliefs-cta-btn:hover {
	background: var(--color-2);
	border-color: var(--color-2);
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 1020px) {
	body.home section.beliefs-section .beliefx4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.home section.beliefs-section {
		padding: 66px 20px;
	}

	body.home section.beliefs-section .beliefx4 {
		grid-template-columns: 1fr;
	}

	body.home section.beliefs-section .beliefs-cta-btn {
		white-space: normal;
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

/*------------------------------------*\
    HOME — body.home — VISIT section
\*------------------------------------*/

body.home section.visit-section {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.home section.visit-section .visit-wrap {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 56px;
	align-items: center;
	padding: 0 24px;
}

body.home section.visit-section .visit-body .kicker {
	color: #F0B7BC;
	margin-bottom: 14px;
}

body.home section.visit-section .visit-body h2 {
	color: #fff;
	font-size: clamp(30px, 4vw, 44px);
	margin-bottom: 16px;
}

body.home section.visit-section .visit-body h2 u {
	box-shadow: inset 0 -24px 0 0 rgba(198,160,82,.35);
	color: #fff;
}

body.home section.visit-section .visit-body .lead {
	color: rgba(255,255,255,.78);
	max-width: 56ch;
}

body.home section.visit-section .visit-info {
	list-style: none;
	padding: 0;
	margin: 26px 0 0;
}

body.home section.visit-section .visit-info li {
	padding: 14px 0;
	border-bottom: 1px solid rgba(255,255,255,.15);
	display: flex;
	justify-content: space-between;
	gap: 20px;
	font-size: 15px;
	background-image: none;
	line-height: 1.5;
}

body.home section.visit-section .visit-info li:last-child {
	border-bottom: 0;
}

body.home section.visit-section .visit-info small {
	color: rgba(255,255,255,.55);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: 11.5px;
	white-space: nowrap;
	flex-shrink: 0;
}

body.home section.visit-section .visit-info span {
	color: #fff;
	text-align: right;
}

body.home section.visit-section .visit-info a {
	color: #fff;
	text-decoration: none;
	padding: 15px 0;
}

body.home section.visit-section .visit-info a:hover {
	color: var(--color-3);
}

body.home section.visit-section .visit-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

body.home section.visit-section .visit-cta .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.home section.visit-section .visit-cta-primary {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.home section.visit-section .visit-cta-primary:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.home section.visit-section .visit-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
}

body.home section.visit-section .visit-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.home section.visit-section .visit-map {
	border: 1px solid rgba(255,255,255,.25);
	overflow: hidden;
	min-height: 380px;
	background: rgba(255,255,255,.06);
}

body.home section.visit-section .visit-map iframe {
	width: 100%;
	height: 100%;
	min-height: 380px;
	border: 0;
	display: block;
	filter: grayscale(.25);
}

@media only screen and (max-width: 1020px) {
	body.home section.visit-section .visit-wrap {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media only screen and (max-width: 640px) {
	body.home section.visit-section {
		padding: 66px 20px;
	}

	body.home section.visit-section .visit-wrap {
		padding: 0;
	}

	body.home section.visit-section .visit-info li {
		flex-direction: column;
		gap: 4px;
	}

	body.home section.visit-section .visit-info span {
		text-align: left;
	}
}

/*------------------------------------*\
    HOME — body.home — INVITE section
\*------------------------------------*/

body.home section.invite-section {
	background: var(--color-6);
	text-align: center;
	padding: 88px 20px;
}

body.home section.invite-section .wrapper {
	padding: 0 24px;
}

body.home section.invite-section .invite-mark {
	display: block;
	width: 104px;
	height: 104px;
	margin: 0 auto 22px;
	opacity: .92;
}

body.home section.invite-section .kicker {
	margin-bottom: 0;
}

body.home section.invite-section h2 {
	font-size: clamp(32px, 4.6vw, 52px);
	max-width: 16ch;
	margin: 16px auto 18px;
}

body.home section.invite-section .lead {
	color: var(--greyThree);
	max-width: 62ch;
	margin: 0 auto;
}

body.home section.invite-section .invite-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 34px;
}

body.home section.invite-section .invite-cta .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.home section.invite-section .invite-cta .cta:not(.transparent) {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.home section.invite-section .invite-cta .cta:not(.transparent):hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.home section.invite-section .invite-cta .cta.transparent {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.home section.invite-section .invite-cta .cta.transparent:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 760px) {
	body.home section.invite-section .invite-mark {
		width: 78px;
		height: 78px;
	}
}

@media only screen and (max-width: 640px) {
	body.home section.invite-section {
		padding: 66px 20px;
	}
}

#testimonials #google-reviews{display:flex;flex-wrap:wrap;margin:0}#testimonials .review-item{margin:8px;padding:1.8em;color:#000;flex:1 1 20%;background-color:var(--greyZero);border:1px #bfbfbf solid;box-shadow:0 0 15px 2px rgb(170 170 170 / .2);transition-duration:.8s}#testimonials .review-item:hover{border:1px solid var(--color-2)}.review-meta,.review-stars{text-align:center;font-size:115%}.review-author{text-transform:capitalize;font-size:28px;line-height:40px}.review-author img{max-width:100px;vertical-align:middle}.review-date{opacity:.6;display:block;font-size:22px;line-height:22px}.review-text{line-height:1.55;text-align:left;max-width:32em;margin:auto}.review-stars ul{display:inline-block;list-style:none;margin:0;padding:0}.review-stars ul li{background-image:none;padding:0;float:left;margin-right:1px;line-height:1}.review-stars ul li i{color:#fed03d;font-size:48px;font-style:normal}.review-stars ul li i.inactive{color:#c6c6c6}.star:after{content:"\2605"}#map-plug{display:none}@media only screen and (max-width:900px){#testimonials .review-item{flex:1 1 48%}}@media only screen and (max-width:640px){#testimonials .review-item{flex:1 1 100%}}
/* --- contact hero --- */
body.contact section.contact-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.contact section.contact-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.contact section.contact-hero .contact-hero-body {
	max-width: 600px;
}

body.contact section.contact-hero .contact-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.contact section.contact-hero .contact-crumbs a {
	color: rgba(255,255,255,.45);
}

body.contact section.contact-hero .contact-crumbs a:hover {
	color: #fff;
}

body.contact section.contact-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.contact section.contact-hero h1 em,
body.ministries section.ministries-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.contact section.contact-hero .contact-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.contact section.contact-hero .contact-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

/* --- contact tight: four cards --- */
body.contact section.contact-tight {
	background: var(--color-6);
	padding: 60px 20px;
}

body.contact section.contact-tight .wrapper {
	padding: 0 24px;
}

body.contact section.contact-tight .contact-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

body.contact section.contact-tight .contact-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	padding: 32px 26px 28px;
}

body.contact section.contact-tight .contact-card-num {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 14px;
}

body.contact section.contact-tight .contact-card h3 {
	font-size: 20px;
	margin-bottom: 10px;
	line-height: 1.2;
}

body.contact section.contact-tight .contact-card.contact-card h3 a {
	color: var(--color-1);
}

body.contact section.contact-tight .contact-card h3 a:hover {
	color: var(--color-2);
}

body.contact section.contact-tight .contact-card-email h3 {
	font-size: 17px;
}

body.contact section.contact-tight .contact-card p {
	font-size: 15px;
	color: var(--greyThree);
	margin: 0;
	line-height: 1.65;
}

body.contact section.contact-tight .contact-card p a {
	color: var(--color-2);
}

body.contact section.contact-tight .contact-card p a:hover {
	color: var(--color-1);
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.contact section.contact-tight .contact-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 760px) {
	body.contact section.contact-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.contact section.contact-hero .contact-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.contact section.contact-hero {
		padding: 52px 20px 44px;
	}

	body.contact section.contact-tight {
		padding: 44px 20px;
	}

	body.contact section.contact-tight .contact-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/*------------------------------------*\
    CONTACT — body.contact & Forms styling

/* --- ask-us-anything section --- */
body.contact section.contact-ask {
	padding: 88px 20px;
	background: var(--color-4);
}
body.contact section.contact-ask .wrapper {
	max-width: 1068px;
	margin: 0 auto;
	padding: 0 24px;
}
body.contact section.contact-ask .contact-ask-cols {
	display: grid;
	grid-template-columns: 1fr 385px;
	gap: 58px;
	align-items: start;
}

/* form column */
body.contact section.contact-ask .contact-ask-form-col .kicker {
	margin-bottom: 14px;
}
body.contact section.contact-ask .contact-ask-form-col h2 {
	font-size: clamp(28px, 3.8vw, 44px);
	color: var(--color-1);
	margin: 0 0 18px;
}
body.contact section.contact-ask .contact-ask-form-col .rule {
	margin-bottom: 20px;
}
body.contact section.contact-ask .contact-ask-form-col .lead {
	margin-bottom: 32px;
}

/* aside column */
body.contact section.contact-ask .contact-ask-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
	margin-bottom: 22px;
}
body.contact section.contact-ask .contact-ask-aside:last-child {
	margin-bottom: 0;
}
body.contact section.contact-ask .contact-ask-aside h3 {
	font-size: 18px;
	color: var(--color-1);
	margin: 0 0 12px;
}
body.contact section.contact-ask .contact-ask-aside-note {
	font-size: 14px;
	color: var(--greyThree);
	margin: 0 0 8px;
	line-height: 1.6;
}
body.contact section.contact-ask .contact-ask-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
	gap: 16px;
}
body.contact section.contact-ask .contact-ask-row:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}
body.contact section.contact-ask .contact-ask-row small {
	font-size: 10.5px;
	color: var(--greyThree);
	white-space: nowrap;
	flex-shrink: 0;
	text-transform: uppercase;
	letter-spacing: .12em;
	line-height: 1.9;
}
body.contact section.contact-ask .contact-ask-row span {
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--greyFour);
	text-align: right;
}
body.contact section.contact-ask .contact-ask-aside .cta,
body.contact section.contact-ask .contact-ask-aside .cta:hover {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 26px 0 0;
	padding: 14px 20px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	transition: background .18s, color .18s, border-color .18s;
}
/* first aside (service times): navy outline button */
body.contact section.contact-ask .contact-ask-aside:first-child .cta {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}
body.contact section.contact-ask .contact-ask-aside:first-child .cta:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
}
/* last aside (getting here): solid red button */
body.contact section.contact-ask .contact-ask-aside:last-child .cta {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}
body.contact section.contact-ask .contact-ask-aside:last-child .cta:hover {
	background: #8E1622;
	color: #fff;
	border-color: #8E1622;
}

/* form widget (form-461) — renders .form-container > form > div.form-input > label > span + field */
body.contact section.contact-ask .form-container {
	max-width: none;
	margin: 0;
	padding: 32px;
	background: var(--color-6);
	border: 1px solid var(--greyOne);
}
body.contact section.contact-ask div.form-input {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0;
	margin: 0 0 18px;
}
body.contact section.contact-ask div.form-input:has(.w3form_firstName),
body.contact section.contact-ask div.form-input:has(.w3form_lastName) {
	width: 50%;
}
body.contact section.contact-ask div.form-input:has(.w3form_firstName) {
	padding-right: 8px;
}
body.contact section.contact-ask div.form-input:has(.w3form_lastName) {
	padding-left: 8px;
}
body.contact section.contact-ask div.form-input:has(> input[type="hidden"]:only-child) {
	display: none;
}
body.contact section.contact-ask .form-container label span {
	display: block;
	margin-bottom: 8px;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}
body.contact section.contact-ask .form-container input:not([type="hidden"]),
body.contact section.contact-ask .form-container select,
body.contact section.contact-ask .form-container textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--greyFour);
	background: var(--color-4);
	border: 1px solid var(--greyOne);
	border-radius: 0;
	cursor: text;
}
body.contact section.contact-ask .form-container select {
	cursor: pointer;
}
body.contact section.contact-ask .form-container textarea {
	height: 134px;
	resize: vertical;
}
body.contact section.contact-ask .form-container input::placeholder,
body.contact section.contact-ask .form-container textarea::placeholder {
	color: #8A929C;
}
body.contact section.contact-ask .form-container input:focus,
body.contact section.contact-ask .form-container select:focus,
body.contact section.contact-ask .form-container textarea:focus {
	outline: 0;
	border-color: var(--color-1);
	background: #fff;
}
/* hide number spinners on the phone field */
body.contact section.contact-ask .form-container input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}
body.contact section.contact-ask .form-container input[type="number"]::-webkit-inner-spin-button,
body.contact section.contact-ask .form-container input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
body.contact section.contact-ask .form-container button.cta,
body.contact section.contact-ask .form-container button.cta:hover {
	display: block;
	width: 100%;
	margin: 6px 0 0;
	padding: 15px 20px;
	border: 0;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background .18s;
}
body.contact section.contact-ask .form-container button.cta {
	background: var(--color-2);
}
body.contact section.contact-ask .form-container button.cta:hover {
	background: #8E1622;
}
body.contact section.contact-ask div.form-input:has(button.cta) {
	margin-bottom: 0;
}

/* map */
body.contact section.contact-ask .contact-ask-map {
	margin-top: 48px;
	border-radius: 2px;
	overflow: hidden;
	border: 1px solid var(--greyOne);
}
body.contact section.contact-ask .contact-ask-map iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: none;
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.contact section.contact-ask .contact-ask-cols {
		grid-template-columns: 1fr 300px;
		gap: 40px;
	}
}
@media only screen and (max-width: 640px) {
	body.contact section.contact-ask .form-container {
		padding: 22px 18px;
	}
	body.contact section.contact-ask div.form-input:has(.w3form_firstName),
	body.contact section.contact-ask div.form-input:has(.w3form_lastName) {
		width: 100%;
		padding: 0;
	}
}
@media only screen and (max-width: 760px) {
	body.contact section.contact-ask .contact-ask-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	body.contact section.contact-ask .contact-ask-aside-col {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	body.contact section.contact-ask .contact-ask-aside {
		margin-bottom: 0;
	}
}
@media only screen and (max-width: 560px) {
	body.contact section.contact-ask .contact-ask-aside-col {
		grid-template-columns: 1fr;
	}
	body.contact section.contact-ask .contact-ask-map iframe {
		height: 300px;
	}
}
/*------------------------------------*\
    FORMS
\*------------------------------------*/
/*forms styling*/
section.contact p {
	max-width: 900px;
	margin: 0 auto
}
.form-container {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 20px
}
div.form-input {
	display: inline-block;
	padding: 0 10px 10px 0;
	margin: 0;
	width: 50%
}
div.form-input:has(div.g-recaptcha),
div.form-input:has(textarea[name=w3form_name]),
div.form-input:has(textarea[name=w3form_websitesFormID]) {
	width: 100%
}
div.form-input:has(textarea[name=w3form_message]) {
	width: 100%;
}
label {
	display: block;
	text-align: left;
	color: #444;
	font-family: var(--font-text-strong), opensans-bold, serif
}
div.form-input div.g-recaptcha,
input,
textarea {
	display: inline-block;
	vertical-align: top
}
input,
textarea {
	font-family: var(--font-text-regular), opensans-regular, serif;
	width: 100%;
	margin: 0;
	padding: 12px 16px;
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
	color: #1f1f1f;
	border: 1px solid #ccc;
	box-shadow: none;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	border-radius: 4px;
	background-color: #fff;
	background-image: none
}
textarea {
	height: 144px
}
button {
	font-family: var(--font-text-strong), opensans-bold, serif;
	padding: 6px 12px;
	color: #fff;
	font-size: 18px;
	margin: 10px auto;
	background-color: #346fd4;
	border-radius: 3px;
	border: 0;
	cursor: pointer;
	transition: .25s
}
@media only screen and (max-width:640px) {
	div.form-input {
		width: 100%
	}
}
/*------------------------------------*\
    404 — section#fourZeroFour
\*------------------------------------*/
section#fourZeroFour {
	background: var(--color-4);
	text-align: center;
	padding: 110px 20px 120px;
	min-height: 60vh;
	display: flex;
	align-items: center;
}

section#fourZeroFour .wrapper {
	padding: 0 24px;
}

section#fourZeroFour .fzf-mark {
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	filter: drop-shadow(0 6px 18px rgba(10, 30, 60, .13));
}

section#fourZeroFour .kicker {
	margin: 0;
}

section#fourZeroFour h1 {
	font-family: var(--font-title), serif;
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1.1;
	color: var(--color-1);
	margin: 18px auto 0;
}

section#fourZeroFour .lead {
	max-width: 52ch;
	margin: 18px auto 0;
}

section#fourZeroFour .fzf-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

section#fourZeroFour .fzf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

section#fourZeroFour .fzf-btn-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

section#fourZeroFour .fzf-btn-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

section#fourZeroFour .fzf-btn-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

section#fourZeroFour .fzf-btn-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	section#fourZeroFour {
		padding: 64px 20px 72px;
		min-height: 0;
	}

	section#fourZeroFour .fzf-row {
		flex-direction: column;
		align-items: stretch;
	}
}

/*------------------------------------*\
    Legal - Terms of Use & Privacy Policy
\*------------------------------------*/
section#privacy-policy,section#terms-of-use{padding:50px 20px;background-color:#fff;max-width:1000px;margin:auto}section#privacy-policy h1,section#terms-of-use h1{padding:10px;text-transform:uppercase}

/*------------------------------------*\
    EVENTS — body.events
\*------------------------------------*/

/* --- Hero --- */
section.events-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
	overflow: hidden;
}
section.events-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(700px 360px at 0% 0%, rgba(198,160,82,.14), transparent 70%);
	pointer-events: none;
}
section.events-hero .wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}
section.events-hero .events-hero-body {
	max-width: 600px;
}
section.events-hero .events-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}
section.events-hero .events-crumbs a {
	color: rgba(255,255,255,.45);
}
section.events-hero .events-crumbs a:hover {
	color: #fff;
}
section.events-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}
section.events-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}
section.events-hero .events-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}
@media only screen and (max-width: 640px) {
	section.events-hero {
		padding: 52px 20px 44px;
	}
}
section.events-hero .events-hero-mark {
	opacity: 0.12;
	width: 260px;
	height: 260px;
	flex-shrink: 0;
}

/* --- Featured event: red-bg section --- */
section.events-red-bg {
	background-color: var(--color-2);
	color: #fff;
	padding: 64px 20px;
}
section.events-red-bg .wrapper {
	padding: 0 24px;
}
section.events-red-bg .events-featured-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

/* badge label — outlined on red */
section.events-red-bg .badge {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff;
	background-color: transparent;
	border: 1px solid rgba(255,255,255,.6);
	border-radius: 0;
	padding: 7px 11px;
	margin: 0;
}

/* h2 in featured event */
section.events-red-bg .events-featured-left h2 {
	color: #fff;
	font-size: clamp(34px, 4.2vw, 48px);
	line-height: 1.1;
	margin: 16px 0 0;
}

/* prose paragraphs */
section.events-red-bg .events-featured-lede {
	font-size: 17px;
	line-height: 1.65;
	color: rgba(255,255,255,.92);
	margin: 18px 0 0;
}
section.events-red-bg .events-featured-detail {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255,255,255,.85);
	margin: 12px 0 0;
}
section.events-red-bg .events-featured-detail + .events-featured-detail {
	margin-top: 6px;
}
section.events-red-bg .events-featured-detail b {
	color: #fff;
	font-weight: 700;
}
section.events-red-bg .events-featured-note {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255,255,255,.85);
	margin: 22px 0 0;
}

/* CTA row — ghost buttons on red bg; override global .cta arrow/padding/hover */
section.events-red-bg .events-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
section.events-red-bg .events-btn-row .cta,
section.events-red-bg .events-btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}
section.events-red-bg .cta.events-ghost {
	background-color: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,.6);
}
section.events-red-bg .cta.events-ghost:hover {
	background-color: #fff;
	border-color: #fff;
	color: var(--color-2);
}

/* Aside detail card */
section.events-red-bg .events-aside {
	background-color: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 0;
	padding: 26px 28px 20px;
}
section.events-red-bg .events-aside h3 {
	font-family: var(--font-sm-title), serif;
	color: #fff;
	font-size: 19px;
	line-height: 1.3;
	margin: 0 0 6px;
	padding: 0;
	border: none;
}
section.events-red-bg .events-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255,255,255,.18);
}
section.events-red-bg .events-row:last-of-type {
	border-bottom: none;
}
section.events-red-bg .events-row small {
	font-family: var(--font-text-strong), serif;
	font-size: 10.5px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .1em;
	line-height: 1.9;
	color: rgba(255,255,255,.6);
	white-space: nowrap;
	flex-shrink: 0;
}
section.events-red-bg .events-row span {
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
	text-align: right;
}

/* Photo placeholder */
section.events-red-bg .events-featured-photo {
	margin-top: 22px;
	background-color: rgba(255,255,255,.04);
	border: 1px dashed rgba(255,255,255,.4);
	border-radius: 0;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 24px;
}
section.events-red-bg .events-featured-photo span {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
	text-align: center;
}

@media only screen and (max-width: 900px) {
	section.events-red-bg .events-featured-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	section.events-red-bg {
		padding: 52px 20px;
	}
}

/* --- UPCOMING EVENTS: calendar embed section --- */
section.events-calendar {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

section.events-calendar .wrapper {
	padding: 0 24px;
}

/* events list — styles the calendar-template markup rendered by events.php (CSS only) */
section.events-calendar .events-embed-frame {
	margin-bottom: 40px;
	border-bottom: 1px solid var(--greyOne);
}

/* empty state — shown when the list renders no events */
section.events-calendar .events-embed-frame:not(:has(.table-noresponse)) {
	border-bottom: 0;
}
section.events-calendar .events-embed-frame:not(:has(.table-noresponse))::before {
	content: "There are no upcoming events.";
	display: block;
	padding: 18px 20px;
	background: var(--color-4);
	border: 1px solid var(--greyOne);
	border-radius: 2px;
	text-align: center;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	color: var(--greyFour);
}

/* one event */
section.events-calendar .events-embed-frame div.table-noresponse {
	display: block;
	padding: 34px 0;
	border-top: 1px solid var(--greyOne);
}
section.events-calendar .events-embed-frame div.table-noresponse div.tableRow-noresponse {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
section.events-calendar .events-embed-frame div.table-noresponse div.tableRow-noresponse div.tableCell-noresponse {
	display: block;
	vertical-align: top;
}

/* date column: month / day */
section.events-calendar .events-embed-frame .icon-container {
	text-align: center;
	padding-top: 2px;
}
section.events-calendar .events-embed-frame .event.month {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--greyThree);
}
section.events-calendar .events-embed-frame .event.day {
	display: block;
	margin-top: 2px;
	font-family: var(--font-title), serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: var(--color-1);
}

/* details column — font-size:0 hides the loose "from" / " at " text and <br>s;
   flex order puts the time above the title like the design */
section.events-calendar .events-embed-frame div.tableRow-noresponse div.tableCell-noresponse + div.tableCell-noresponse {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	font-size: 0;
}
section.events-calendar .events-embed-frame div.tableCell-noresponse br {
	display: none;
}
section.events-calendar .events-embed-frame .event.time {
	order: 1;
	flex: 0 0 100%;
	margin-bottom: 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	color: var(--greyFour);
}
section.events-calendar .events-embed-frame .event.name {
	order: 2;
	flex: 0 0 100%;
	margin-bottom: 14px;
	font-family: var(--font-title), serif;
	font-size: clamp(22px, 2.4vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .01em;
	text-transform: uppercase;
	color: var(--color-1) !important;/* overrides the template's inline "Meeting" color */
}
section.events-calendar .events-embed-frame .event.location {
	order: 3;
	margin-right: 6px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--color-1);
}
/* second location span = street address (first is the venue name) */
section.events-calendar .events-embed-frame .event.location + .event.location {
	font-weight: 400;
	color: var(--greyFour);
}
section.events-calendar .events-embed-frame .event.description {
	order: 4;
	flex: 0 0 100%;
	margin-top: 14px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyFour);
}
section.events-calendar .events-embed-frame .event.description p {
	margin: 0 0 10px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
section.events-calendar .events-embed-frame .event.description p:last-child {
	margin-bottom: 0;
}
/* template's "View Class" button — not used on this site */
section.events-calendar .events-embed-frame div.tableCell-noresponse > a.cta {
	display: none;
}

section.events-calendar .events-calendar-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

section.events-calendar .cta.events-cal-out {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

section.events-calendar .cta.events-cal-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 640px) {
	section.events-calendar {
		padding: 60px 20px;
	}

	section.events-calendar .events-embed-frame div.table-noresponse {
		padding: 26px 0;
	}
	section.events-calendar .events-embed-frame div.table-noresponse div.tableRow-noresponse {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 18px;
	}
	section.events-calendar .events-embed-frame .event.day {
		font-size: 24px;
	}

	section.events-calendar .events-calendar-btn-row {
		flex-direction: column;
	}
}

/* --- ANNUAL RHYTHM: alt-bg card grid --- */
section.events-rhythm {
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

section.events-rhythm .wrapper {
	padding: 0 24px;
}

section.events-rhythm .sec-head {
	margin-bottom: 48px;
}

section.events-rhythm .events-rhythm-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

section.events-rhythm .events-rhythm-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	padding: 30px 26px 28px;
}

section.events-rhythm .events-rhythm-num {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 12px;
}

section.events-rhythm .events-rhythm-card h3 {
	font-size: 20px;
	margin-bottom: 10px;
}

section.events-rhythm .events-rhythm-card p {
	font-size: 15px;
	color: var(--greyThree);
	margin: 0;
	line-height: 1.65;
}

@media only screen and (max-width: 1020px) {
	section.events-rhythm .events-rhythm-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	section.events-rhythm {
		padding: 60px 20px;
	}

	section.events-rhythm .events-rhythm-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

section#privacy-policy h3,section#terms-of-use h3{padding:30px 10px 10px 10px}section#privacy-policy p,section#terms-of-use p{padding:10px}
/*------------------------------------*\
    MINISTRIES — body.ministries
\*------------------------------------*/

/* --- ministries hero --- */
body.ministries section.ministries-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.ministries section.ministries-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.ministries section.ministries-hero .ministries-hero-body {
	max-width: 600px;
}

body.ministries section.ministries-hero .ministries-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.ministries section.ministries-hero .ministries-crumbs a {
	color: rgba(255,255,255,.45);
}

body.ministries section.ministries-hero .ministries-crumbs a:hover {
	color: #fff;
}

body.ministries section.ministries-hero .kicker {
	color: #F0B7BC;
}

body.ministries section.ministries-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.ministries section.ministries-hero h1 u {
	color: #fff;
	box-shadow: none;
}

body.ministries section.ministries-hero .ministries-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.ministries section.ministries-hero .ministries-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

@media only screen and (max-width: 760px) {
	body.ministries section.ministries-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.ministries section.ministries-hero .ministries-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries section.ministries-hero {
		padding: 52px 20px 44px;
	}
}

/* --- ministries grid: six ministry cards --- */
body.ministries section.ministries-grid {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries section.ministries-grid .wrapper {
	padding: 0 24px;
}

body.ministries section.ministries-grid .min-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--greyOne);
	border: 1px solid var(--greyOne);
}

body.ministries section.ministries-grid .min-card {
	display: block;
	background: var(--color-6);
	padding: 32px 28px;
	text-decoration: none;
	color: inherit;
	transition: background .2s, transform .2s, box-shadow .2s;
}

body.ministries section.ministries-grid .min-card:hover {
	background: var(--color-4);
	transform: translateY(-2px);
	box-shadow: 0 12px 34px rgba(10,30,60,.09);
}

body.ministries section.ministries-grid .min-card .min-when {
	font-size: 12.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-2);
	font-weight: 600;
	font-family: var(--font-text-regular), serif;
	margin-bottom: 12px;
}

body.ministries section.ministries-grid .min-card h3 {
	font-size: 20px;
	margin-bottom: 10px;
	color: var(--color-1);
}

body.ministries section.ministries-grid .min-card p {
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--greyThree);
	line-height: 1.65;
}

body.ministries section.ministries-grid .min-card .min-more {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--font-text-regular), serif;
	color: var(--color-2);
	letter-spacing: .04em;
}

body.ministries section.ministries-grid .min-card:hover .min-more {
	color: var(--color-1);
}

@media only screen and (max-width: 1020px) {
	body.ministries section.ministries-grid .min-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.ministries section.ministries-grid {
		padding: 60px 20px;
	}

	body.ministries section.ministries-grid .min-grid {
		grid-template-columns: 1fr;
	}
}

/* --- ministries schedule: alt-bg 8-card grid --- */
body.ministries section.ministries-sched {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries section.ministries-sched .wrapper {
	padding: 0 24px;
}

body.ministries section.ministries-sched .sec-head {
	margin-bottom: 48px;
}

body.ministries section.ministries-sched .min-sched-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

body.ministries section.ministries-sched .min-sched-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	padding: 30px 26px 28px;
}

body.ministries section.ministries-sched .min-sched-num {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 12px;
}

body.ministries section.ministries-sched .min-sched-card h3 {
	font-size: 20px;
	margin-bottom: 10px;
}

body.ministries section.ministries-sched .min-sched-card p {
	font-size: 15px;
	color: var(--greyThree);
	margin: 0;
	line-height: 1.65;
}

@media only screen and (max-width: 1020px) {
	body.ministries section.ministries-sched .min-sched-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.ministries section.ministries-sched {
		padding: 60px 20px;
	}

	body.ministries section.ministries-sched .min-sched-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- ministries navy-bg: not sure where you'd fit --- */
body.ministries section.ministries-cta-navy {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.ministries section.ministries-cta-navy .wrapper {
	padding: 0 24px;
}

body.ministries section.ministries-cta-navy .min-navy-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

/* text column */
body.ministries section.ministries-cta-navy .min-navy-text .min-navy-h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 18px;
}

body.ministries section.ministries-cta-navy .min-navy-text .min-navy-h2 u {
	box-shadow: none;
	color: #fff;
}

body.ministries section.ministries-cta-navy .min-navy-text .lead.on-dark {
	color: rgba(255, 255, 255, .78);
	max-width: 56ch;
}

/* CTA row */
body.ministries section.ministries-cta-navy .min-navy-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

body.ministries section.ministries-cta-navy .min-navy-btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.ministries section.ministries-cta-navy .min-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.ministries section.ministries-cta-navy .min-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries section.ministries-cta-navy .min-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.ministries section.ministries-cta-navy .min-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* photo placeholder column */
body.ministries section.ministries-cta-navy .min-navy-photo {
	display: flex;
	align-items: stretch;
}

body.ministries section.ministries-cta-navy .min-photo-placeholder {
	flex: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .06);
	border: 1px dashed rgba(255, 255, 255, .25);
	padding: 32px 20px;
	text-align: center;
}

body.ministries section.ministries-cta-navy .min-photo-placeholder span {
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
	font-style: italic;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries section.ministries-cta-navy .min-navy-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries section.ministries-cta-navy {
		padding: 60px 20px;
	}

	body.ministries section.ministries-cta-navy .min-navy-btn-row {
		flex-direction: column;
	}

	body.ministries section.ministries-cta-navy .min-photo-placeholder {
		min-height: 200px;
	}
}

/* --- ministries cta-band: every ministry runs on one message --- */
body.ministries section.ministries-cta-band {
	background: var(--color-6);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries section.ministries-cta-band .wrapper {
	padding: 0 24px;
}

body.ministries section.ministries-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}

body.ministries section.ministries-cta-band .kicker {
	margin: 0;
}

body.ministries section.ministries-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 0;
}

body.ministries section.ministries-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.ministries section.ministries-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

body.ministries section.ministries-cta-band .cta-band-row .cta,
body.ministries section.ministries-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	box-shadow: none;
	margin: 0;
}

body.ministries section.ministries-cta-band .cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}

body.ministries section.ministries-cta-band .cta-band-red:hover {
	background: #8E1622;
	border-color: #8E1622;
	color: #fff;
}

body.ministries section.ministries-cta-band .cta-band-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries section.ministries-cta-band .cta-band-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
}

@media only screen and (max-width: 640px) {
	body.ministries section.ministries-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries section.ministries-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MINISTRIES-KIDS — body.ministries-kids
\*------------------------------------*/

/* --- ministries-kids hero --- */
body.ministries-kids section.ministries-kids-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.ministries-kids section.ministries-kids-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-hero-body {
	max-width: 600px;
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-crumbs a {
	color: rgba(255,255,255,.45);
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-crumbs a:hover {
	color: #fff;
}

body.ministries-kids section.ministries-kids-hero .kicker {
	color: #F0B7BC;
}

body.ministries-kids section.ministries-kids-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.ministries-kids section.ministries-kids-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.ministries-kids section.ministries-kids-hero .ministries-kids-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

@media only screen and (max-width: 760px) {
	body.ministries-kids section.ministries-kids-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.ministries-kids section.ministries-kids-hero .ministries-kids-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-kids section.ministries-kids-hero {
		padding: 52px 20px 44px;
	}
}

/* --- GLOBAL: .cards.c3 — three-column card grid (kicker + h3 + p per card) --- */
.cards.c3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 3px solid var(--color-2);
	padding: 30px 26px 28px;
}

/* .num — age/time label above h3 in a .card */
.num {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-2);
	margin-bottom: 12px;
}

.card h3 {
	font-size: 20px;
	margin-bottom: 10px;
}

.card p {
	font-size: 15px;
	color: var(--greyThree);
	margin: 0;
	line-height: 1.65;
}

@media only screen and (max-width: 1020px) {
	.cards.c3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	.cards.c3 {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- GLOBAL: .cards.c4 — four-column card grid --- */
.cards.c4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

@media only screen and (max-width: 1020px) {
	.cards.c4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	.cards.c4 {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- GLOBAL: .acc — accordion (promoted CSS-10; used on beliefs + ministries-kids) --- */
.acc {
	border-top: 1px solid var(--greyOne);
}

.acc details {
	border-bottom: 1px solid var(--greyOne);
}

.acc summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 44px 22px 0;
	position: relative;
	font-family: var(--font-title), serif;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--greyFour);
	outline: none;
	transition: color .18s;
}

.acc summary::-webkit-details-marker {
	display: none;
}

.acc summary::marker {
	content: "";
}

/* chevron */
.acc summary:after {
	content: "";
	position: absolute;
	right: 6px;
	top: 30px;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid var(--color-2);
	border-bottom: 1.5px solid var(--color-2);
	transform: rotate(45deg);
	transition: transform .25s ease;
}

.acc details[open] summary:after {
	transform: rotate(-135deg);
}

.acc summary:hover {
	color: var(--color-2);
}

/* body */
.acc .body {
	padding: 0 0 28px;
	max-width: 76ch;
	animation: acc-fade .28s ease;
}

.acc .body p {
	margin: 0 0 14px;
	color: var(--greyThree);
	font-size: 0.96875rem;
}

.acc .body p:last-child {
	margin-bottom: 0;
}

.acc .body a {
	color: var(--color-2);
}

.acc .body a:hover {
	color: var(--color-1);
}

@keyframes acc-fade {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

@media only screen and (max-width: 640px) {
	.acc summary {
		font-size: 1.125rem;
		padding-right: 36px;
	}
}

/* --- ministries-kids where section --- */
body.ministries-kids section.ministries-kids-where .wrapper {
	padding: 0 24px;
}

/* --- ministries-kids VBS: white two-column --- */
body.ministries-kids section.ministries-kids-vbs {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-kids section.ministries-kids-vbs .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* two even columns */
body.ministries-kids section.ministries-kids-vbs .mk-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 58px;
	align-items: start;
}

/* outlined badge label */
body.ministries-kids section.ministries-kids-vbs .mk-badge {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--color-2);
	background: transparent;
	border: 1px solid var(--color-2);
	border-radius: 0;
	padding: 9px 11px;
	margin: 0 0 18px;
}

body.ministries-kids section.ministries-kids-vbs .mk-vbs-h2 {
	font-size: clamp(28px, 3.6vw, 42px);
	margin: 0;
}

body.ministries-kids section.ministries-kids-vbs .rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin: 18px 0 24px;
}

/* prose column */
body.ministries-kids section.ministries-kids-vbs .mk-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.ministries-kids section.ministries-kids-vbs .mk-prose p:last-child {
	margin-bottom: 0;
}

body.ministries-kids section.ministries-kids-vbs .mk-prose p.big {
	font-size: 17px;
	line-height: 1.7;
	color: var(--greyFour);
}

/* CTA row — overrides global .cta arrow/padding/hover */
body.ministries-kids section.ministries-kids-vbs .mk-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

body.ministries-kids section.ministries-kids-vbs .mk-btn-row .cta,
body.ministries-kids section.ministries-kids-vbs .mk-btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-kids section.ministries-kids-vbs .mk-btn-row .mk-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-kids section.ministries-kids-vbs .mk-btn-row .mk-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-kids section.ministries-kids-vbs .mk-cta-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-kids section.ministries-kids-vbs .mk-cta-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

/* aside card */
body.ministries-kids section.ministries-kids-vbs .mk-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px 38px;
}

body.ministries-kids section.ministries-kids-vbs .mk-aside h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

body.ministries-kids section.ministries-kids-vbs .mk-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-kids section.ministries-kids-vbs .mk-aside-row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

body.ministries-kids section.ministries-kids-vbs .mk-aside-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.ministries-kids section.ministries-kids-vbs .mk-aside-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

/* full-width outline button */
body.ministries-kids section.ministries-kids-vbs .mk-aside .cta,
body.ministries-kids section.ministries-kids-vbs .mk-aside .cta:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 20px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-kids section.ministries-kids-vbs .mk-form-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--greyThree);
}

/* photo placeholder */
body.ministries-kids section.ministries-kids-vbs .mk-photo-placeholder {
	margin-top: 22px;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-kids section.ministries-kids-vbs .mk-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-kids section.ministries-kids-vbs .mk-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-kids section.ministries-kids-vbs .mk-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-kids section.ministries-kids-vbs .mk-photo-placeholder {
		min-height: 280px;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-kids section.ministries-kids-vbs {
		padding: 60px 20px;
	}

	body.ministries-kids section.ministries-kids-vbs .mk-btn-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* --- ministries-kids FAQ: navy-bg accordion --- */
body.ministries-kids section.ministries-kids-faq {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.ministries-kids section.ministries-kids-faq .wrapper {
	padding: 0 24px;
}

/* sec-head on dark */
body.ministries-kids section.ministries-kids-faq .sec-head h2 {
	color: #fff;
}

body.ministries-kids section.ministries-kids-faq .sec-head .rule {
	background: var(--color-2);
}

/* accordion on dark bg — override chrome colours only */
body.ministries-kids section.ministries-kids-faq .acc {
	border-top-color: rgba(255, 255, 255, .15);
}

body.ministries-kids section.ministries-kids-faq .acc details {
	border-bottom-color: rgba(255, 255, 255, .15);
}

body.ministries-kids section.ministries-kids-faq .acc summary {
	color: #fff;
}

body.ministries-kids section.ministries-kids-faq .acc summary:hover {
	color: var(--color-3);
}

body.ministries-kids section.ministries-kids-faq .acc summary:after {
	border-right-color: var(--color-3);
	border-bottom-color: var(--color-3);
}

body.ministries-kids section.ministries-kids-faq .acc .body p {
	color: rgba(255, 255, 255, .78);
}

body.ministries-kids section.ministries-kids-faq .acc .body a {
	color: var(--color-3);
}

body.ministries-kids section.ministries-kids-faq .acc .body a:hover {
	color: #fff;
}

@media only screen and (max-width: 640px) {
	body.ministries-kids section.ministries-kids-faq {
		padding: 60px 20px;
	}
}

/* --- ministries-kids cta-band --- */
body.ministries-kids section.ministries-kids-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-kids section.ministries-kids-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.ministries-kids section.ministries-kids-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-kids section.ministries-kids-cta-band .kicker {
	margin: 0;
}

body.ministries-kids section.ministries-kids-cta-band h2 {
	max-width: 17ch;
	margin: 18px auto 0;
}

body.ministries-kids section.ministries-kids-cta-band .lead {
	max-width: 70ch;
	margin: 18px auto 0;
}

body.ministries-kids section.ministries-kids-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.ministries-kids section.ministries-kids-cta-band .cta-band-row .cta,
body.ministries-kids section.ministries-kids-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-kids section.ministries-kids-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-kids section.ministries-kids-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-kids section.ministries-kids-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-kids section.ministries-kids-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-kids section.ministries-kids-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-kids section.ministries-kids-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    FOOTER 
\*------------------------------------*/
footer.site-footer {
	background-color: var(--color-1);
	color: rgba(255,255,255,.72);
	padding: 64px 0 28px;
	text-align: left;
}

footer.site-footer .wrapper {
	padding: 0 24px;
}

footer.site-footer .f-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 44px;
}

/* brand column */
footer.site-footer .f-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

footer.site-footer .f-brand img {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	flex-shrink: 0;
}

footer.site-footer .f-brand > span {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
}

footer.site-footer .f-brand b {
	font-family: var(--font-title), serif;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 4px;
}

footer.site-footer .f-brand .f-address {
	font-size: 13px;
	color: rgba(255,255,255,.62);
}

footer.site-footer .f-verse {
	margin-top: 22px;
	max-width: 34ch;
	font-family: var(--font-title), serif;
	font-style: italic;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255,255,255,.6);
}

/* link columns */
footer.site-footer h3 {
	font-family: var(--font-text-regular), serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
	padding: 0;
}

footer.site-footer ul {
	margin: 0;
	padding: 0;
}

footer.site-footer ul li {
	padding: 0;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

footer.site-footer ul li a {
	color: rgba(255,255,255,.78);
	transition: color .18s;
	display: inline-block;
	padding: 15px 0;
}

footer.site-footer ul li a:hover {
	color: #fff;
}

/* bottom bar */
footer.site-footer .f-bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.13);
	font-size: 12.5px;
	letter-spacing: .02em;
	color: rgba(255,255,255,.5);
}
footer .footer-sub a:hover {
	color: #fff;
}
@media only screen and (max-width: 1020px) {
	footer.site-footer .f-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px 40px;
	}

	footer.site-footer .f-col-brand {
		grid-column: 1 / -1;
	}
}

@media only screen and (max-width: 640px) {
	footer.site-footer {
		padding: 48px 0 24px;
		text-align: center;
	}

	footer.site-footer ul {
		padding: 0;
	}

	footer.site-footer ul li {
		text-align: center;
	}

	footer.site-footer .f-brand {
		flex-direction: column;
	}

	footer.site-footer .f-verse {
		margin-left: auto;
		margin-right: auto;
	}

	footer.site-footer .f-bottom {
		flex-direction: column;
		align-items: center;
	}

	footer.site-footer .f-grid {
		grid-template-columns: 1fr;
	}
}
/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/
@font-face {
	font-family: 'italic';
	src: url('fonts/.woff2') format('woff2'),
		 url('fonts/.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-italic';
	src: url('fonts/opensans-italic-webfont.woff2') format('woff2'),
		 url('fonts/opensans-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-regular';
	src: url('fonts/opensans-regular-webfont.woff2') format('woff2'),
		 url('fonts/opensans-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-bold';
	src: url('fonts/opensans-bold-webfont.woff2') format('woff2'),
		 url('fonts/opensans-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-extrabold';
	src: url('fonts/opensans-extrabold-webfont.woff2') format('woff2'),
		 url('fonts/opensans-extrabold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/*------------------------------------*\
	RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:1400px) {

}
@media only screen and (max-width:1024px) {			/*foundation medium breakpoint*/
	section,
	 .std-padding {
		padding: 60px 20px;
	}
	.less-padding {
		padding: 30px 10px;
	}
	header div.logo {
		text-align: center;
	}
	header nav ul {
		text-align: center;
	}

}
@media only screen and (max-width:900px) {
	ul, ol {padding: 15px 0 15px 5px;}

}
@media only screen and (max-width:800px) {

}
@media only screen and (max-width:640px) { 			/*foundation small breakpoint*/
	ul {padding: 15px 0 15px 0;}
	ol {padding: 15px 0 15px 20px;}
	section,
	 .std-padding {
		padding: 30px 20px;
	}
	.less-padding {
		padding: 10px 2.5px;
	}
	div.table,
	 div.table div.tableRow,
	 div.table div.tableRow div.tableHeader,
	 div.table div.tableRow div.tableCell {
		display:block;
		width:100%;
	}
	header {
		position: relative;
		text-align: center;
	}
	header div#mobileGrippy {
		text-align:center;
		font-size:30px;
		cursor:pointer;
		display:inline-block;
		vertical-align: middle;
		padding:12px 6px;
		color:#222;
	}
	header nav {
		display: none;
		text-align: center;
	}
	header nav ul {
		text-align:center;
	}
	header nav ul li {
		display: inline-block;
	}
	header nav ul li a img {
		display: none;
	}
	.cta {
		margin:6px 0;
	}
	body.home section.liberty-section .liberty-panel {
		padding: 20px 10px;
	}
	footer {
		text-align:center;
	}
	footer table {
		margin:0 auto;
		text-align:center;
	}
	footer div.footer-sub {
		text-align: center;
	}
	footer div.footer-sub p.copyright {
		text-align:center;
	}
	footer .footer-brand-container {
		text-align:center;
	}
}
@media only screen and (max-width:399px) {

}
/*------------------------------------*\
	MISC
\*------------------------------------*/
::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
/*------------------------------------*\
	PRINT
\*------------------------------------*/
@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

/* ----------------------------------------------------------------------
 * Cookie Consent Floating Banner
 * ---------------------------------------------------------------------- */
.cookie-banner {
	position: fixed;
	bottom: 20px;
	right: 20px;
	left: 20px;
	max-width: 480px;
	margin-left: auto;
	z-index: 99999;
	background: #1e293b;
	color: #f8fafc;
	border: 1px solid #334155;
	border-radius: 8px;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
	padding: 16px 20px;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
}
.cookie-banner-content p {
	margin: 0 0 12px 0;
	color: #cbd5e1;
	font-size: 13px;
}
.cookie-banner-content a {
	color: #38bdf8;
	text-decoration: underline;
}
.cookie-banner-buttons {
	display: flex;
	gap: 10px;
	align-items: center;
}
.cookie-banner .btn-cookie-accept {
	background: #0284c7;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 6px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}
.cookie-banner .btn-cookie-accept:hover {
	background: #0369a1;
}
.cookie-banner .btn-cookie-decline {
	background: transparent;
	color: #94a3b8;
	border: 1px solid #475569;
	border-radius: 4px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}
.cookie-banner .btn-cookie-decline:hover {
	background: #334155;
	color: #f8fafc;
}
@media (max-width: 600px) {
	.cookie-banner {
		bottom: 10px;
		right: 10px;
		left: 10px;
		max-width: none;
	}
}

/*------------------------------------*\
    MINISTRIES-MENS — body.ministries-mens
\*------------------------------------*/

/* --- ministries-mens hero --- */
body.ministries-mens section.ministries-mens-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}
body.ministries-mens section.ministries-mens-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-hero-body {
	position: relative;
	z-index: 1;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-crumbs a:hover {
	opacity: 0.85;
}
body.ministries-mens section.ministries-mens-hero .kicker {
	margin-bottom: 14px;
}
body.ministries-mens section.ministries-mens-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}
body.ministries-mens section.ministries-mens-hero h1 em {
	color: #FFD9DC;
	font-style: italic;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0 0 32px;
}
body.ministries-mens section.ministries-mens-hero .ministries-mens-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.ministries-mens section.ministries-mens-hero .wrapper {
		grid-template-columns: 1fr;
	}
	body.ministries-mens section.ministries-mens-hero .ministries-mens-hero-mark {
		display: none;
	}
	body.ministries-mens section.ministries-mens-hero {
		padding-block: 48px;
	}
}

/* --- ministries-mens intro: two-column prose + sidebar --- */
body.ministries-mens section.ministries-mens-intro {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
}

body.ministries-mens section.ministries-mens-intro .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.ministries-mens section.ministries-mens-intro .mm-cols {
	display: grid;
	grid-template-columns: 1fr 385px;
	gap: 58px;
	align-items: start;
}

/* prose column */
body.ministries-mens section.ministries-mens-intro .mm-prose p {
	color: var(--greyFour);
	margin-bottom: 18px;
}

body.ministries-mens section.ministries-mens-intro .mm-prose p.mm-lede {
	font-size: 1.1875rem;
	line-height: 1.72;
	color: var(--greyFour);
}

body.ministries-mens section.ministries-mens-intro .mm-prose h3 {
	margin: 36px 0 14px;
}

body.ministries-mens section.ministries-mens-intro .mm-prose blockquote {
	margin: 28px 0 32px;
}

body.ministries-mens section.ministries-mens-intro .mm-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* --- GLOBAL: .btn-row — flex row of CTAs (promoted CSS-10; reusable across pages) --- */
.btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

/* button variants used on ministries-mens (and available globally) */
.mm-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

.mm-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

.mm-cta-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

.mm-cta-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* sidebar */
body.ministries-mens section.ministries-mens-intro .mm-sidebar {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

body.ministries-mens section.ministries-mens-intro .mm-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
}

body.ministries-mens section.ministries-mens-intro .mm-aside h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

body.ministries-mens section.ministries-mens-intro .mm-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-mens section.ministries-mens-intro .mm-aside-row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

body.ministries-mens section.ministries-mens-intro .mm-aside-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.ministries-mens section.ministries-mens-intro .mm-aside-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

body.ministries-mens section.ministries-mens-intro .mm-aside .cta,
body.ministries-mens section.ministries-mens-intro .mm-aside .cta:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 20px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
}

/* photo placeholder under the sidebar card */
body.ministries-mens section.ministries-mens-intro .mm-photo-placeholder {
	margin-top: 22px;
	min-height: 288px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-mens section.ministries-mens-intro .mm-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-mens section.ministries-mens-intro .mm-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-mens section.ministries-mens-intro .mm-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-mens section.ministries-mens-intro .mm-sidebar {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-mens section.ministries-mens-intro {
		padding: 60px 20px;
	}

	body.ministries-mens section.ministries-mens-intro .btn-row {
		flex-direction: column;
	}
}

/* --- ministries-mens steps: navy-bg four-card section --- */
section.ministries-mens-steps {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

section.ministries-mens-steps .wrapper {
	padding: 0 24px;
}

/* sec-head on dark */
section.ministries-mens-steps .sec-head h2 {
	color: #fff;
}

section.ministries-mens-steps .sec-head .rule {
	background: var(--color-2);
}

/* dark-bg card overrides — scoped so global .card stays light */
section.ministries-mens-steps .card {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-top: 3px solid var(--color-3);
}

section.ministries-mens-steps .card h3 {
	color: #fff;
}

section.ministries-mens-steps .card p {
	color: rgba(255, 255, 255, .72);
}

@media only screen and (max-width: 640px) {
	section.ministries-mens-steps {
		padding: 60px 20px;
	}
}

/* --- ministries-mens RU Recovery: white two-column --- */
body.ministries-mens section.ministries-mens-ru {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-mens section.ministries-mens-ru .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* text column + photo placeholder, top-aligned */
body.ministries-mens section.ministries-mens-ru .mm-ru-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
	gap: 60px;
	align-items: start;
}

body.ministries-mens section.ministries-mens-ru .kicker {
	margin: 0;
}

body.ministries-mens section.ministries-mens-ru .mm-ru-h2 {
	font-family: var(--font-title), serif;
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.15;
	color: var(--color-1);
	margin: 14px 0 18px;
}

body.ministries-mens section.ministries-mens-ru .rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin: 0 0 24px;
}

body.ministries-mens section.ministries-mens-ru .mm-ru-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 16px;
}

body.ministries-mens section.ministries-mens-ru .mm-ru-prose p:last-child {
	margin-bottom: 0;
}

body.ministries-mens section.ministries-mens-ru .btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

/* navy button — overrides global .cta arrow/padding/hover */
body.ministries-mens section.ministries-mens-ru .mm-cta-navy,
body.ministries-mens section.ministries-mens-ru .mm-cta-navy:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border: 1.5px solid transparent;
	border-radius: 2px;
	color: var(--color-6);
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, border-color .18s;
}

body.ministries-mens section.ministries-mens-ru .mm-cta-navy {
	background-color: var(--color-1);
}

body.ministries-mens section.ministries-mens-ru .mm-cta-navy:hover {
	background-color: var(--color-2);
	border-color: var(--color-2);
}

/* photo placeholder */
body.ministries-mens section.ministries-mens-ru .mm-ru-photo-placeholder {
	min-height: 360px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-mens section.ministries-mens-ru .mm-ru-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-mens section.ministries-mens-ru .mm-ru-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-mens section.ministries-mens-ru .mm-ru-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-mens section.ministries-mens-ru .mm-ru-photo-placeholder {
		min-height: 280px;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-mens section.ministries-mens-ru {
		padding: 60px 20px;
	}

	body.ministries-mens section.ministries-mens-ru .btn-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* --- ministries-mens cta-band: knowing the Author --- */
body.ministries-mens section.ministries-mens-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-mens section.ministries-mens-cta-band .wrapper {
	padding: 0 24px;
}

body.ministries-mens section.ministries-mens-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-mens section.ministries-mens-cta-band .kicker {
	margin: 0;
}

body.ministries-mens section.ministries-mens-cta-band h2 {
	max-width: 16ch;
	margin: 18px auto 0;
}

body.ministries-mens section.ministries-mens-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-row .cta,
body.ministries-mens section.ministries-mens-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-mens section.ministries-mens-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-mens section.ministries-mens-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-mens section.ministries-mens-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MINISTRIES-OUTREACH — body.ministries-outreach
\*------------------------------------*/

/* --- ministries-outreach hero --- */
body.ministries-outreach section.ministries-outreach-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}

body.ministries-outreach section.ministries-outreach-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-hero-body {
	position: relative;
	z-index: 1;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-crumbs a:hover {
	opacity: 0.85;
}

body.ministries-outreach section.ministries-outreach-hero .kicker {
	margin-bottom: 14px;
}

body.ministries-outreach section.ministries-outreach-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.ministries-outreach section.ministries-outreach-hero h1 em {
	color: #F0B7BC;
	font-style: italic;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0;
}

body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.ministries-outreach section.ministries-outreach-hero .wrapper {
		grid-template-columns: 1fr;
	}

	body.ministries-outreach section.ministries-outreach-hero .ministries-outreach-hero-mark {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-hero {
		padding-block: 48px;
	}
}

/* =============================================================================
   Reading Progress Bar & Floating Back to Top
   ========================================================================== */
.reading-progress-bar {
	position: fixed;
	top: 0;
	left: 0;
	height: 4px;
	width: 0%;
	background: #0284c7;
	z-index: 99999;
	transition: width 0.1s ease-out;
}

.back-to-top-btn {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #0284c7;
	color: #ffffff;
	border: none;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
	z-index: 9999;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.back-to-top-btn:hover {
	background: #0369a1;
	transform: translateY(-3px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.back-to-top-btn:active {
	transform: scale(0.95);
}

/* Product gallery (modern scroll-snap) */
body.products .pgal { max-width: 700px; margin: 0 auto; }
body.products .pgal-stage { position: relative; width: 100%; }
body.products .pgal-viewport {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
body.products .pgal-viewport::-webkit-scrollbar { display: none; }
body.products .pgal-slide {
	flex: 0 0 100%;
	min-width: 0;
	scroll-snap-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.products .pgal-media {
	max-width: 100%;
	max-height: 600px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}
body.products .pgal-arrow { display: none; }
body.products .pgal.is-ready .pgal-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0,0,0,0.55);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
body.products .pgal-arrow.pgal-prev { left: 8px; }
body.products .pgal-arrow.pgal-next { right: 8px; }
body.products .pgal-arrow:disabled { opacity: 0.25; cursor: default; }
body.products .pgal-thumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}
body.products .pgal-thumb {
	position: relative;
	width: 64px;
	height: 64px;
	padding: 0;
	border: 2px solid transparent;
	background: none;
	cursor: pointer;
	overflow: hidden;
}
body.products .pgal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.products .pgal-thumb.is-active { border-color: #333; }
body.products .pgal-thumb-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 18px;
	text-shadow: 0 0 4px rgba(0,0,0,0.9);
	pointer-events: none;
}
@media (max-width: 900px) {
	body.products .pgal-media { max-height: 400px; }
	body.products .pgal-thumb { width: 52px; height: 52px; }
}

/* --- ministries-outreach: family soul winning --- */
body.ministries-outreach section.ministries-outreach-fsw {
	background-color: var(--color-4);
	padding: 88px 20px;
}
body.ministries-outreach section.ministries-outreach-fsw .wrapper {
	max-width: 1068px;
	margin: 0 auto;
	padding: 0 24px;
}
/* two even columns — placeholder stretches to the text column's height */
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 54px;
	align-items: stretch;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-prose {
	min-width: 0;
}
/* outlined badge label */
body.ministries-outreach section.ministries-outreach-fsw p.mo-fsw-badge {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--color-2);
	background: transparent;
	border: 1px solid var(--color-2);
	border-radius: 0;
	padding: 9px 11px;
	margin: 0 0 18px;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-h2 {
	font-size: clamp(28px, 3.6vw, 42px);
	color: var(--color-1);
	margin: 0;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-prose .rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin: 18px 0 24px;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-prose p.mo-fsw-lede {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--greyFour);
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-prose p:last-of-type {
	margin-bottom: 0;
}
/* CTA — overrides global .cta arrow/padding/hover */
body.ministries-outreach section.ministries-outreach-fsw .btn-row {
	gap: 12px;
	margin-top: 32px;
}
body.ministries-outreach section.ministries-outreach-fsw .btn-row .cta,
body.ministries-outreach section.ministries-outreach-fsw .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}
/* photo placeholder */
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-photo-placeholder {
	min-height: 360px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
	border-radius: 0;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}
body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}
@media screen and (max-width: 1020px) {
	body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	body.ministries-outreach section.ministries-outreach-fsw .mo-fsw-photo-placeholder {
		min-height: 280px;
	}
}
@media screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-fsw {
		padding: 60px 20px;
	}
}

/* --- ministries-outreach: nursing home ministry (alt-bg) --- */
body.ministries-outreach section.ministries-outreach-nhm {
	background-color: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-outreach section.ministries-outreach-nhm .wrapper {
	max-width: 1068px;
	margin: 0 auto;
	padding: 0 24px;
}

/* two even columns — photo left, prose right, top-aligned */
body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 57px;
	align-items: start;
}

/* photo placeholder */
body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-photo-placeholder {
	min-height: 640px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
	border-radius: 0;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* prose right */
body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-prose {
	min-width: 0;
}

/* outlined badge label */
body.ministries-outreach section.ministries-outreach-nhm p.mo-nhm-badge {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--color-2);
	background: transparent;
	border: 1px solid var(--color-2);
	border-radius: 0;
	padding: 9px 11px;
	margin: 0 0 18px;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-h2 {
	font-size: clamp(28px, 3.6vw, 42px);
	color: var(--color-1);
	margin: 0;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-prose .rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin: 18px 0 24px;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-prose p.mo-nhm-lede {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--greyFour);
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-prose p:last-of-type {
	margin-bottom: 0;
}

/* CTA — overrides global .cta arrow/padding/hover */
body.ministries-outreach section.ministries-outreach-nhm .btn-row {
	gap: 12px;
	margin-top: 32px;
}

body.ministries-outreach section.ministries-outreach-nhm .btn-row .cta,
body.ministries-outreach section.ministries-outreach-nhm .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-cta-navy {
	background-color: var(--color-1);
	color: var(--color-6);
	border: 1.5px solid var(--color-1);
}

body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-cta-navy:hover {
	background-color: var(--color-2);
	border-color: var(--color-2);
	color: var(--color-6);
}

@media screen and (max-width: 1020px) {
	body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	/* text first, photo second when stacked */
	body.ministries-outreach section.ministries-outreach-nhm .mo-nhm-photo-placeholder {
		order: 2;
		min-height: 280px;
	}
}

@media screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-nhm {
		padding: 60px 20px;
	}
}

/* --- ministries-outreach: foreign missions (navy-bg) --- */
body.ministries-outreach section.ministries-outreach-fm {
	background: var(--color-1);
	padding: 88px 20px;
}
body.ministries-outreach section.ministries-outreach-fm .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}
/* prose left, 385px aside column right */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 58px;
	align-items: start;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose {
	min-width: 0;
	color: #fff;
}
/* outlined badge label — white on navy */
body.ministries-outreach section.ministries-outreach-fm p.mo-fm-badge {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	background: transparent;
	border: 1px solid rgba(255,255,255,.6);
	border-radius: 0;
	padding: 9px 11px;
	margin: 0 0 18px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-h2 {
	font-family: var(--font-title), serif;
	font-size: clamp(28px, 3.6vw, 42px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: #fff;
	margin: 0;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose .rule {
	width: 50px;
	height: 3px;
	background: var(--color-2);
	margin: 18px 0 24px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255,255,255,.78);
	margin: 0 0 18px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose p.mo-fm-lede {
	font-size: 17px;
	line-height: 1.7;
	color: #fff;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose p b {
	color: rgba(255,255,255,.92);
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-prose p:last-of-type {
	margin-bottom: 0;
}
/* pull quote — gold rule, no fill */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-pull {
	font-family: var(--font-title), serif;
	font-size: clamp(1.3rem, 2.4vw, 1.625rem);
	font-style: normal;
	line-height: 1.35;
	color: #fff;
	background: transparent;
	border-left: 2px solid var(--color-3);
	padding: 6px 0 6px 24px;
	margin: 30px 0 32px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-pull cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}
/* CTA row — overrides global .cta arrow/padding/hover */
body.ministries-outreach section.ministries-outreach-fm .btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}
body.ministries-outreach section.ministries-outreach-fm .btn-row .cta,
body.ministries-outreach section.ministries-outreach-fm .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	filter: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-cta-red {
	background-color: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: #fff;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-cta-ghost {
	background-color: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.6);
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-cta-ghost:hover {
	background-color: #fff;
	border-color: #fff;
	color: var(--color-1);
}
/* aside + photo column */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-right {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}
/* aside card — translucent on navy */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 0;
	padding: 28px 27px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside-h3 {
	font-family: var(--font-title), serif;
	font-size: 18px;
	color: #fff;
	margin: 0 0 12px;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,.15);
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-row-last {
	border-bottom: 0;
	padding-bottom: 0;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-row small {
	font-family: var(--font-text-strong), serif;
	font-size: 10.5px;
	letter-spacing: .12em;
	line-height: 1.9;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
	white-space: nowrap;
	flex-shrink: 0;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-row span {
	font-family: var(--font-text-regular), serif;
	font-size: 13.5px;
	line-height: 1.65;
	color: #fff;
	text-align: right;
}
/* full-width outline button — overrides global .cta */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside-cta,
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside-cta:hover {
	display: block;
	width: 100%;
	text-align: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 2px;
	padding: 14px 20px;
	margin: 26px 0 0;
	background-image: none;
	box-shadow: none;
	box-sizing: border-box;
	transition: background-color .18s, color .18s, border-color .18s;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside-cta {
	background-color: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.6);
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-aside-cta:hover {
	background-color: #fff;
	border-color: #fff;
	color: var(--color-1);
}
/* photo placeholder — on navy */
body.ministries-outreach section.ministries-outreach-fm .mo-fm-photo-placeholder {
	min-height: 288px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: rgba(255,255,255,.04);
	border: 1px dashed rgba(255,255,255,.28);
	border-radius: 0;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}
body.ministries-outreach section.ministries-outreach-fm .mo-fm-photo-placeholder span {
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
}
/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-outreach section.ministries-outreach-fm .mo-fm-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
@media only screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-fm {
		padding: 60px 20px;
	}
	body.ministries-outreach section.ministries-outreach-fm .btn-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* --- ministries-outreach: where this church goes (cream-bg, four cards) --- */
body.ministries-outreach section.ministries-outreach-wtcg {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-outreach section.ministries-outreach-wtcg .wrapper {
	max-width: 1068px;
	margin: 0 auto;
	padding: 0 24px;
}

/* header — heading wraps before the seal */
body.ministries-outreach section.ministries-outreach-wtcg .sec-head {
	margin-bottom: 44px;
	padding-right: 130px;
}

body.ministries-outreach section.ministries-outreach-wtcg .sec-head .kicker {
	margin: 0 0 14px;
}

body.ministries-outreach section.ministries-outreach-wtcg .sec-head h2 {
	max-width: 680px;
}

body.ministries-outreach section.ministries-outreach-wtcg .sec-head .rule {
	width: 50px;
	height: 3px;
	margin: 18px 0 0;
}

body.ministries-outreach section.ministries-outreach-wtcg .sec-mark {
	top: -12px;
	width: 102px;
	height: 102px;
	opacity: 1;
}

/* four cards */
body.ministries-outreach section.ministries-outreach-wtcg .cards.c4 {
	gap: 17px;
}

body.ministries-outreach section.ministries-outreach-wtcg .card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-top: 2px solid var(--color-2);
	padding: 30px 22px 28px;
}

body.ministries-outreach section.ministries-outreach-wtcg .card .num {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .06em;
	text-transform: none;
	color: var(--color-2);
	line-height: 1.3;
	margin: 0 0 14px;
}

body.ministries-outreach section.ministries-outreach-wtcg .card h3 {
	font-size: 18px;
	margin: 0 0 10px;
}

body.ministries-outreach section.ministries-outreach-wtcg .card p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--greyThree);
	margin: 0;
}

@media only screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-wtcg {
		padding: 60px 20px;
	}

	body.ministries-outreach section.ministries-outreach-wtcg .sec-head {
		padding-right: 0;
	}

	body.ministries-outreach section.ministries-outreach-wtcg .sec-mark {
		display: none;
	}
}

/* --- ministries-outreach cta-band: the message we carry --- */
body.ministries-outreach section.ministries-outreach-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-outreach section.ministries-outreach-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.ministries-outreach section.ministries-outreach-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-outreach section.ministries-outreach-cta-band .kicker {
	margin: 0;
}

body.ministries-outreach section.ministries-outreach-cta-band h2 {
	max-width: 17ch;
	margin: 18px auto 0;
}

body.ministries-outreach section.ministries-outreach-cta-band .lead {
	max-width: 70ch;
	margin: 18px auto 0;
}

body.ministries-outreach section.ministries-outreach-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.ministries-outreach section.ministries-outreach-cta-band .cta-band-row .cta,
body.ministries-outreach section.ministries-outreach-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-outreach section.ministries-outreach-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-outreach section.ministries-outreach-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-outreach section.ministries-outreach-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-outreach section.ministries-outreach-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-outreach section.ministries-outreach-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-outreach section.ministries-outreach-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MINISTRIES-RU-RECOVERY — body.ministries-ru-recovery
\*------------------------------------*/

/* --- ministries-ru-recovery hero --- */
body.ministries-ru-recovery section.ministries-ru-recovery-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-hero-body {
	position: relative;
	z-index: 1;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-crumbs a:hover {
	opacity: 0.85;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .kicker {
	margin-bottom: 14px;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero h1 em {
	color: var(--color-3);
	font-style: italic;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0 0 32px;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ru-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ru-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ru-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ru-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.ministries-ru-recovery section.ministries-ru-recovery-hero .wrapper {
		grid-template-columns: 1fr;
	}

	body.ministries-ru-recovery section.ministries-ru-recovery-hero .ministries-ru-recovery-hero-mark {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	body.ministries-ru-recovery section.ministries-ru-recovery-hero {
		padding-block: 48px;
	}
}

/* --- ministries-ru-recovery red-bg stat section --- */
section.ru-recovery-red-bg {
	background: var(--color-2);
	padding: 72px 20px 64px;
}

section.ru-recovery-red-bg .wrapper {
	padding: 0 24px;
}

section.ru-recovery-red-bg .ru-recovery-red-cols {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 52px;
	align-items: center;
}

section.ru-recovery-red-bg .ru-recovery-red-h2 {
	color: #fff;
	font-size: clamp(26px, 3.4vw, 38px);
	margin-bottom: 14px;
}

section.ru-recovery-red-bg .ru-recovery-red-p {
	color: rgba(255, 255, 255, .88);
	margin: 0;
}

/* stat row — three items side by side */
section.ru-recovery-red-bg .ru-stat-row {
	display: flex;
	gap: 0;
}

section.ru-recovery-red-bg .ru-stat {
	flex: 1;
	border-left: 1px solid rgba(255, 255, 255, .25);
	padding: 0 24px;
}

section.ru-recovery-red-bg .ru-stat:first-child {
	border-left: 0;
	padding-left: 0;
}

section.ru-recovery-red-bg .ru-stat b {
	display: block;
	font-family: var(--font-title), serif;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 700;
	color: #fff;
	line-height: 1;
	margin-bottom: 6px;
}

section.ru-recovery-red-bg .ru-stat span {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
	line-height: 1.4;
}

@media only screen and (max-width: 900px) {
	section.ru-recovery-red-bg .ru-recovery-red-cols {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media only screen and (max-width: 640px) {
	section.ru-recovery-red-bg {
		padding: 56px 20px 48px;
	}

	section.ru-recovery-red-bg .ru-stat-row {
		gap: 0;
	}

	section.ru-recovery-red-bg .ru-stat {
		padding: 0 16px;
	}

	section.ru-recovery-red-bg .ru-stat:first-child {
		padding-left: 0;
	}
}

/* --- ministries-ru-recovery WHAT-HAPPENS section --- */
body.ministries-ru-recovery section.ru-what {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-ru-recovery section.ru-what .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* two-column grid: prose left, sidebar right */
body.ministries-ru-recovery section.ru-what .ru-what-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 58px;
	align-items: start;
}

/* prose column */
body.ministries-ru-recovery section.ru-what .ru-what-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose p:last-of-type {
	margin-bottom: 0;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose p.ru-what-lede {
	font-size: 17px;
	line-height: 1.7;
	color: var(--greyFour);
}

body.ministries-ru-recovery section.ru-what .ru-what-prose h3 {
	font-size: 22px;
	margin: 36px 0 12px;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose h4 {
	font-size: 17px;
	margin: 24px 0 8px;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose ul.ru-addictions {
	list-style: disc;
	margin: 0 0 18px;
	padding-left: 22px;
	columns: 2;
	column-gap: 32px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
}

@media (max-width: 600px) {
	body.ministries-ru-recovery section.ru-what .ru-what-prose ul.ru-addictions {
		columns: 1;
	}
}

body.ministries-ru-recovery section.ru-what .ru-what-prose blockquote {
	margin: 28px 0 32px;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* CTA row — red filled + navy outline; overrides global .cta arrow/padding/hover */
body.ministries-ru-recovery section.ru-what .ru-what-prose .btn-row {
	gap: 12px;
	margin-top: 32px;
}

body.ministries-ru-recovery section.ru-what .ru-what-prose .btn-row .cta,
body.ministries-ru-recovery section.ru-what .ru-what-prose .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-ru-recovery section.ru-what .ru-what-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-ru-recovery section.ru-what .ru-what-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-ru-recovery section.ru-what .ru-what-cta-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-ru-recovery section.ru-what .ru-what-cta-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

/* sidebar */
body.ministries-ru-recovery section.ru-what .ru-what-sidebar {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

/* aside card */
body.ministries-ru-recovery section.ru-what .ru-what-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px 38px;
}

body.ministries-ru-recovery section.ru-what .ru-what-aside-title {
	font-size: 18px;
	margin: 0 0 12px;
}

/* detail rows */
body.ministries-ru-recovery section.ru-what .ru-what-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-ru-recovery section.ru-what .ru-what-row-last {
	border-bottom: 0;
	padding-bottom: 0;
}

body.ministries-ru-recovery section.ru-what .ru-what-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.ministries-ru-recovery section.ru-what .ru-what-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

/* phone CTA in aside — full-width outline */
body.ministries-ru-recovery section.ru-what .ru-what-aside-cta,
body.ministries-ru-recovery section.ru-what .ru-what-aside-cta:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 20px;
	border-radius: 2px;
	text-decoration: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-ru-recovery section.ru-what .ru-what-aside-cta {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-ru-recovery section.ru-what .ru-what-aside-cta:hover {
	background-color: var(--color-1);
	color: var(--color-6);
	border-color: var(--color-1);
}

/* form note */
body.ministries-ru-recovery section.ru-what .ru-what-aside p.ru-what-form-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--greyThree);
}

body.ministries-ru-recovery section.ru-what .ru-what-form-note a {
	color: inherit;
	text-decoration: underline;
}

body.ministries-ru-recovery section.ru-what .ru-what-form-note a:hover {
	color: var(--color-2);
}

/* photo placeholder */
body.ministries-ru-recovery section.ru-what .ru-what-photo {
	margin-top: 22px;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-ru-recovery section.ru-what .ru-what-photo::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-ru-recovery section.ru-what .ru-what-photo span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-ru-recovery section.ru-what .ru-what-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-ru-recovery section.ru-what .ru-what-sidebar {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-ru-recovery section.ru-what {
		padding: 60px 20px;
	}

	body.ministries-ru-recovery section.ru-what .btn-row {
		flex-direction: column;
	}
}

/*------------------------------------*\
    GIVING — body.giving
\*------------------------------------*/

/* --- hero --- */
body.giving section.giving-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
	overflow: hidden;
}

body.giving section.giving-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(700px 360px at 0% 0%, rgba(198,160,82,.14), transparent 70%);
	pointer-events: none;
}

body.giving section.giving-hero .wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.giving section.giving-hero .giving-hero-body {
	max-width: 640px;
}

body.giving section.giving-hero .giving-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.giving section.giving-hero .giving-crumbs a {
	color: rgba(255,255,255,.45);
}

body.giving section.giving-hero .giving-crumbs a:hover {
	color: #fff;
}

body.giving section.giving-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.giving section.giving-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.giving section.giving-hero .giving-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.giving section.giving-hero .giving-hero-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

body.giving section.giving-hero .giving-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

/* red CTA — shared by hero, prose and aside; overrides global .cta arrow/padding/hover */
body.giving .cta.giving-cta-red,
body.giving .cta.giving-cta-red:hover,
body.giving .cta.giving-cta-out,
body.giving .cta.giving-cta-out:hover {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.giving .cta.giving-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.giving .cta.giving-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.giving .cta.giving-cta-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.giving .cta.giving-cta-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 760px) {
	body.giving section.giving-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.giving section.giving-hero .giving-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.giving section.giving-hero {
		padding: 52px 20px 44px;
	}
}

/* --- where it goes: prose + aside --- */
body.giving section.giving-main {
	background: var(--color-4);
	padding: 88px 20px;
}

body.giving section.giving-main .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.giving section.giving-main .giving-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 60px;
	align-items: start;
}

/* prose column */
body.giving section.giving-main .giving-prose {
	min-width: 0;
}

body.giving section.giving-main .giving-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--color-5);
	margin: 0 0 18px;
}

body.giving section.giving-main .giving-prose p.giving-lede {
	font-size: 17px;
	color: var(--color-1);
}

body.giving section.giving-main .giving-prose h3 {
	font-family: var(--font-sm-title), serif;
	font-size: 24px;
	line-height: 1.25;
	color: var(--color-1);
	margin: 36px 0 14px;
}

body.giving section.giving-main .giving-prose blockquote {
	font-family: var(--font-title), serif;
	font-style: italic;
	font-size: 20px;
	line-height: 1.5;
	color: var(--color-1);
	border-left: 3px solid var(--color-2);
	margin: 30px 0;
	padding: 4px 0 4px 22px;
}

body.giving section.giving-main .giving-prose blockquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-strong), serif;
	font-style: normal;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--color-2);
}

body.giving section.giving-main .giving-prose ul {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}

body.giving section.giving-main .giving-prose li {
	position: relative;
	font-size: 15px;
	line-height: 1.7;
	color: var(--color-5);
	padding: 0 0 12px 20px;
}

body.giving section.giving-main .giving-prose li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 7px;
	height: 7px;
	background: var(--color-2);
}

body.giving section.giving-main .giving-prose li b {
	color: var(--color-1);
}

body.giving section.giving-main .giving-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

/* aside column */
body.giving section.giving-main .giving-aside-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

body.giving section.giving-main .giving-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 26px 28px 28px;
}

body.giving section.giving-main .giving-aside h3 {
	font-family: var(--font-sm-title), serif;
	font-size: 19px;
	line-height: 1.3;
	color: var(--color-1);
	margin: 0 0 10px;
}

body.giving section.giving-main .giving-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.giving section.giving-main .giving-aside-row small {
	font-family: var(--font-text-strong), serif;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	color: var(--color-5);
	white-space: nowrap;
	flex-shrink: 0;
}

body.giving section.giving-main .giving-aside-row span {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--color-1);
	text-align: right;
}

body.giving section.giving-main .cta.giving-cta-full {
	display: flex;
	width: 100%;
	margin-top: 24px;
}

body.giving section.giving-main .giving-aside-note {
	font-size: 12px;
	line-height: 1.6;
	color: var(--color-5);
	margin: 14px 0 0;
}

body.giving section.giving-main .giving-aside-address {
	font-size: 14px;
	line-height: 1.7;
	color: var(--color-1);
	margin: 0;
}

@media only screen and (max-width: 1020px) {
	body.giving section.giving-main .giving-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.giving section.giving-main .giving-aside-col {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.giving section.giving-main {
		padding: 60px 20px;
	}
}

/* --- four-free navy-bg section --- */
body.giving section.giving-free {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.giving section.giving-free .wrapper {
	padding: 0 24px;
}

body.giving section.giving-free .sec-head h2 {
	color: #fff;
	max-width: 80%;
}

body.giving section.giving-free .sec-head .rule {
	background: var(--color-2);
}

body.giving section.giving-free .giving-free-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

body.giving section.giving-free .giving-free-card {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-top: 3px solid var(--color-3);
	padding: 32px 26px 28px;
}

body.giving section.giving-free .giving-free-num {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--color-3);
	line-height: 1;
	margin-bottom: 18px;
}

body.giving section.giving-free .giving-free-card h3 {
	color: #fff;
	font-size: 20px;
	margin-bottom: 12px;
}

body.giving section.giving-free .giving-free-card p {
	color: rgba(255, 255, 255, .72);
	font-size: 15px;
	margin: 0;
	line-height: 1.65;
}

@media only screen and (max-width: 1020px) {
	body.giving section.giving-free .giving-free-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.giving section.giving-free {
		padding: 60px 20px;
	}

	body.giving section.giving-free .giving-free-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- giving cta-band: worth saying plainly --- */
body.giving section.giving-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.giving section.giving-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.giving section.giving-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.giving section.giving-cta-band .kicker {
	margin: 0;
}

body.giving section.giving-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 0;
}

body.giving section.giving-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.giving section.giving-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.giving section.giving-cta-band .cta-band-row .cta,
body.giving section.giving-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.giving section.giving-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.giving section.giving-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.giving section.giving-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.giving section.giving-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.giving section.giving-cta-band {
		padding: 56px 20px 64px;
	}

	body.giving section.giving-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MINISTRIES-RU-RECOVERY — ALT-BG: FAQ accordion
\*------------------------------------*/

/* --- section shell --- */
body.ministries-ru-recovery section.ru-altbg {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-ru-recovery section.ru-altbg .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* --- section header: kicker + h2 + rule left, seal top-right --- */
body.ministries-ru-recovery section.ru-altbg .ru-altbg-head {
	position: relative;
	text-align: left;
	margin-bottom: 44px;
	padding-right: 130px;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-head .kicker {
	margin: 0 0 14px;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-mark {
	position: absolute;
	top: -12px;
	right: 0;
	display: block;
	width: 102px;
	height: 102px;
	margin: 0;
	opacity: 1;
	filter: drop-shadow(0 6px 18px rgba(10, 30, 60, .13));
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-head h2 {
	max-width: none;
	margin: 0;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-rule {
	width: 50px;
	height: 3px;
	background: var(--color-2);
	margin: 16px 0 0;
}

/* --- accordion: full wrapper width --- */
body.ministries-ru-recovery section.ru-altbg .ru-acc {
	border-top: 1px solid var(--greyOne);
	max-width: none;
	margin: 0;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc details {
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-ru-recovery section.ru-altbg .ru-acc summary {
	list-style: none;
	cursor: pointer;
	padding: 23px 44px 23px 0;
	position: relative;
	font-family: var(--font-title), serif;
	font-size: 19px;
	font-weight: 700;
	color: var(--greyFour);
	outline: none;
	transition: color .18s;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc summary::-webkit-details-marker {
	display: none;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc summary::marker {
	content: "";
}

/* chevron */
body.ministries-ru-recovery section.ru-altbg .ru-acc summary:after {
	content: "";
	position: absolute;
	right: 6px;
	top: 30px;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid var(--color-2);
	border-bottom: 1.5px solid var(--color-2);
	transform: rotate(45deg);
	transition: transform .25s ease;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc details[open] summary:after {
	transform: rotate(-135deg);
}

body.ministries-ru-recovery section.ru-altbg .ru-acc summary:hover {
	color: var(--color-2);
}

/* accordion body */
body.ministries-ru-recovery section.ru-altbg .ru-acc-body {
	padding: 0 0 26px;
	max-width: 620px;
	animation: acc-fade .28s ease;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc-body p {
	margin: 0 0 14px;
	color: var(--greyThree);
	font-size: 14px;
	line-height: 1.65;
}

body.ministries-ru-recovery section.ru-altbg .ru-acc-body p:last-child {
	margin-bottom: 0;
}

/* --- disclaimer block --- */
body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer {
	max-width: 738px;
	margin: 40px 0 0;
	padding: 32px 33px 34px;
	background: var(--color-6);
	border: 1px solid var(--greyOne);
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer h3 {
	font-size: 19px;
	margin: 0 0 10px;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer p {
	font-size: 14.5px;
	color: var(--greyThree);
	margin: 0 0 10px;
	line-height: 1.6;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer p:last-child {
	margin-bottom: 0;
}

body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer b {
	color: var(--greyFour);
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.ministries-ru-recovery section.ru-altbg .ru-acc {
		max-width: 100%;
	}

	body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer {
		max-width: 100%;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-ru-recovery section.ru-altbg {
		padding: 60px 20px;
	}

	body.ministries-ru-recovery section.ru-altbg .ru-altbg-head {
		padding-right: 0;
	}

	body.ministries-ru-recovery section.ru-altbg .ru-altbg-mark {
		display: none;
	}

	body.ministries-ru-recovery section.ru-altbg .ru-acc summary {
		font-size: 17px;
		padding-right: 36px;
	}

	body.ministries-ru-recovery section.ru-altbg .ru-altbg-disclaimer {
		padding: 22px 20px;
	}
}

/*------------------------------------*\
    MINISTRIES-RU-RECOVERY — NAVY-BG: why the name fits
\*------------------------------------*/

/* --- section shell --- */
body.ministries-ru-recovery section.ru-navy-bg {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.ministries-ru-recovery section.ru-navy-bg .wrapper {
	padding: 0 24px;
}

/* --- two-column even grid --- */
body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

/* --- text column --- */
body.ministries-ru-recovery section.ru-navy-bg .ru-navy-h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 18px;
}

body.ministries-ru-recovery section.ru-navy-bg .lead.on-dark {
	color: rgba(255, 255, 255, .78);
	max-width: 56ch;
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-lead-2 {
	margin-top: 18px;
}

/* --- CTA row --- */
body.ministries-ru-recovery section.ru-navy-bg .btn-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* --- photo placeholder column --- */
body.ministries-ru-recovery section.ru-navy-bg .ru-navy-photo {
	display: flex;
	align-items: stretch;
	min-height: 340px;
	background: rgba(255, 255, 255, .06);
	border: 1px dashed rgba(255, 255, 255, .25);
	align-items: center;
	justify-content: center;
	padding: 32px 20px;
	text-align: center;
}

body.ministries-ru-recovery section.ru-navy-bg .ru-navy-photo span {
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
	font-style: italic;
}

/* --- responsive --- */
@media only screen and (max-width: 1020px) {
	body.ministries-ru-recovery section.ru-navy-bg .ru-navy-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-ru-recovery section.ru-navy-bg {
		padding: 60px 20px;
	}

	body.ministries-ru-recovery section.ru-navy-bg .btn-row {
		flex-direction: column;
	}

	body.ministries-ru-recovery section.ru-navy-bg .ru-navy-photo {
		min-height: 200px;
	}
}

/*------------------------------------*\
    MINISTRIES-RU-RECOVERY — CTA-BAND: This Friday
\*------------------------------------*/

body.ministries-ru-recovery section.ru-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-ru-recovery section.ru-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.ministries-ru-recovery section.ru-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-ru-recovery section.ru-cta-band .kicker {
	margin: 0;
}

body.ministries-ru-recovery section.ru-cta-band h2 {
	max-width: 17ch;
	margin: 18px auto 0;
}

body.ministries-ru-recovery section.ru-cta-band .lead {
	max-width: 70ch;
	margin: 18px auto 0;
}

body.ministries-ru-recovery section.ru-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.ministries-ru-recovery section.ru-cta-band .cta-band-row .cta,
body.ministries-ru-recovery section.ru-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-ru-recovery section.ru-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-ru-recovery section.ru-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-ru-recovery section.ru-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-ru-recovery section.ru-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-ru-recovery section.ru-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-ru-recovery section.ru-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MINISTRIES-FOOD-BANK — body.ministries-food-bank
\*------------------------------------*/

/* --- ministries-food-bank hero --- */
body.ministries-food-bank section.ministries-food-bank-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}

body.ministries-food-bank section.ministries-food-bank-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-hero-body {
	position: relative;
	z-index: 1;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-crumbs a:hover {
	opacity: 0.85;
}

body.ministries-food-bank section.ministries-food-bank-hero .kicker {
	margin-bottom: 14px;
}

body.ministries-food-bank section.ministries-food-bank-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.ministries-food-bank section.ministries-food-bank-hero h1 em {
	color: var(--color-3);
	font-style: italic;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0 0 32px;
}

body.ministries-food-bank section.ministries-food-bank-hero .fb-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.ministries-food-bank section.ministries-food-bank-hero .fb-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-food-bank section.ministries-food-bank-hero .fb-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.ministries-food-bank section.ministries-food-bank-hero .fb-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.ministries-food-bank section.ministries-food-bank-hero .wrapper {
		grid-template-columns: 1fr;
	}

	body.ministries-food-bank section.ministries-food-bank-hero .ministries-food-bank-hero-mark {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	body.ministries-food-bank section.ministries-food-bank-hero {
		padding-block: 48px;
	}
}

/* --- ministries-food-bank red-bg stat section --- */
section.fb-red-bg {
	background: var(--color-2);
	padding: 72px 20px 64px;
}

section.fb-red-bg .wrapper {
	padding: 0 24px;
}

section.fb-red-bg .fb-red-cols {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 52px;
	align-items: center;
}

section.fb-red-bg .fb-red-h2 {
	color: #fff;
	font-size: clamp(26px, 3.4vw, 38px);
	margin-bottom: 14px;
}

section.fb-red-bg .fb-red-p {
	color: rgba(255, 255, 255, .88);
	margin: 0;
}

/* stat row — three items side by side */
section.fb-red-bg .fb-stat-row {
	display: flex;
	gap: 0;
}

section.fb-red-bg .fb-stat {
	flex: 1;
	border-left: 1px solid rgba(255, 255, 255, .25);
	padding: 0 24px;
}

section.fb-red-bg .fb-stat:first-child {
	border-left: 0;
	padding-left: 0;
}

section.fb-red-bg .fb-stat b {
	display: block;
	font-family: var(--font-title), serif;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 700;
	color: #fff;
	line-height: 1;
	margin-bottom: 6px;
}

section.fb-red-bg .fb-stat span {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
	line-height: 1.4;
}

@media only screen and (max-width: 900px) {
	section.fb-red-bg .fb-red-cols {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media only screen and (max-width: 640px) {
	section.fb-red-bg {
		padding: 56px 20px 48px;
	}

	section.fb-red-bg .fb-stat-row {
		gap: 0;
	}

	section.fb-red-bg .fb-stat {
		padding: 0 16px;
	}

	section.fb-red-bg .fb-stat:first-child {
		padding-left: 0;
	}
}

/* --- ministries-food-bank WHAT-HAPPENS section --- */
body.ministries-food-bank section.fb-what {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.ministries-food-bank section.fb-what .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* two-column grid: prose left, sidebar right */
body.ministries-food-bank section.fb-what .fb-what-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 58px;
	align-items: start;
}

/* prose column */
body.ministries-food-bank section.fb-what .fb-what-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.ministries-food-bank section.fb-what .fb-what-prose p:last-of-type {
	margin-bottom: 0;
}

body.ministries-food-bank section.fb-what .fb-what-prose p.fb-what-lede {
	font-size: 17px;
	line-height: 1.7;
	color: var(--greyFour);
}

body.ministries-food-bank section.fb-what .fb-what-prose h3 {
	font-size: 22px;
	margin: 36px 0 12px;
}

body.ministries-food-bank section.fb-what .fb-what-prose blockquote {
	margin: 28px 0 32px;
}

body.ministries-food-bank section.fb-what .fb-what-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* CTA row — red filled + navy outline; overrides global .cta arrow/padding/hover */
body.ministries-food-bank section.fb-what .fb-what-prose .btn-row {
	gap: 12px;
	margin-top: 32px;
}

body.ministries-food-bank section.fb-what .fb-what-prose .btn-row .cta,
body.ministries-food-bank section.fb-what .fb-what-prose .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-food-bank section.fb-what .fb-what-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-food-bank section.fb-what .fb-what-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-food-bank section.fb-what .fb-what-cta-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-food-bank section.fb-what .fb-what-cta-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

/* sidebar */
body.ministries-food-bank section.fb-what .fb-what-sidebar {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

/* aside card */
body.ministries-food-bank section.fb-what .fb-what-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px 38px;
}

body.ministries-food-bank section.fb-what .fb-what-aside-title {
	font-size: 18px;
	margin: 0 0 12px;
}

/* detail rows */
body.ministries-food-bank section.fb-what .fb-what-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-food-bank section.fb-what .fb-what-row-last {
	border-bottom: 0;
	padding-bottom: 0;
}

body.ministries-food-bank section.fb-what .fb-what-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.ministries-food-bank section.fb-what .fb-what-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

/* phone CTA in aside — full-width outline */
body.ministries-food-bank section.fb-what .fb-what-aside-cta,
body.ministries-food-bank section.fb-what .fb-what-aside-cta:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 20px;
	border-radius: 2px;
	text-decoration: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-food-bank section.fb-what .fb-what-aside-cta {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-food-bank section.fb-what .fb-what-aside-cta:hover {
	background-color: var(--color-1);
	color: var(--color-6);
	border-color: var(--color-1);
}

/* form note */
body.ministries-food-bank section.fb-what .fb-what-aside p.fb-what-form-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--greyThree);
}

body.ministries-food-bank section.fb-what .fb-what-form-note a {
	color: inherit;
	text-decoration: underline;
}

body.ministries-food-bank section.fb-what .fb-what-form-note a:hover {
	color: var(--color-2);
}

/* photo placeholder */
body.ministries-food-bank section.fb-what .fb-what-photo {
	margin-top: 22px;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-food-bank section.fb-what .fb-what-photo::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-food-bank section.fb-what .fb-what-photo span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-food-bank section.fb-what .fb-what-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-food-bank section.fb-what .fb-what-sidebar {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-food-bank section.fb-what {
		padding: 60px 20px;
	}

	body.ministries-food-bank section.fb-what .btn-row {
		flex-direction: column;
	}
}

/*------------------------------------*\
    MINISTRIES-FOOD-BANK — CTA-BAND: This Thursday
\*------------------------------------*/

body.ministries-food-bank section.fb-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-food-bank section.fb-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.ministries-food-bank section.fb-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-food-bank section.fb-cta-band .kicker {
	margin: 0;
}

body.ministries-food-bank section.fb-cta-band h2 {
	max-width: 17ch;
	margin: 18px auto 0;
}

body.ministries-food-bank section.fb-cta-band .lead {
	max-width: 70ch;
	margin: 18px auto 0;
}

body.ministries-food-bank section.fb-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.ministries-food-bank section.fb-cta-band .cta-band-row .cta,
body.ministries-food-bank section.fb-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-food-bank section.fb-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-food-bank section.fb-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-food-bank section.fb-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-food-bank section.fb-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-food-bank section.fb-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-food-bank section.fb-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/* --- ministries-food-bank FAQ section (uses global .acc accordion) --- */
body.ministries-food-bank section.fb-faq {
	padding: 80px 20px;
}

body.ministries-food-bank section.fb-faq .sec-head {
	margin-bottom: 36px;
}

@media only screen and (max-width: 640px) {
	body.ministries-food-bank section.fb-faq {
		padding: 56px 20px;
	}
}

/*------------------------------------*\
    MINISTRIES-WOMENS — body.ministries-womens
\*------------------------------------*/

/* --- ministries-womens hero --- */
body.ministries-womens section.ministries-womens-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}

body.ministries-womens section.ministries-womens-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-hero-body {
	position: relative;
	z-index: 1;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-crumbs a:hover {
	opacity: 0.85;
}

body.ministries-womens section.ministries-womens-hero .kicker {
	margin-bottom: 14px;
}

body.ministries-womens section.ministries-womens-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.ministries-womens section.ministries-womens-hero h1 em {
	color: #FFD9DC;
	font-style: italic;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0 0 32px;
}

body.ministries-womens section.ministries-womens-hero .mw-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.ministries-womens section.ministries-womens-hero .mw-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-womens section.ministries-womens-hero .mw-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.ministries-womens section.ministries-womens-hero .mw-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.ministries-womens section.ministries-womens-hero .ministries-womens-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.ministries-womens section.ministries-womens-hero .wrapper {
		grid-template-columns: 1fr;
	}

	body.ministries-womens section.ministries-womens-hero .ministries-womens-hero-mark {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	body.ministries-womens section.ministries-womens-hero {
		padding-block: 48px;
	}
}

/* --- ministries-womens intro: two-column prose + sidebar --- */
body.ministries-womens section.ministries-womens-intro {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
}

body.ministries-womens section.ministries-womens-intro .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.ministries-womens section.ministries-womens-intro .mw-cols {
	display: grid;
	grid-template-columns: 1fr 385px;
	gap: 58px;
	align-items: start;
}

/* prose column */
body.ministries-womens section.ministries-womens-intro .mw-prose p {
	color: var(--greyFour);
	margin-bottom: 18px;
}

body.ministries-womens section.ministries-womens-intro .mw-prose p.mw-lede {
	font-size: 1.1875rem;
	line-height: 1.72;
	color: var(--greyFour);
}

body.ministries-womens section.ministries-womens-intro .mw-prose h3 {
	margin: 36px 0 14px;
}

body.ministries-womens section.ministries-womens-intro .mw-prose blockquote {
	margin: 28px 0 32px;
}

body.ministries-womens section.ministries-womens-intro .mw-prose blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* button variants for intro section */
body.ministries-womens .mw-cta-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-womens .mw-cta-out:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* intro CTA row — red filled + navy outline; overrides global .cta arrow/padding/hover */
body.ministries-womens section.ministries-womens-intro .mw-prose .btn-row {
	gap: 12px;
	margin-top: 32px;
}

body.ministries-womens section.ministries-womens-intro .mw-prose .btn-row .cta,
body.ministries-womens section.ministries-womens-intro .mw-prose .btn-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-womens section.ministries-womens-intro .mw-prose .mw-cta-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-womens section.ministries-womens-intro .mw-prose .mw-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-womens section.ministries-womens-intro .mw-prose .mw-cta-ghost {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-womens section.ministries-womens-intro .mw-prose .mw-cta-ghost:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

/* sidebar */
body.ministries-womens section.ministries-womens-intro .mw-sidebar {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

body.ministries-womens section.ministries-womens-intro .mw-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
}

body.ministries-womens section.ministries-womens-intro .mw-aside h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

body.ministries-womens section.ministries-womens-intro .mw-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.ministries-womens section.ministries-womens-intro .mw-aside-row-last {
	border-bottom: 0;
	padding-bottom: 0;
}

body.ministries-womens section.ministries-womens-intro .mw-aside-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.ministries-womens section.ministries-womens-intro .mw-aside-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

/* full-width outline button — overrides global .cta arrow/padding/hover */
body.ministries-womens section.ministries-womens-intro .mw-aside .cta,
body.ministries-womens section.ministries-womens-intro .mw-aside .cta:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 20px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-womens section.ministries-womens-intro .mw-aside .cta {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-womens section.ministries-womens-intro .mw-aside .cta:hover {
	background-color: var(--color-1);
	color: var(--color-6);
	border-color: var(--color-1);
}

/* photo placeholder under the sidebar card */
body.ministries-womens section.ministries-womens-intro .mw-photo-placeholder {
	margin-top: 22px;
	min-height: 288px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: var(--color-6);
	border: 1px dashed var(--greyTwo);
}

body.ministries-womens section.ministries-womens-intro .mw-photo-placeholder::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.ministries-womens section.ministries-womens-intro .mw-photo-placeholder span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.ministries-womens section.ministries-womens-intro .mw-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.ministries-womens section.ministries-womens-intro .mw-sidebar {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.ministries-womens section.ministries-womens-intro {
		padding: 60px 20px;
	}

	body.ministries-womens section.ministries-womens-intro .btn-row {
		flex-direction: column;
	}
}

/* --- ministries-womens FAQ: navy-bg accordion --- */
body.ministries-womens section.ministries-womens-faq {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.ministries-womens section.ministries-womens-faq .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

/* sec-head on dark — full wrapper width so the logo sits at the right edge */
body.ministries-womens section.ministries-womens-faq .sec-head {
	max-width: none;
}

body.ministries-womens section.ministries-womens-faq .sec-head h2 {
	color: #fff;
}

body.ministries-womens section.ministries-womens-faq .sec-head .rule {
	background: var(--color-2);
}

/* accordion on dark bg — override chrome colours only */
body.ministries-womens section.ministries-womens-faq .acc {
	border-top-color: rgba(255, 255, 255, .15);
	max-width: none;
}

body.ministries-womens section.ministries-womens-faq .acc details {
	border-bottom-color: rgba(255, 255, 255, .15);
}

body.ministries-womens section.ministries-womens-faq .acc summary {
	color: #fff;
}

body.ministries-womens section.ministries-womens-faq .acc summary:hover {
	color: var(--color-3);
}

body.ministries-womens section.ministries-womens-faq .acc summary:after {
	border-right-color: var(--color-3);
	border-bottom-color: var(--color-3);
}

body.ministries-womens section.ministries-womens-faq .acc .body p {
	color: rgba(255, 255, 255, .78);
}

body.ministries-womens section.ministries-womens-faq .acc .body a {
	color: var(--color-3);
}

body.ministries-womens section.ministries-womens-faq .acc .body a:hover {
	color: #fff;
}

@media only screen and (max-width: 640px) {
	body.ministries-womens section.ministries-womens-faq {
		padding: 60px 20px;
	}
}

/* --- ministries-womens cta-band: knowing the Saviour --- */
body.ministries-womens section.ministries-womens-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.ministries-womens section.ministries-womens-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.ministries-womens section.ministries-womens-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.ministries-womens section.ministries-womens-cta-band .kicker {
	margin: 0;
}

body.ministries-womens section.ministries-womens-cta-band h2 {
	max-width: 16ch;
	margin: 18px auto 0;
}

body.ministries-womens section.ministries-womens-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.ministries-womens section.ministries-womens-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.ministries-womens section.ministries-womens-cta-band .cta-band-row .cta,
body.ministries-womens section.ministries-womens-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.ministries-womens section.ministries-womens-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.ministries-womens section.ministries-womens-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.ministries-womens section.ministries-womens-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.ministries-womens section.ministries-womens-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.ministries-womens section.ministries-womens-cta-band {
		padding: 56px 20px 64px;
	}

	body.ministries-womens section.ministries-womens-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    OUR-PASTOR — body.our-pastor
\*------------------------------------*/

/*------------------------------------*\
    PLAN-YOUR-VISIT — body.plan-your-visit
\*------------------------------------*/

/* --- plan-your-visit hero --- */
body.plan-your-visit section.pyv-hero {
	background-color: var(--color-1);
	padding-block: 80px 60px;
}
body.plan-your-visit section.pyv-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
body.plan-your-visit section.pyv-hero .pyv-hero-body {
	max-width: 600px;
}
body.plan-your-visit section.pyv-hero .pyv-crumbs {
	font-size: 0.8125rem;
	color: var(--color-3);
	margin-bottom: 16px;
}
body.plan-your-visit section.pyv-hero .pyv-crumbs a {
	color: var(--color-3);
}
body.plan-your-visit section.pyv-hero .pyv-crumbs a:hover {
	color: var(--color-6);
}
body.plan-your-visit section.pyv-hero .kicker {
	margin-bottom: 12px;
}
body.plan-your-visit section.pyv-hero h1 {
	color: var(--color-6);
	margin-bottom: 20px;
}
body.plan-your-visit section.pyv-hero h1 em {
	color: #FFD9DC;
	font-style: italic;
}
body.plan-your-visit section.pyv-hero .pyv-hero-sub {
	color: rgba(255,255,255,0.78);
	font-size: 1.0625rem;
	line-height: 1.6;
}
body.plan-your-visit section.pyv-hero .pyv-hero-mark {
	flex-shrink: 0;
	opacity: 0.18;
	width: 220px;
	height: 220px;
}
@media (max-width: 860px) {
	body.plan-your-visit section.pyv-hero .wrapper {
		flex-direction: column;
	}
	body.plan-your-visit section.pyv-hero .pyv-hero-mark {
		display: none;
	}
	body.plan-your-visit section.pyv-hero {
		padding-block: 48px 40px;
	}
}

/* --- plan-your-visit what-happens section --- */
body.plan-your-visit section.pyv-what-happens {
	background-color: var(--color-6);
}

/* --- plan-your-visit kids section (alt-bg two-column) --- */
body.plan-your-visit section.pyv-kids .wrapper {
	max-width: 1140px;
	margin-inline: auto;
}
body.plan-your-visit section.pyv-kids .pyv-kids-cols {
	display: flex;
	align-items: flex-start;
	gap: 60px;
}
body.plan-your-visit section.pyv-kids .pyv-kids-prose {
	flex: 1 1 0;
}
body.plan-your-visit section.pyv-kids .pyv-kids-prose h2 {
	margin: 14px 0 18px;
}
body.plan-your-visit section.pyv-kids .pyv-kids-prose p {
	margin-bottom: 18px;
}
body.plan-your-visit section.pyv-kids .pyv-kids-prose p.big {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--greyFour);
}
body.plan-your-visit section.pyv-kids .pyv-kids-cta {
	background: var(--color-1);
	color: var(--color-6);
	border: 2px solid var(--color-1);
}
body.plan-your-visit section.pyv-kids .pyv-kids-cta:hover {
	background: transparent;
	color: var(--color-1);
}
body.plan-your-visit section.pyv-kids .pyv-kids-photo {
	flex: 0 0 480px;
	min-height: 640px;
	background: transparent;
	border: 1px dashed var(--greyTwo);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
}
body.plan-your-visit section.pyv-kids .pyv-kids-photo::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}
body.plan-your-visit section.pyv-kids .pyv-kids-photo span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}
@media (max-width: 860px) {
	body.plan-your-visit section.pyv-kids .pyv-kids-cols {
		flex-direction: column;
	}
	body.plan-your-visit section.pyv-kids .pyv-kids-photo {
		flex: none;
		width: 100%;
		min-height: 280px;
	}
}

/* --- plan-your-visit FAQ (inherits global .acc chrome) --- */
body.plan-your-visit section.pyv-faq {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
}
body.plan-your-visit section.pyv-faq .wrapper {
	max-width: 900px;
	padding: 0 24px;
}
body.plan-your-visit section.pyv-faq .sec-head {
	margin-bottom: 36px;
}
body.plan-your-visit section.pyv-faq .sec-head h2 {
	max-width: 20ch;
}
body.plan-your-visit section.pyv-faq .sec-head .rule {
	width: 42px;
	height: 2px;
	margin: 16px 0 0;
}
body.plan-your-visit section.pyv-faq .sec-head .sec-mark {
	width: 86px;
	height: 86px;
}
body.plan-your-visit section.pyv-faq .acc summary {
	padding: 20px 44px 20px 0;
	color: var(--color-1);
}
body.plan-your-visit section.pyv-faq .acc summary:hover {
	color: var(--color-2);
}
body.plan-your-visit section.pyv-faq .acc summary:after {
	top: 27px;
	width: 8px;
	height: 8px;
}
body.plan-your-visit section.pyv-faq .acc .body {
	max-width: 72ch;
	padding-bottom: 24px;
}
body.plan-your-visit section.pyv-faq .acc .body p {
	font-size: 13px;
	line-height: 1.5;
}
@media (max-width: 640px) {
	body.plan-your-visit section.pyv-faq .sec-head .sec-mark {
		display: none;
	}
	body.plan-your-visit section.pyv-faq .acc summary {
		font-size: 15px;
		padding-right: 36px;
	}
}

/* --- plan-your-visit save-a-seat (navy-bg): form left, find-us + map right --- */
body.plan-your-visit section.pyv-seat {
	background: var(--color-1);
	color: #fff;
	padding: 68px 20px 96px;
}
body.plan-your-visit section.pyv-seat .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}
body.plan-your-visit section.pyv-seat .pyv-seat-cols {
	display: grid;
	grid-template-columns: 1fr 385px;
	gap: 58px;
	align-items: start;
}
body.plan-your-visit section.pyv-seat .kicker {
	margin: 0;
}
body.plan-your-visit section.pyv-seat h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 18px;
}
body.plan-your-visit section.pyv-seat .lead {
	color: rgba(255,255,255,.82);
	font-size: 17.5px;
	max-width: none;
}

/* form container — w3 form widget renders inside */
body.plan-your-visit section.pyv-seat .pyv-seat-form {
	margin-top: 34px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.2);
	padding: 32px;
	min-height: 120px;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form .form-container {
	max-width: none;
	margin: 0;
	padding: 0;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0;
	margin: 0 0 22px;
}
/* first + last name side by side */
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_firstName),
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_lastName) {
	width: 50%;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_firstName) {
	padding-right: 7px;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_lastName) {
	padding-left: 7px;
}
/* recaptcha v3 hidden-field wrapper */
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(> input[type="hidden"]:only-child) {
	display: none;
}

/* field labels (text/select/textarea) + radio group heading */
body.plan-your-visit section.pyv-seat .pyv-seat-form label span,
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input > span {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}

/* text inputs, select, textarea */
body.plan-your-visit section.pyv-seat .pyv-seat-form input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
body.plan-your-visit section.pyv-seat .pyv-seat-form select,
body.plan-your-visit section.pyv-seat .pyv-seat-form textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 0;
	cursor: text;
	transition: border-color .15s, background .15s;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form select {
	cursor: pointer;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form select option {
	color: var(--greyFour);
	background: #fff;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form textarea {
	height: 134px;
	resize: vertical;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form input::placeholder,
body.plan-your-visit section.pyv-seat .pyv-seat-form textarea::placeholder {
	color: rgba(255,255,255,.4);
}
body.plan-your-visit section.pyv-seat .pyv-seat-form input:focus,
body.plan-your-visit section.pyv-seat .pyv-seat-form select:focus,
body.plan-your-visit section.pyv-seat .pyv-seat-form textarea:focus {
	outline: 0;
	border-color: rgba(255,255,255,.6);
	background: rgba(255,255,255,.14);
}
/* hide number spinners on the phone field */
body.plan-your-visit section.pyv-seat .pyv-seat-form input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form input[type="number"]::-webkit-inner-spin-button,
body.plan-your-visit section.pyv-seat .pyv-seat-form input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* radio group: "are you bringing children?" */
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(input[type="radio"]) br {
	display: none;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(input[type="radio"]) label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	cursor: pointer;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(input[type="radio"]) label:last-of-type {
	margin-bottom: 0;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form input[type="radio"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	accent-color: var(--color-2);
	cursor: pointer;
}

/* submit button — overrides global button/.cta */
body.plan-your-visit section.pyv-seat .pyv-seat-form button.cta,
body.plan-your-visit section.pyv-seat .pyv-seat-form button.cta:hover {
	display: block;
	width: 100%;
	margin: 4px 0 0;
	padding: 15px 24px;
	border: 0;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background .18s;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form button.cta {
	background: var(--color-2);
}
body.plan-your-visit section.pyv-seat .pyv-seat-form button.cta:hover {
	background: #8E1622;
}
body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(button.cta) {
	margin-bottom: 0;
}

/* find us */
body.plan-your-visit section.pyv-seat .pyv-seat-find {
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.2);
	padding: 28px 27px;
}
body.plan-your-visit section.pyv-seat .pyv-seat-find h3 {
	color: #fff;
	font-size: 18px;
	margin-bottom: 12px;
}
body.plan-your-visit section.pyv-seat .pyv-seat-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}
body.plan-your-visit section.pyv-seat .pyv-seat-row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}
body.plan-your-visit section.pyv-seat .pyv-seat-row small {
	color: rgba(255,255,255,.6);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}
body.plan-your-visit section.pyv-seat .pyv-seat-row span {
	color: #fff;
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}
body.plan-your-visit section.pyv-seat .pyv-seat-row a {
	color: #fff;
}
body.plan-your-visit section.pyv-seat .pyv-seat-row a:hover {
	color: #F0B7BC;
}
body.plan-your-visit section.pyv-seat .pyv-seat-ghost,
body.plan-your-visit section.pyv-seat .pyv-seat-ghost:hover {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 26px 0 0;
	padding: 14px 20px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	transition: background .18s, color .18s, border-color .18s;
}
body.plan-your-visit section.pyv-seat .pyv-seat-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
}
body.plan-your-visit section.pyv-seat .pyv-seat-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
}

/* map */
body.plan-your-visit section.pyv-seat .pyv-seat-map {
	margin-top: 22px;
	min-height: 272px;
	background: rgba(255,255,255,.05);
}
body.plan-your-visit section.pyv-seat .pyv-seat-map iframe {
	display: block;
	width: 100%;
	height: 272px;
	border: 0;
}

@media only screen and (max-width: 1020px) {
	body.plan-your-visit section.pyv-seat .pyv-seat-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
@media only screen and (max-width: 640px) {
	body.plan-your-visit section.pyv-seat {
		padding: 56px 20px 64px;
	}
	body.plan-your-visit section.pyv-seat .pyv-seat-form {
		padding: 22px 18px;
	}
	body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_firstName),
	body.plan-your-visit section.pyv-seat .pyv-seat-form div.form-input:has(.w3form_lastName) {
		width: 100%;
		padding: 0;
	}
}

/* --- plan-your-visit cta-band: before Sunday --- */
body.plan-your-visit section.pyv-cta-band {
	background: var(--color-6);
	text-align: center;
	padding: 76px 20px 84px;
}
body.plan-your-visit section.pyv-cta-band .wrapper {
	padding: 0 24px;
}
body.plan-your-visit section.pyv-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}
body.plan-your-visit section.pyv-cta-band .kicker {
	margin: 0;
}
body.plan-your-visit section.pyv-cta-band h2 {
	max-width: 19ch;
	margin: 18px auto 0;
}
body.plan-your-visit section.pyv-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-row .cta,
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 14px 24px;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-red:hover {
	background: #8E1622;
	border-color: #8E1622;
	color: #fff;
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-out {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}
body.plan-your-visit section.pyv-cta-band .pyv-cta-band-out:hover {
	background: var(--color-1);
	border-color: var(--color-1);
	color: #fff;
}
@media only screen and (max-width: 640px) {
	body.plan-your-visit section.pyv-cta-band {
		padding: 56px 20px 64px;
	}
	body.plan-your-visit section.pyv-cta-band .pyv-cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/* --- .pyv-num time label (GLOBAL candidate — unique to this section for now) --- */
.cards.c4 .card .pyv-num {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-2);
	margin-bottom: 10px;
	letter-spacing: 0.01em;
}

/* --- our-pastor hero --- */
body.our-pastor section.our-pastor-hero {
	background-color: var(--color-1);
	position: relative;
	overflow: hidden;
}

body.our-pastor section.our-pastor-hero .wrapper {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 40px;
	padding-block: 72px;
}

body.our-pastor section.our-pastor-hero .our-pastor-hero-body {
	position: relative;
	z-index: 1;
	max-width: 75%;
}

body.our-pastor section.our-pastor-hero .our-pastor-crumbs {
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: var(--color-6);
	opacity: 0.7;
	margin: 0 0 18px;
}

body.our-pastor section.our-pastor-hero .our-pastor-crumbs a {
	color: var(--color-6);
	text-decoration: none;
}

body.our-pastor section.our-pastor-hero .our-pastor-crumbs a:hover {
	opacity: 0.85;
}

body.our-pastor section.our-pastor-hero .kicker {
	margin-bottom: 14px;
}

body.our-pastor section.our-pastor-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.our-pastor section.our-pastor-hero h1 em {
	color: #FFD9DC;
	font-style: italic;
}

body.our-pastor section.our-pastor-hero .our-pastor-hero-sub {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: var(--color-6);
	opacity: 0.88;
	margin: 0 0 32px;
}

body.our-pastor section.our-pastor-hero .op-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.our-pastor section.our-pastor-hero .op-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.our-pastor section.our-pastor-hero .op-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, .5);
}

body.our-pastor section.our-pastor-hero .op-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.our-pastor section.our-pastor-hero .our-pastor-hero-mark {
	opacity: 0.12;
	width: 300px;
	height: 300px;
	object-fit: contain;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	body.our-pastor section.our-pastor-hero .wrapper {
		grid-template-columns: 1fr;
	}

	body.our-pastor section.our-pastor-hero .our-pastor-hero-mark {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	body.our-pastor section.our-pastor-hero {
		padding-block: 48px;
	}
}

/* --- our-pastor bio: prose left, photo + at-a-glance right --- */
body.our-pastor section.op-bio {
	background: var(--color-4);
	padding: 76px 20px 88px;
}

body.our-pastor section.op-bio .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.our-pastor section.op-bio .op-bio-cols {
	display: grid;
	grid-template-columns: 1fr 385px;
	gap: 58px;
	align-items: start;
}

/* prose */
body.our-pastor section.op-bio .op-bio-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.our-pastor section.op-bio .op-bio-prose p.big {
	font-size: 17.5px;
	line-height: 1.65;
	color: var(--greyFour);
}

body.our-pastor section.op-bio .op-bio-prose h3 {
	font-size: 22px;
	margin: 40px 0 14px;
}

body.our-pastor section.op-bio .op-bio-pull {
	margin: 36px 0 40px;
	padding: 4px 0 4px 24px;
	border-left: 2px solid var(--color-2);
	font-size: clamp(22px, 2.3vw, 27px);
	line-height: 1.35;
	font-weight: 400;
}

body.our-pastor section.op-bio .op-bio-pull cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* buttons */
body.our-pastor section.op-bio .cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 14px 24px;
	border-radius: 2px;
	background-image: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}

body.our-pastor section.op-bio .cta:hover {
	padding: 14px 24px;
	box-shadow: none;
	background-position: unset;
}

body.our-pastor section.op-bio .op-bio-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid var(--color-2);
}

body.our-pastor section.op-bio .op-bio-red:hover {
	background: #8E1622;
	border-color: #8E1622;
	color: #fff;
}

body.our-pastor section.op-bio .op-bio-out {
	background: #fff;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.our-pastor section.op-bio .op-bio-out:hover {
	background: var(--color-1);
	border-color: var(--color-1);
	color: #fff;
}

/* photo placeholder */
body.our-pastor section.op-bio .op-bio-photo {
	min-height: 510px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 32px 20px;
	text-align: center;
	background: transparent;
	border: 1px dashed var(--greyTwo);
}

body.our-pastor section.op-bio .op-bio-photo::before {
	content: "";
	width: 66px;
	height: 66px;
	background: url(uploads/logo-300x300.webp) center / contain no-repeat;
	opacity: .3;
}

body.our-pastor section.op-bio .op-bio-photo span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
	opacity: .75;
}

/* at a glance */
body.our-pastor section.op-bio .op-bio-glance {
	margin-top: 22px;
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
}

body.our-pastor section.op-bio .op-bio-glance h3 {
	font-size: 18px;
	margin-bottom: 12px;
}

body.our-pastor section.op-bio .op-bio-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.our-pastor section.op-bio .op-bio-row:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

body.our-pastor section.op-bio .op-bio-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.our-pastor section.op-bio .op-bio-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

body.our-pastor section.op-bio .op-bio-glance .cta {
	display: flex;
	width: 100%;
	margin-top: 26px;
}

@media only screen and (max-width: 1020px) {
	body.our-pastor section.op-bio .op-bio-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.our-pastor section.op-bio .op-bio-photo {
		min-height: 280px;
	}
}

@media only screen and (max-width: 640px) {
	body.our-pastor section.op-bio {
		padding: 56px 20px 64px;
	}
}

/* --- our-pastor timeline (FROM-STREET-CORNERS-TO) --- */
body.our-pastor section.op-timeline {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.our-pastor section.op-timeline .wrapper {
	padding: 0 24px;
}

body.our-pastor section.op-timeline .sec-head {
	max-width: none;
}

body.our-pastor section.op-timeline .sec-head h2 {
	color: #fff;
	max-width: 760px;
}

@media only screen and (max-width: 1020px) {
	body.our-pastor section.op-timeline .sec-head h2 {
		max-width: calc(100% - 130px);
	}
}

@media only screen and (max-width: 640px) {
	body.our-pastor section.op-timeline .sec-head .sec-mark {
		display: none;
	}

	body.our-pastor section.op-timeline .sec-head h2 {
		max-width: none;
	}
}

body.our-pastor section.op-timeline .sec-head .rule {
	background: var(--color-2);
}

/* timeline list */
body.our-pastor section.op-timeline .op-timeline-list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 680px;
}

body.our-pastor section.op-timeline .op-timeline-list li {
	padding: 22px 0 22px 28px;
	border-left: 2px solid rgba(255,255,255,.18);
	position: relative;
	background-image: none;
	font-size: 1rem;
	line-height: 1.6;
}

body.our-pastor section.op-timeline .op-timeline-list li::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 28px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-2);
}

body.our-pastor section.op-timeline .op-timeline-list li small {
	display: block;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--color-3);
	margin-bottom: 6px;
}

body.our-pastor section.op-timeline .op-timeline-list li b {
	display: block;
	font-family: var(--font-title), serif;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 8px;
}

body.our-pastor section.op-timeline .op-timeline-list li p {
	margin: 0;
	font-size: 15px;
	color: rgba(255,255,255,.72);
	line-height: 1.65;
}

body.our-pastor section.op-timeline .op-timeline-list li em {
	font-style: italic;
	color: rgba(255,255,255,.88);
}

@media only screen and (max-width: 640px) {
	body.our-pastor section.op-timeline {
		padding: 60px 20px;
	}
}

/* --- our-pastor cta-band: if grace reached a roofer --- */
body.our-pastor section.op-cta-band {
	background: var(--color-6);
	text-align: center;
	padding: 76px 20px 84px;
}

body.our-pastor section.op-cta-band .wrapper {
	padding: 0 24px;
}

body.our-pastor section.op-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
}

body.our-pastor section.op-cta-band .kicker {
	margin: 0;
}

body.our-pastor section.op-cta-band h2 {
	max-width: 17ch;
	margin: 18px auto 0;
}

body.our-pastor section.op-cta-band .lead {
	max-width: 54ch;
	margin: 18px auto 0;
}

body.our-pastor section.op-cta-band .op-cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

body.our-pastor section.op-cta-band .op-cta-band-row .cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
	background-image: none;
	margin: 0;
}

body.our-pastor section.op-cta-band .op-cta-band-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.our-pastor section.op-cta-band .op-cta-band-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 24px;
	box-shadow: none;
	background-position: unset;
}

body.our-pastor section.op-cta-band .op-cta-band-ghost {
	background: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.our-pastor section.op-cta-band .op-cta-band-ghost:hover {
	background: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	padding: 14px 24px;
	box-shadow: none;
	background-position: unset;
}

@media only screen and (max-width: 640px) {
	body.our-pastor section.op-cta-band {
		padding: 60px 20px;
	}

	body.our-pastor section.op-cta-band .op-cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    SALVATION — body.salvation
\*------------------------------------*/

/* --- hero --- */
body.salvation section.sv-hero {
	background-color: var(--color-1);
	padding-block: 80px 60px;
}

body.salvation section.sv-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.salvation section.sv-hero .sv-hero-body {
	max-width: 620px;
}

body.salvation section.sv-hero .sv-crumbs {
	font-size: 0.8125rem;
	color: var(--color-3);
	margin-bottom: 16px;
}

body.salvation section.sv-hero .sv-crumbs a {
	color: var(--color-3);
}

body.salvation section.sv-hero .sv-crumbs a:hover {
	color: var(--color-6);
}

body.salvation section.sv-hero h1 {
	color: var(--color-6);
	margin: 0 0 22px;
}

body.salvation section.sv-hero h1 em {
	color: #F0B7BC;
	font-style: italic;
}

body.salvation section.sv-hero .sv-hero-sub {
	color: rgba(255, 255, 255, .78);
	font-size: 1.0625rem;
	line-height: 1.65;
}

body.salvation section.sv-hero .sv-hero-mark {
	flex-shrink: 0;
	opacity: 0.14;
	width: 220px;
	height: 220px;
}

@media (max-width: 860px) {
	body.salvation section.sv-hero .wrapper {
		flex-direction: column;
	}

	body.salvation section.sv-hero .sv-hero-mark {
		display: none;
	}

	body.salvation section.sv-hero {
		padding-block: 48px 40px;
	}
}

/* --- navy-bg: one question + five-step accordion --- */
body.salvation section.sv-navy-bg {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.salvation section.sv-navy-bg .wrapper {
	padding: 0 24px;
}

/* two-column grid */
body.salvation section.sv-navy-bg .sv-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
}

/* --- left column --- */
body.salvation section.sv-navy-bg .sv-navy-h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 22px;
}

/* question prompt card */
body.salvation section.sv-navy-bg .sv-quote-box {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 4px;
	padding: 30px 32px;
	margin-bottom: 34px;
}

body.salvation section.sv-navy-bg .sv-quote-text {
	font-size: 1.375rem;
	line-height: 1.4;
	color: #fff;
	margin: 0 0 16px;
}

body.salvation section.sv-navy-bg .sv-quote-sub {
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, .62);
	margin: 0;
}

/* prose below the card */
body.salvation section.sv-navy-bg .sv-prose p {
	color: rgba(255, 255, 255, .82);
	margin: 0 0 16px;
}

body.salvation section.sv-navy-bg .sv-prose p:last-child {
	margin-bottom: 0;
}

body.salvation section.sv-navy-bg .sv-big {
	font-size: 1.125rem;
	line-height: 1.68;
	font-weight: 500;
	color: rgba(255, 255, 255, .92);
}

/* pull quote (blockquote) on dark bg */
body.salvation section.sv-navy-bg blockquote.sv-pull {
	border-left-color: var(--color-3);
	color: rgba(255, 255, 255, .88);
	margin: 34px 0 0;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
}

body.salvation section.sv-navy-bg blockquote.sv-pull cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .5);
}

/* --- right column: steps accordion --- */
body.salvation section.sv-navy-bg .sv-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: sv-step;
}

body.salvation section.sv-navy-bg .sv-steps li {
	list-style: none;
	counter-increment: sv-step;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	padding: 0;
}

body.salvation section.sv-navy-bg .sv-steps li:first-child summary {
	padding-top: 0;
}

body.salvation section.sv-navy-bg .sv-steps li:first-child summary:before {
	top: -4px;
}

body.salvation section.sv-navy-bg .sv-steps li:first-child summary:after {
	top: 6px;
}

body.salvation section.sv-navy-bg .sv-steps details {
	padding: 0;
}

body.salvation section.sv-navy-bg .sv-steps summary {
	list-style: none;
	cursor: pointer;
	padding: 26px 44px 20px 54px;
	position: relative;
	outline: none;
}

/* gold circled step number */
body.salvation section.sv-navy-bg .sv-steps summary:before {
	content: counter(sv-step);
	position: absolute;
	left: 0;
	top: 22px;
	width: 36px;
	height: 36px;
	border: 1px solid var(--color-3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-title), serif;
	font-size: 12px;
	line-height: 1;
	color: var(--color-3);
}

body.salvation section.sv-navy-bg .sv-steps summary::-webkit-details-marker {
	display: none;
}

body.salvation section.sv-navy-bg .sv-steps summary::marker {
	content: "";
}

/* chevron */
body.salvation section.sv-navy-bg .sv-steps summary:after {
	content: "";
	position: absolute;
	right: 4px;
	top: 32px;
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(255, 255, 255, .6);
	border-bottom: 1px solid rgba(255, 255, 255, .6);
	transform: rotate(45deg);
	transition: transform .25s ease;
}

body.salvation section.sv-navy-bg .sv-steps details[open] summary:after {
	transform: translateY(5px) rotate(-135deg);
}

body.salvation section.sv-navy-bg .sv-steps summary h3 {
	font-family: var(--font-sm-title), serif;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: normal;
	margin: 0 0 8px;
}

/* summary allows phrasing content only — span styled as a block paragraph */
body.salvation section.sv-navy-bg .sv-steps summary .sv-sum {
	display: block;
	font-family: var(--font-text-regular), serif;
	color: rgba(255, 255, 255, .78);
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 10px;
}

/* scripture reference link-hint */
body.salvation section.sv-navy-bg .sv-steps .refx {
	display: inline-block;
	font-family: var(--font-text-strong), serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-3);
}

/* revealed scripture block — red rule, indented under the step text */
body.salvation section.sv-navy-bg .sv-scripture {
	margin: 4px 0 24px 54px;
	padding: 2px 0 4px 18px;
	border-left: 1px solid var(--color-2);
	animation: acc-fade .28s ease;
}

body.salvation section.sv-navy-bg .sv-scripture p {
	font-family: var(--font-title), serif;
	font-size: 15px;
	line-height: 1.6;
	color: #fff;
	font-style: italic;
	margin: 0;
}

body.salvation section.sv-navy-bg .sv-scripture p.sv-scripture-cont {
	margin-top: 16px;
}

body.salvation section.sv-navy-bg .sv-scripture cite {
	display: block;
	margin-top: 10px;
	font-family: var(--font-text-strong), serif;
	font-style: normal;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

/* KJV footnote */
body.salvation section.sv-navy-bg .sv-scripture-note {
	margin-top: 28px;
	font-size: 0.78125rem;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .38);
	font-family: var(--font-text-regular), serif;
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.salvation section.sv-navy-bg .sv-cols {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

@media only screen and (max-width: 640px) {
	body.salvation section.sv-navy-bg {
		padding: 60px 20px;
	}

	body.salvation section.sv-navy-bg .sv-quote-box {
		padding: 22px 20px;
	}
}

/* --- alt-bg: sinner's prayer + two CTAs --- */
body.salvation section.sv-alt-bg {
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.salvation section.sv-alt-bg .wrapper {
	padding: 0 24px;
}

body.salvation section.sv-alt-bg .sv-alt-center {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}

body.salvation section.sv-alt-bg .sv-alt-h2 {
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 16px 0 20px;
}

body.salvation section.sv-alt-bg .sv-alt-lead {
	max-width: 62ch;
	margin: 0 auto 32px;
}

body.salvation section.sv-alt-bg .sv-alt-prayer {
	max-width: 720px;
	margin: 0 auto;
	background: var(--color-4);
	border-left: 4px solid var(--color-2);
	border-radius: 0;
	padding: 28px 30px;
	font-family: var(--font-title), serif;
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.62;
	color: var(--greyFour);
}

body.salvation section.sv-alt-bg .sv-alt-bottom {
	max-width: 780px;
	margin: 36px auto 0;
	text-align: center;
}

body.salvation section.sv-alt-bg .sv-alt-btn-row {
	justify-content: center;
}

@media only screen and (max-width: 640px) {
	body.salvation section.sv-alt-bg {
		padding: 60px 20px;
	}
	body.salvation section.sv-alt-bg .sv-alt-btn-row {
		flex-direction: column;
	}
}

/* =============================================
   SALVATION — TELL-US (intro + form left, next-steps asides right)
   ============================================= */

body.salvation section.sv-tell-us {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
	padding: 72px 20px 88px;
}

body.salvation section.sv-tell-us .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.salvation section.sv-tell-us .sv-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 58px;
	align-items: start;
}

/* left column: intro */
body.salvation section.sv-tell-us .sv-col-left {
	min-width: 0;
}

body.salvation section.sv-tell-us .kicker {
	margin: 0;
}

body.salvation section.sv-tell-us .sv-tell-h2 {
	font-family: var(--font-title), serif;
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1.1;
	color: var(--color-1);
	margin: 16px 0 0;
}

body.salvation section.sv-tell-us .sv-rule {
	width: 50px;
	height: 2px;
	background: var(--color-2);
	margin: 18px 0 24px;
}

body.salvation section.sv-tell-us .lead {
	font-size: 17px;
	line-height: 1.65;
	color: var(--color-5);
	max-width: none;
	margin: 0 0 32px;
}

/* form card — w3 form widget renders inside */
body.salvation section.sv-tell-us .sv-form-card {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 32px;
}
body.salvation section.sv-tell-us .sv-form-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--color-5);
}
body.salvation section.sv-tell-us .form-container {
	max-width: none;
	margin: 0;
	padding: 0;
}
body.salvation section.sv-tell-us div.form-input {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0;
	margin: 0 0 22px;
}
/* first + last name side by side */
body.salvation section.sv-tell-us div.form-input:has(.w3form_firstName),
body.salvation section.sv-tell-us div.form-input:has(.w3form_lastName) {
	width: 50%;
}
body.salvation section.sv-tell-us div.form-input:has(.w3form_firstName) {
	padding-right: 7px;
}
body.salvation section.sv-tell-us div.form-input:has(.w3form_lastName) {
	padding-left: 7px;
}
/* recaptcha v3 hidden-field wrapper */
body.salvation section.sv-tell-us div.form-input:has(> input[type="hidden"]:only-child) {
	display: none;
}

/* field labels + radio/checkbox group headings */
body.salvation section.sv-tell-us .form-container label span,
body.salvation section.sv-tell-us div.form-input > span {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}
/* free-bible option stands alone — no group heading in the design */
body.salvation section.sv-tell-us div.form-input:has(.w3form_bible) > span {
	display: none;
}

/* text inputs, select, textarea */
body.salvation section.sv-tell-us .form-container input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
body.salvation section.sv-tell-us .form-container select,
body.salvation section.sv-tell-us .form-container textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--greyFour);
	background: var(--color-4);
	border: 1px solid var(--greyOne);
	border-radius: 0;
	cursor: text;
	transition: border-color .15s, background .15s;
}
body.salvation section.sv-tell-us .form-container select {
	cursor: pointer;
}
body.salvation section.sv-tell-us .form-container textarea {
	height: 134px;
	resize: vertical;
}
body.salvation section.sv-tell-us .form-container input::placeholder,
body.salvation section.sv-tell-us .form-container textarea::placeholder {
	color: #8A929C;
}
body.salvation section.sv-tell-us .form-container input:focus,
body.salvation section.sv-tell-us .form-container select:focus,
body.salvation section.sv-tell-us .form-container textarea:focus {
	outline: 0;
	border-color: var(--color-1);
	background: #fff;
}

/* radio + checkbox groups */
body.salvation section.sv-tell-us div.form-input:has(input[type="radio"]) br,
body.salvation section.sv-tell-us div.form-input:has(input[type="checkbox"]) br {
	display: none;
}
body.salvation section.sv-tell-us div.form-input label:has(input[type="radio"]),
body.salvation section.sv-tell-us div.form-input label:has(input[type="checkbox"]) {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--greyFour);
	cursor: pointer;
}
body.salvation section.sv-tell-us div.form-input label:has(input[type="radio"]):last-of-type,
body.salvation section.sv-tell-us div.form-input label:has(input[type="checkbox"]):last-of-type {
	margin-bottom: 0;
}
body.salvation section.sv-tell-us .form-container input[type="radio"],
body.salvation section.sv-tell-us .form-container input[type="checkbox"] {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin: 4px 0 0;
	padding: 0;
	accent-color: var(--color-1);
	cursor: pointer;
}

/* submit button — overrides global button/.cta */
body.salvation section.sv-tell-us .form-container button.cta,
body.salvation section.sv-tell-us .form-container button.cta:hover {
	display: block;
	width: 100%;
	margin: 4px 0 0;
	padding: 15px 20px;
	border: 0;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background .18s;
}
body.salvation section.sv-tell-us .form-container button.cta {
	background: var(--color-2);
}
body.salvation section.sv-tell-us .form-container button.cta:hover {
	background: #8E1622;
}
body.salvation section.sv-tell-us div.form-input:has(button.cta) {
	margin-bottom: 0;
}

/* right column: aside cards */
body.salvation section.sv-tell-us .sv-col-right {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

body.salvation section.sv-tell-us .sv-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 26px 28px 28px;
}

body.salvation section.sv-tell-us .sv-aside-h3 {
	font-family: var(--font-sm-title), serif;
	font-size: 19px;
	line-height: 1.3;
	color: var(--color-1);
	margin: 0 0 10px;
}

/* numbered next-step rows */
body.salvation section.sv-tell-us .sv-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.salvation section.sv-tell-us .sv-aside-row:last-of-type {
	border-bottom: none;
}

body.salvation section.sv-tell-us .sv-aside-num {
	font-family: var(--font-text-strong), serif;
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.9;
	color: var(--color-5);
	flex-shrink: 0;
}

body.salvation section.sv-tell-us .sv-aside-row span {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--color-1);
	text-align: right;
}

body.salvation section.sv-tell-us .sv-aside-p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-5);
	margin: 0;
}

/* aside buttons — full width; override global .cta arrow/padding/hover */
body.salvation section.sv-tell-us .sv-aside-btn,
body.salvation section.sv-tell-us .sv-aside-btn:hover {
	display: block;
	width: 100%;
	text-align: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 15px 20px;
	border-radius: 0;
	text-decoration: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.salvation section.sv-tell-us .sv-aside-btn.mm-cta-out {
	margin: 18px 0 0;
	background-color: transparent;
	color: var(--color-1);
	border: 1px solid var(--color-1);
}

body.salvation section.sv-tell-us .sv-aside-btn.mm-cta-out:hover {
	background-color: var(--color-1);
	color: var(--color-6);
}

body.salvation section.sv-tell-us .sv-aside-btn.mm-cta-red {
	margin: 32px 0 0;
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1px solid var(--color-2);
}

body.salvation section.sv-tell-us .sv-aside-btn.mm-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

@media only screen and (max-width: 1020px) {
	body.salvation section.sv-tell-us .sv-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	body.salvation section.sv-tell-us {
		padding: 56px 20px 60px;
	}
	body.salvation section.sv-tell-us .sv-form-card {
		padding: 22px 18px;
	}
	body.salvation section.sv-tell-us div.form-input:has(.w3form_firstName),
	body.salvation section.sv-tell-us div.form-input:has(.w3form_lastName) {
		width: 100%;
		padding: 0;
	}
}

/* =============================================
   SALVATION — NAVY-BG #2 (honest objections accordion)
   ============================================= */

body.salvation section.sv-navy-acc {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.salvation section.sv-navy-acc .wrapper {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Section header */
body.salvation section.sv-navy-acc .sv-acc-head {
	position: relative;
	margin-bottom: 48px;
}

body.salvation section.sv-navy-acc .sv-acc-mark {
	position: absolute;
	right: 0;
	top: -6px;
	width: 112px;
	height: 112px;
	opacity: .5;
}

body.salvation section.sv-navy-acc .sv-acc-h2 {
	font-family: var(--font-title), serif;
	font-size: clamp(30px, 4.2vw, 46px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: #fff;
	margin: 14px 0 18px;
	max-width: 760px;
}

body.salvation section.sv-navy-acc .sv-acc-rule {
	width: 56px;
	height: 3px;
	background: var(--color-2);
	margin-bottom: 22px;
}

/* Accordion */
body.salvation section.sv-navy-acc .sv-acc {
	border-top: 1px solid rgba(255, 255, 255, .16);
}

body.salvation section.sv-navy-acc .sv-acc details {
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

body.salvation section.sv-navy-acc .sv-acc summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 44px 22px 0;
	position: relative;
	font-family: var(--font-title), serif;
	font-size: 20px;
	font-weight: 600;
	color: #fff;
	outline: none;
	transition: color .18s;
}

body.salvation section.sv-navy-acc .sv-acc summary::-webkit-details-marker {
	display: none;
}

body.salvation section.sv-navy-acc .sv-acc summary::marker {
	content: "";
}

body.salvation section.sv-navy-acc .sv-acc summary::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 30px;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid var(--color-3);
	border-bottom: 1.5px solid var(--color-3);
	transform: rotate(45deg);
	transition: transform .18s;
}

body.salvation section.sv-navy-acc .sv-acc details[open] summary::after {
	transform: rotate(-135deg);
}

body.salvation section.sv-navy-acc .sv-acc summary:hover {
	color: var(--color-3);
}

body.salvation section.sv-navy-acc .sv-acc-body {
	padding: 0 0 28px;
	max-width: 76ch;
	animation: fade .28s ease;
}

body.salvation section.sv-navy-acc .sv-acc-body p {
	margin: 0 0 14px;
	color: rgba(255, 255, 255, .74);
	font-size: 15.5px;
}

body.salvation section.sv-navy-acc .sv-acc-body p:last-child {
	margin-bottom: 0;
}

body.salvation section.sv-navy-acc .sv-acc-ref {
	display: inline-block;
	margin-top: 4px;
	font-size: 11.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--color-3);
}
@media only screen and (max-width:1200px) {
	.sec-head .sec-mark,
	body section .ru-altbg-mark,
	body section .sv-acc-mark {
		position: static;
		display: block;
		width: 72px;
		height: 72px;
		margin: 0 0 18px;
	}
}
@media only screen and (max-width:800px) {
	body.home section.declaration .dec-prayer p,
	body.home section.ru-recovery-section .ru-recovery-body p {
		font-size: 1.2rem;
	}
}
@media only screen and (max-width: 640px) {

	body.salvation section.sv-navy-acc {
		padding: 60px 20px;
	}

	body.salvation section.sv-navy-acc .sv-acc-mark {
		display: none;
	}

	body.salvation section.sv-navy-acc .sv-acc summary {
		font-size: 17px;
		padding-right: 36px;
	}
}

body.salvation section.sv-alt-bg .sv-alt-btn-row {
	justify-content: center;
	margin-top: 28px;
}

@media only screen and (max-width: 640px) {
	body.salvation section.sv-alt-bg {
		padding: 60px 20px;
	}

	body.salvation section.sv-alt-bg .sv-alt-btn-row {
		flex-direction: column;
		align-items: center;
	}
}

/* --- CTA band (salvation page) --- */
body.salvation section.sv-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.salvation section.sv-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.salvation section.sv-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.salvation section.sv-cta-band .kicker {
	margin: 0;
}

body.salvation section.sv-cta-band h2 {
	max-width: 16ch;
	margin: 18px auto 0;
}

body.salvation section.sv-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.salvation section.sv-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.salvation section.sv-cta-band .cta-band-row .cta,
body.salvation section.sv-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.salvation section.sv-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.salvation section.sv-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.salvation section.sv-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.salvation section.sv-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.salvation section.sv-cta-band {
		padding: 56px 20px 64px;
	}

	body.salvation section.sv-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    PRAYER-REQUEST — body.prayer-request
\*------------------------------------*/

/* --- hero --- */
body.prayer-request section.pr-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.prayer-request section.pr-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.prayer-request section.pr-hero .pr-hero-body {
	max-width: 600px;
}

body.prayer-request section.pr-hero .pr-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.prayer-request section.pr-hero .pr-crumbs a {
	color: rgba(255,255,255,.45);
}

body.prayer-request section.pr-hero .pr-crumbs a:hover {
	color: #fff;
}

body.prayer-request section.pr-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.prayer-request section.pr-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.prayer-request section.pr-hero .pr-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.prayer-request section.pr-hero .pr-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

@media only screen and (max-width: 760px) {
	body.prayer-request section.pr-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	body.prayer-request section.pr-hero .pr-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.prayer-request section.pr-hero {
		padding: 52px 20px 44px;
	}
}

/* --- form + asides section --- */
body.prayer-request section.pr-form-section {
	background: var(--color-4);
	padding: 88px 20px;
}

body.prayer-request section.pr-form-section .wrapper {
	padding: 0 24px;
}

body.prayer-request section.pr-form-section .pr-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 58px;
	align-items: start;
}

/* form column */
body.prayer-request section.pr-form-section .pr-form-col {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-radius: 0;
	padding: 32px;
}

body.prayer-request section.pr-form-section .pr-form-note {
	margin-top: 16px;
	font-size: 12px;
	color: var(--color-5);
	line-height: 1.6;
}

/* w3 form widget — renders inside .pr-form-col */
body.prayer-request section.pr-form-section .form-container {
	max-width: none;
	margin: 0;
	padding: 0;
}
body.prayer-request section.pr-form-section div.form-input {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0;
	margin: 0 0 22px;
}
/* first + last name side by side */
body.prayer-request section.pr-form-section div.form-input:has(.w3form_firstName),
body.prayer-request section.pr-form-section div.form-input:has(.w3form_lastName) {
	width: 50%;
}
body.prayer-request section.pr-form-section div.form-input:has(.w3form_firstName) {
	padding-right: 7px;
}
body.prayer-request section.pr-form-section div.form-input:has(.w3form_lastName) {
	padding-left: 7px;
}
/* recaptcha v3 hidden-field wrapper */
body.prayer-request section.pr-form-section div.form-input:has(> input[type="hidden"]:only-child) {
	display: none;
}

/* field labels + radio/checkbox group headings */
body.prayer-request section.pr-form-section .form-container label span,
body.prayer-request section.pr-form-section div.form-input > span {
	display: block;
	margin-bottom: 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--greyThree);
}

/* text inputs, select, textarea */
body.prayer-request section.pr-form-section .form-container input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
body.prayer-request section.pr-form-section .form-container select,
body.prayer-request section.pr-form-section .form-container textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--greyFour);
	background: var(--color-4);
	border: 1px solid var(--greyOne);
	border-radius: 0;
	cursor: text;
	transition: border-color .15s, background .15s;
}
body.prayer-request section.pr-form-section .form-container select {
	cursor: pointer;
}
body.prayer-request section.pr-form-section .form-container textarea {
	height: 134px;
	resize: vertical;
}
body.prayer-request section.pr-form-section .form-container input::placeholder,
body.prayer-request section.pr-form-section .form-container textarea::placeholder {
	color: #8A929C;
}
body.prayer-request section.pr-form-section .form-container input:focus,
body.prayer-request section.pr-form-section .form-container select:focus,
body.prayer-request section.pr-form-section .form-container textarea:focus {
	outline: 0;
	border-color: var(--color-1);
	background: #fff;
}
/* hide number spinners on the phone field */
body.prayer-request section.pr-form-section .form-container input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}
body.prayer-request section.pr-form-section .form-container input[type="number"]::-webkit-inner-spin-button,
body.prayer-request section.pr-form-section .form-container input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* radio + checkbox groups */
body.prayer-request section.pr-form-section div.form-input:has(input[type="radio"]) br,
body.prayer-request section.pr-form-section div.form-input:has(input[type="checkbox"]) br {
	display: none;
}
body.prayer-request section.pr-form-section div.form-input label:has(input[type="radio"]),
body.prayer-request section.pr-form-section div.form-input label:has(input[type="checkbox"]) {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 10px;
	font-family: var(--font-text-regular), serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--greyFour);
	cursor: pointer;
}
body.prayer-request section.pr-form-section div.form-input label:has(input[type="radio"]):last-of-type,
body.prayer-request section.pr-form-section div.form-input label:has(input[type="checkbox"]):last-of-type {
	margin-bottom: 0;
}
body.prayer-request section.pr-form-section .form-container input[type="radio"],
body.prayer-request section.pr-form-section .form-container input[type="checkbox"] {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin: 4px 0 0;
	padding: 0;
	accent-color: var(--color-1);
	cursor: pointer;
}

/* submit button — overrides global button/.cta */
body.prayer-request section.pr-form-section .form-container button.cta,
body.prayer-request section.pr-form-section .form-container button.cta:hover {
	display: block;
	width: 100%;
	margin: 4px 0 0;
	padding: 15px 20px;
	border: 0;
	border-radius: 2px;
	background-image: none;
	box-shadow: none;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	transition: background .18s;
}
body.prayer-request section.pr-form-section .form-container button.cta {
	background: var(--color-2);
}
body.prayer-request section.pr-form-section .form-container button.cta:hover {
	background: #8E1622;
}
body.prayer-request section.pr-form-section div.form-input:has(button.cta) {
	margin-bottom: 0;
}

/* aside column */
body.prayer-request section.pr-form-section .pr-aside-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* aside card */
body.prayer-request section.pr-form-section .pr-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	border-radius: 0;
	padding: 26px 28px 28px;
}

body.prayer-request section.pr-form-section .pr-aside h3 {
	font-family: var(--font-sm-title), serif;
	font-size: 19px;
	line-height: 1.3;
	color: var(--color-1);
	margin: 0 0 10px;
}

/* step rows */
body.prayer-request section.pr-form-section .pr-aside-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.prayer-request section.pr-form-section .pr-aside-row-last {
	border-bottom: none;
}

body.prayer-request section.pr-form-section .pr-aside-row small {
	font-family: var(--font-text-strong), serif;
	font-size: 10.5px;
	font-weight: 500;
	color: var(--color-5);
	line-height: 1.9;
	flex-shrink: 0;
}

body.prayer-request section.pr-form-section .pr-aside-row span {
	font-size: 13.5px;
	color: var(--color-1);
	text-align: right;
	line-height: 1.6;
}

/* aside CTA buttons — override global .cta arrow/padding/hover */
body.prayer-request section.pr-form-section .pr-aside-cta,
body.prayer-request section.pr-form-section .pr-aside-cta:hover {
	display: block;
	text-align: center;
	font-family: var(--font-cta), serif;
	font-weight: 600;
	font-size: 14px;
	padding: 15px 20px;
	border-radius: 0;
	text-decoration: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.prayer-request section.pr-form-section .pr-aside-cta-out {
	margin: 18px 0 0;
	background-color: transparent;
	color: var(--color-1);
	border: 1px solid var(--color-1);
}

body.prayer-request section.pr-form-section .pr-aside-cta-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

body.prayer-request section.pr-form-section .pr-aside-cta-red {
	margin: 32px 0 0;
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1px solid var(--color-2);
}

body.prayer-request section.pr-form-section .pr-aside-cta-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

/* "need more" aside variant */
body.prayer-request section.pr-form-section .pr-aside-note {
	font-size: 14px;
	color: var(--color-5);
	margin: 0;
	line-height: 1.6;
}

body.prayer-request section.pr-form-section .pr-aside-crisis {
	margin-top: 20px;
	line-height: 1.6;
}

body.prayer-request section.pr-form-section .pr-aside-crisis b {
	color: var(--color-1);
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.prayer-request section.pr-form-section .pr-cols {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 40px;
	}
}

@media only screen and (max-width: 760px) {
	body.prayer-request section.pr-form-section .pr-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.prayer-request section.pr-form-section .pr-aside-col {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
}

@media only screen and (max-width: 560px) {
	body.prayer-request section.pr-form-section .pr-aside-col {
		grid-template-columns: 1fr;
	}

	body.prayer-request section.pr-form-section {
		padding: 60px 20px;
	}

	body.prayer-request section.pr-form-section .pr-form-col {
		padding: 22px 18px;
	}

	body.prayer-request section.pr-form-section div.form-input:has(.w3form_firstName),
	body.prayer-request section.pr-form-section div.form-input:has(.w3form_lastName) {
		width: 100%;
		padding: 0;
	}
}

/* --- wednesday navy-bg section --- */
body.prayer-request section.pr-navy-bg {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.prayer-request section.pr-navy-bg .wrapper {
	padding: 0 24px;
}

body.prayer-request section.pr-navy-bg .pr-navy-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

body.prayer-request section.pr-navy-bg .pr-navy-h2 {
	color: #fff;
	font-size: clamp(28px, 3.8vw, 44px);
	margin: 14px 0 18px;
}

body.prayer-request section.pr-navy-bg .pr-navy-h2 em {
	font-style: italic;
	color: #FFD9DC;
}

body.prayer-request section.pr-navy-bg .lead.on-dark {
	color: rgba(255,255,255,.78);
	max-width: 56ch;
}

body.prayer-request section.pr-navy-bg .pr-navy-lead-2 {
	margin-top: 18px;
}

body.prayer-request section.pr-navy-bg .pr-navy-cta-red {
	background: var(--color-2);
	color: #fff;
	border: 1.5px solid transparent;
}

body.prayer-request section.pr-navy-bg .pr-navy-cta-red:hover {
	background: #8E1622;
	color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

body.prayer-request section.pr-navy-bg .pr-navy-cta-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.5);
}

body.prayer-request section.pr-navy-bg .pr-navy-cta-ghost:hover {
	background: #fff;
	color: var(--color-1);
	border-color: #fff;
	padding: 14px 26px;
	box-shadow: none;
	background-position: unset;
}

/* pull-quote column */
body.prayer-request section.pr-navy-bg .pr-navy-pull blockquote {
	border-left-color: var(--color-3);
	color: rgba(255,255,255,.88);
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	margin: 0;
}

body.prayer-request section.pr-navy-bg .pr-navy-pull blockquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-text-regular), serif;
	font-style: normal;
	font-size: 0.8125rem;
	letter-spacing: .06em;
	color: rgba(255,255,255,.5);
}

@media only screen and (max-width: 1020px) {
	body.prayer-request section.pr-navy-bg .pr-navy-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media only screen and (max-width: 640px) {
	body.prayer-request section.pr-navy-bg {
		padding: 60px 20px;
	}

	body.prayer-request section.pr-navy-bg .btn-row {
		flex-direction: column;
	}
}

/* --- prayer-request cta-band: the deepest need --- */
body.prayer-request section.pr-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.prayer-request section.pr-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.prayer-request section.pr-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.prayer-request section.pr-cta-band .kicker {
	margin: 0;
}

body.prayer-request section.pr-cta-band h2 {
	max-width: 18ch;
	margin: 18px auto 0;
}

body.prayer-request section.pr-cta-band h2 em {
	font-style: normal;
	color: inherit;
}

body.prayer-request section.pr-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.prayer-request section.pr-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.prayer-request section.pr-cta-band .cta-band-row .cta,
body.prayer-request section.pr-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.prayer-request section.pr-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.prayer-request section.pr-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.prayer-request section.pr-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.prayer-request section.pr-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	body.prayer-request section.pr-cta-band {
		padding: 56px 20px 64px;
	}

	body.prayer-request section.pr-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    SERMONS — body.sermons
\*------------------------------------*/

/* --- hero --- */
body.sermons section.sr-hero {
	background-color: var(--color-1);
	color: #fff;
	padding: 72px 20px 64px;
	position: relative;
}

body.sermons section.sr-hero .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 24px;
}

body.sermons section.sr-hero .sr-hero-body {
	max-width: 600px;
}

body.sermons section.sr-hero .sr-crumbs {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 18px;
}

body.sermons section.sr-hero .sr-crumbs a {
	color: rgba(255,255,255,.45);
}

body.sermons section.sr-hero .sr-crumbs a:hover {
	color: #fff;
}

body.sermons section.sr-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 58px);
	margin: 14px 0 0;
}

body.sermons section.sr-hero h1 em {
	font-style: italic;
	color: #FFD9DC;
}

body.sermons section.sr-hero .sr-hero-sub {
	color: rgba(255,255,255,.78);
	font-size: 17px;
	line-height: 1.65;
	max-width: 52ch;
	margin-top: 18px;
}

body.sermons section.sr-hero .sr-hero-mark {
	width: 160px;
	height: 160px;
	opacity: .18;
	flex-shrink: 0;
}

@media only screen and (max-width: 760px) {
	body.sermons section.sr-hero .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}
	section.events-hero .events-hero-body {
		max-width: 100%;
	}
	body.sermons section.sr-hero .sr-hero-mark,
	section.events-hero .events-hero-mark {
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	body.sermons section.sr-hero {
		padding: 52px 20px 44px;
	}
}

/* --- tight: two-column intro prose + listening aside --- */
body.sermons section.sr-tight .wrapper {
	max-width: 1068px;
	padding: 0 24px;
}

body.sermons section.sr-tight .sr-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 60px;
	align-items: start;
}

/* prose column */
body.sermons section.sr-tight .sr-prose p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--greyThree);
	margin: 0 0 18px;
}

body.sermons section.sr-tight .sr-prose p:last-child {
	margin-bottom: 0;
}

body.sermons section.sr-tight .sr-prose p.sr-big {
	font-size: 17px;
	line-height: 1.7;
	color: var(--greyFour);
	margin-bottom: 18px;
}

/* aside column */
body.sermons section.sr-tight .sr-aside-col {
	position: sticky;
	top: calc(var(--nav-offset) + 24px);
}

body.sermons section.sr-tight .sr-aside {
	background: var(--color-6);
	border: 1px solid var(--greyOne);
	padding: 28px 27px;
}

body.sermons section.sr-tight .sr-aside h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

/* detail rows */
body.sermons section.sr-tight .sr-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--greyOne);
}

body.sermons section.sr-tight .sr-row-last {
	border-bottom: 0;
	padding-bottom: 0;
}

body.sermons section.sr-tight .sr-row small {
	color: var(--greyThree);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.9;
	white-space: nowrap;
	flex-shrink: 0;
}

body.sermons section.sr-tight .sr-row span {
	color: var(--greyFour);
	text-align: right;
	font-size: 13.5px;
	line-height: 1.65;
}

/* aside CTA — full-width outline; overrides global .cta arrow/padding/hover */
body.sermons section.sr-tight .sr-aside-cta-out,
body.sermons section.sr-tight .sr-aside-cta-out:hover {
	display: block;
	text-align: center;
	margin: 26px 0 0;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 20px;
	border-radius: 2px;
	text-decoration: none;
	background-image: none;
	box-shadow: none;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.sermons section.sr-tight .sr-aside-cta-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.sermons section.sr-tight .sr-aside-cta-out:hover {
	background-color: var(--color-1);
	color: var(--color-6);
	border-color: var(--color-1);
}

/* responsive */
@media only screen and (max-width: 1020px) {
	body.sermons section.sr-tight .sr-cols {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	body.sermons section.sr-tight .sr-aside-col {
		position: static;
	}
}

@media only screen and (max-width: 640px) {
	body.sermons section.sr-tight {
		padding: 52px 20px 44px;
	}
}

/* --- sermon archive embed section --- */
body.sermons section.sr-archive {
	background: var(--color-4);
	border-top: 1px solid var(--greyOne);
	padding: 88px 20px;
}

body.sermons section.sr-archive .wrapper {
	padding: 0 24px;
}

body.sermons section.sr-archive .sr-archive-head {
	margin-bottom: 36px;
}

body.sermons section.sr-archive .sr-embed-frame {
	border: 1px solid var(--greyOne);
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 24px;
}

body.sermons section.sr-archive .sr-embed-frame iframe {
	min-height: 560px;
}

body.sermons section.sr-archive .sr-scripture-note {
	font-size: 0.8125rem;
	color: var(--greyThree);
	letter-spacing: .03em;
}

body.sermons section.sr-archive .sr-scripture-note a {
	color: var(--color-2);
}

body.sermons section.sr-archive .sr-scripture-note a:hover {
	color: var(--color-1);
}

@media only screen and (max-width: 640px) {
	body.sermons section.sr-archive {
		padding: 60px 20px;
	}

	body.sermons section.sr-archive .sr-embed-frame iframe {
		min-height: 420px;
	}
}

/* --- schedule: navy-bg four service cards --- */
body.sermons section.sr-navy-bg {
	background: var(--color-1);
	color: #fff;
	padding: 88px 20px;
}

body.sermons section.sr-navy-bg .wrapper {
	padding: 0 24px;
}

body.sermons section.sr-navy-bg .sec-head h2 {
	color: #fff;
}

body.sermons section.sr-navy-bg .sec-head .rule {
	background: var(--color-2);
}

body.sermons section.sr-navy-bg .sr-schedule-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

body.sermons section.sr-navy-bg .sr-schedule-card {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-top: 3px solid var(--color-3);
	padding: 32px 26px 28px;
}

body.sermons section.sr-navy-bg .sr-schedule-num {
	display: block;
	font-family: var(--font-text-regular), serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-3);
	margin-bottom: 12px;
}

body.sermons section.sr-navy-bg .sr-schedule-card h3 {
	color: #fff;
	font-size: 20px;
	margin-bottom: 10px;
}

body.sermons section.sr-navy-bg .sr-schedule-card p {
	color: rgba(255,255,255,.72);
	font-size: 15px;
	margin: 0;
	line-height: 1.65;
}

@media only screen and (max-width: 1020px) {
	body.sermons section.sr-navy-bg .sr-schedule-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 640px) {
	body.sermons section.sr-navy-bg {
		padding: 60px 20px;
	}

	body.sermons section.sr-navy-bg .sr-schedule-cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* --- sermons cta-band: a seat, not a stream --- */
body.sermons section.sr-cta-band {
	background: var(--color-6);
	border-top: 1px solid var(--greyOne);
	text-align: center;
	padding: 76px 20px 84px;
}

body.sermons section.sr-cta-band .wrapper {
	padding: 0 24px;
}

/* centered logo — overrides global .sec-mark absolute/right */
body.sermons section.sr-cta-band .sec-mark {
	position: static;
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 22px;
	opacity: 1;
}

body.sermons section.sr-cta-band .kicker {
	margin: 0;
}

body.sermons section.sr-cta-band h2 {
	max-width: 16ch;
	margin: 18px auto 0;
}

body.sermons section.sr-cta-band .lead {
	max-width: 58ch;
	margin: 18px auto 0;
}

body.sermons section.sr-cta-band .cta-band-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 32px;
}

/* buttons — override global .cta arrow/padding/hover */
body.sermons section.sr-cta-band .cta-band-row .cta,
body.sermons section.sr-cta-band .cta-band-row .cta:hover {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-cta), serif;
	font-size: 14px;
	font-weight: 600;
	padding: 14px 24px;
	border-radius: 2px;
	text-decoration: none;
	white-space: nowrap;
	background-image: none;
	box-shadow: none;
	margin: 0;
	transition: background-color .18s, color .18s, border-color .18s;
}

body.sermons section.sr-cta-band .cta-band-red {
	background-color: var(--color-2);
	color: var(--color-6);
	border: 1.5px solid var(--color-2);
}

body.sermons section.sr-cta-band .cta-band-red:hover {
	background-color: #8E1622;
	border-color: #8E1622;
	color: var(--color-6);
}

body.sermons section.sr-cta-band .cta-band-out {
	background-color: transparent;
	color: var(--color-1);
	border: 1.5px solid var(--color-1);
}

body.sermons section.sr-cta-band .cta-band-out:hover {
	background-color: var(--color-1);
	border-color: var(--color-1);
	color: var(--color-6);
}

@media only screen and (max-width: 640px) {
	.card {
		padding: 20px;
	}
	/* home hero — content anchored to the bottom, full-width veil for legibility */
	body.home section.hero-section {
		min-height: 0;
		align-items: stretch;
	}
	body.home .hero-bg {
		background-position: 30% center;
	}
	body.home .hero-veil {
		background: linear-gradient(180deg, rgba(8,24,48,.55) 0%, rgba(8,24,48,.72) 40%, rgba(8,24,48,.92) 100%);
	}
	body.home .hero-wrap {
		padding: 40px 20px 40px;
	}
	body.home .hero-content {
		max-width: none;
	}
	body.home .hero-section .kicker {
		font-size: 11px;
		letter-spacing: .14em;
		line-height: 1.6;
	}
	body.home .hero-section h1 {
		font-size: clamp(36px, 11vw, 46px);
		line-height: 1.05;
		max-width: none;
		margin-top: 14px;
	}
	body.home .hero-sub {
		margin-top: 16px;
		font-size: 16px;
		line-height: 1.6;
		max-width: none;
	}
	body.home .hero-cta {
		flex-direction: column;
		gap: 10px;
		margin-top: 26px;
	}
	body.home .hero-cta .cta,
	body.home .hero-cta .cta:hover {
		justify-content: center;
		width: 100%;
		margin: 0;
		padding: 15px 20px;
		box-shadow: none;
	}
	body.home .hero-scroll {
		margin-top: 24px;
		font-size: 11px;
		letter-spacing: .12em;
		line-height: 1.8;
	}
	body.about section.about-mission .wrapper,
	body.contact section.contact-tight .wrapper,
	body.contact section.contact-ask .wrapper,
	body.ministries section.ministries-grid .wrapper,
	body.ministries-mens section.ministries-mens-hero,
	body.salvation section.sv-navy-bg .wrapper {
		padding: 0;
	}
	body.our-pastor section.our-pastor-hero .our-pastor-hero-body {
		max-width: 100%;
	}
	body.sermons section.sr-cta-band {
		padding: 56px 20px 64px;
	}

	body.sermons section.sr-cta-band .cta-band-row {
		flex-direction: column;
		align-items: center;
	}
}

/*------------------------------------*\
    MOBILE / TABLET REFINEMENTS — menu groups, tap targets, text sizes, page length
\*------------------------------------*/
nav.main-nav .menu-panel a.menu-top {
	font-weight: 600;
	color: var(--color-2);
}
nav.main-nav .menu-panel details.menu-group summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 44px;
	font-family: var(--font-text-regular), serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--color-1);
	border-bottom: 1px solid var(--greyOne);
}
nav.main-nav .menu-panel details.menu-group summary::-webkit-details-marker {
	display: none;
}
nav.main-nav .menu-panel details.menu-group summary::after {
	content: "+";
	font-size: 20px;
	font-weight: 400;
	color: var(--color-2);
}
nav.main-nav .menu-panel details.menu-group[open] summary::after {
	content: "\2212";
}
nav.main-nav .menu-panel details.menu-group a {
	padding: 12px 0 12px 14px;
}
nav.main-nav .menu-panel a.menu-top {
	padding: 12px 0;
}

@media only screen and (max-width: 1020px) {
	.topbar,
	.topbar .topbar-meta {
		font-size: 13px;
	}
	body.home section.ministries-section .min-card .min-more {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

/* tablet: keep two columns instead of a stretched single column */
@media only screen and (min-width: 641px) and (max-width: 1024px) {
	body.home section.declaration .dec-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}
	body.home section.ru-recovery-section .ru-recovery-wrap,
	body.home section.visit-section .visit-wrap {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

@media only screen and (max-width: 640px) {
	/* readable text */
	.kicker,
	body.home .hero-section .kicker,
	body.home .hero-scroll,
	footer.site-footer h3,
	footer.site-footer .f-bottom {
		font-size: 13px;
	}
	div.times-bar .times-cell small {
		font-size: 12px;
	}
	div.times-bar .times-cell span {
		font-size: 13px;
	}

	/* hero: heading, copy, both buttons and service times fit one phone screen */
	body.home .hero-wrap {
		padding: 28px 20px;
	}
	body.home .hero-section h1 {
		font-size: clamp(32px, 9.5vw, 40px);
		margin-top: 10px;
	}
	body.home .hero-sub {
		margin-top: 12px;
	}
	body.home .hero-cta {
		flex-direction: row;
		gap: 10px;
		margin-top: 18px;
	}
	body.home .hero-cta .cta,
	body.home .hero-cta .cta:hover {
		flex: 1 1 0;
		min-height: 44px;
		padding: 10px 12px;
		font-size: 14px;
		white-space: normal;
		text-align: center;
	}
	body.home .hero-scroll {
		margin-top: 16px;
	}

	/* ministries: swipeable cards */
	body.home section.ministries-section .min-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
	}
	body.home section.ministries-section .min-card {
		flex: 0 0 82%;
		scroll-snap-align: start;
		border-bottom: 0;
		transform: none;
	}

	/* footer: two-column link lists */
	footer.site-footer .f-grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px 24px;
		padding-bottom: 24px;
	}
	footer.site-footer .f-col {
		text-align: left;
	}
	footer.site-footer .f-col ul li {
		text-align: left;
	}
	footer.site-footer h3 {
		margin-bottom: 4px;
	}
	footer.site-footer ul li a {
		padding: 12px 0;
	}
}

@media only screen and (max-width: 480px) {
	/* phone: brand + hamburger only on the sticky row; Plan Your Visit lives in the menu */
	nav.main-nav .nav-cta {
		display: none;
	}
	nav.main-nav details.menu-toggle {
		margin-left: auto;
	}
	/* tighter section padding to shorten the page */
	body.home section.liberty-section,
	body.home section.expect-section,
	body.home section.declaration,
	body.home section.ru-recovery-section,
	body.home section.ministries-section,
	body.home section.visit-section {
		padding-top: 44px;
		padding-bottom: 44px;
	}
}


/*------------------------------------*\
    PHONE — call / text split on mobile (same number)
\*------------------------------------*/
.phone-split {
	display: none;
}
@media only screen and (max-width: 760px) {
	.tb-phone-desk {
		display: none !important;
	}
	.phone-split {
		display: flex;
		gap: 8px;
		width: 100%;
	}
	.phone-split a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 0;
		min-height: 44px;
		padding: 0 14px;
		border: 0;
		border-radius: 2px;
		background: rgba(255,255,255,.14);
		color: #fff;
		font-family: var(--font-cta), serif;
		font-weight: 600;
		font-size: 14px;
		letter-spacing: .02em;
		line-height: 1;
		white-space: nowrap;
	}
	.phone-split a:first-child {
		flex: 2 1 0;
	}
	.phone-split a + a {
		background: var(--color-2);
	}
	/* top bar: one full-width call/text row */
	.topbar .wrapper {
		padding: 6px 16px;
	}
	.topbar .topbar-meta {
		width: 100%;
		gap: 0;
	}
	.topbar .topbar-meta .phone-split a {
		padding: 0 14px;
		color: #fff;
	}
	.topbar .topbar-meta .phone-split a + a {
		display: flex;
	}
	.topbar .topbar-meta > span + a {
		display: none;
	}
	/* footer: compact, left-aligned */
	footer.site-footer ul li .phone-split {
		width: auto;
		margin-top: 6px;
	}
	footer.site-footer ul li .phone-split a {
		flex: 0 0 auto;
		padding: 0 18px;
		color: #fff;
	}
}
