:root {
	--cc-main: #404140;
	--cc-accent: #47ab9d;
	--cc-highlight: #b2aeaa;
	--cc-accent-ink: #111111;
	--cc-accent-text: #368277;
	--cc-ink: #292a29;
	--cc-muted: #6d6e6d;
	--cc-surface: #f4f3f2;
	--cc-paper: #ffffff;
	--cc-dark: #171817;
	--cc-line: rgba(41, 42, 41, 0.15);
	--cc-shadow: 0 2px 7px rgba(31, 32, 31, 0.04), 0 14px 36px rgba(31, 32, 31, 0.09);
	--cc-shadow-card: 0 8px 22px rgba(31, 32, 31, 0.08), 0 2px 5px rgba(31, 32, 31, 0.05);
	--cc-shadow-lifted: 0 24px 58px rgba(31, 32, 31, 0.14), 0 5px 14px rgba(31, 32, 31, 0.07);
	--cc-shell: min(1200px, calc(100% - 48px));
	--cc-content: min(760px, calc(100% - 48px));
	--cc-radius: 32px;
	--cc-section-radius: 42px;
	--cc-serif: Georgia, "Times New Roman", serif;
	--cc-sans: "Open Sans", "Helvetica Neue", Arial, sans-serif;
	--cc-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	color: var(--cc-ink);
	background: var(--cc-surface);
	font-family: var(--cc-body);
	font-size: 16px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.menu-is-open {
	overflow: hidden;
}

img,
video,
iframe {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: inherit;
	text-underline-offset: 0.16em;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--cc-accent-text);
	outline-offset: 4px;
}

.cc-shell {
	width: var(--cc-shell);
	margin-inline: auto;
}

.content-shell {
	width: var(--cc-content);
	margin-inline: auto;
}

.is-style-heavens-rounded,
.heavens-pattern-callout {
	padding: clamp(32px, 6vw, 72px);
	background: var(--cc-surface);
	border-radius: var(--cc-radius);
}

.heavens-pattern-links {
	padding-block: clamp(28px, 5vw, 64px);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	position: fixed !important;
	z-index: 100000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.75rem 1rem;
	clip: auto;
	color: var(--cc-main);
	background: var(--cc-paper);
	border-radius: 8px;
	box-shadow: var(--cc-shadow);
	font-weight: 700;
}

.site {
	background: var(--cc-paper);
}

.site-chrome {
	--cc-utility-offset: 60px;
	position: sticky;
	z-index: 30;
	top: calc(-1 * var(--cc-utility-offset));
	padding-top: 16px;
	background: linear-gradient(180deg, rgba(244, 243, 242, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

.utility-row {
	display: flex;
	min-height: 29px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 15px;
	font-size: 0.8rem;
}

.service-chip {
	display: inline-flex;
	min-height: 29px;
	align-items: center;
	gap: 10px;
	padding: 6px 20px;
	color: var(--cc-paper);
	background: var(--cc-main);
	border-radius: 8px;
	font-size: 0.8rem;
	font-family: var(--cc-sans);
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.25;
	text-decoration: none;
	text-transform: uppercase;
}

.service-chip-dot {
	width: 6px;
	height: 6px;
	flex: 0 0 auto;
	background: var(--cc-accent);
	border-radius: 50%;
}

.utility-actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.account-link {
	color: var(--cc-main);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.language-list {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.language-item > a,
.language-item > span,
.language-current {
	display: inline-flex;
	min-height: 27px;
	align-items: center;
	gap: 5px;
	padding: 3px 7px;
	border-radius: 999px;
	color: var(--cc-main);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.language-item img {
	width: 18px;
	height: 12px;
	object-fit: cover;
}

.language-item.is-current > span {
	background: rgba(65, 65, 64, 0.09);
}

.site-header {
	position: relative;
	z-index: 31;
	min-height: 89px;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(41, 42, 41, 0.05);
	border-radius: 16px;
	box-shadow: var(--cc-shadow);
}

.header-inner {
	display: flex;
	min-height: 89px;
	align-items: center;
	gap: 24px;
	padding: 14px 24px;
}

.site-brand {
	display: inline-flex;
	width: auto;
	min-width: 190px;
	flex: 0 1 auto;
	align-items: center;
	gap: 13px;
	color: var(--cc-main);
	text-decoration: none;
}

.site-brand-logo {
	display: block;
	flex: 0 0 auto;
}

.site-brand-logo img {
	width: auto;
	max-width: 72px;
	height: 60px;
	object-fit: contain;
}

.site-brand-copy {
	display: grid;
	min-width: 0;
	line-height: 1;
}

.site-brand-copy small {
	font-size: 0.55rem;
	font-family: var(--cc-sans);
	font-weight: 500;
	letter-spacing: 0.2em;
	white-space: nowrap;
	text-transform: uppercase;
}

.site-brand-copy strong {
	margin-top: 7px;
	font-family: var(--cc-serif);
	font-size: clamp(1.25rem, 2.1vw, 1.8rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 0.9;
	white-space: nowrap;
	text-transform: uppercase;
}

.primary-navigation {
	min-width: 0;
	margin-left: auto;
}

.primary-menu,
.primary-menu ul,
.mobile-menu,
.mobile-menu ul,
.footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(13px, 1.45vw, 24px);
}

.primary-menu > li {
	position: relative;
}

.primary-menu a {
	display: flex;
	align-items: center;
	padding: 11px 0;
	color: var(--cc-main);
	font-family: var(--cc-body);
	font-size: clamp(0.68rem, 0.82vw, 0.8rem);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.15;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.primary-menu > li > a::after {
	position: absolute;
	right: 100%;
	bottom: 5px;
	left: 0;
	height: 2px;
	background: var(--cc-accent);
	content: "";
	transition: right 180ms ease;
}

.primary-menu > li:hover > a::after,
.primary-menu > li:focus-within > a::after,
.primary-menu > .current-menu-item > a::after,
.primary-menu > .current_page_item > a::after {
	right: 0;
}

.primary-menu .sub-menu {
	position: absolute;
	z-index: 20;
	top: calc(100% + 4px);
	left: -20px;
	display: grid;
	width: 230px;
	padding: 12px 20px;
	visibility: hidden;
	opacity: 0;
	background: var(--cc-paper);
	border-radius: 12px;
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.15);
	transform: translateY(8px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.primary-menu .sub-menu a {
	padding: 9px 0;
	white-space: normal;
}

.pill-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.3rem;
	color: var(--cc-main);
	background: transparent;
	border: 1px solid var(--cc-accent-text);
	border-radius: 999px;
	font-size: 0.78rem;
	font-family: var(--cc-sans);
	font-weight: 600;
	letter-spacing: 0.075em;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.pill-button:hover,
.pill-button:focus-visible {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	transform: translateY(-2px);
}

.pill-button.light {
	color: var(--cc-paper);
	border-color: rgba(255, 255, 255, 0.85);
}

.pill-button.light:hover,
.pill-button.light:focus-visible {
	color: var(--cc-main);
	background: var(--cc-paper);
}

.pill-button.outline {
	color: var(--cc-main);
	border-color: var(--cc-main);
}

.header-visit {
	flex: 0 0 auto;
}

.heavens-menu-toggle {
	display: none;
	width: 48px;
	min-width: 48px;
	height: 48px;
	min-height: 48px;
	flex: 0 0 auto;
	padding: 0;
	color: var(--cc-main);
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.menu-toggle-lines,
.menu-toggle-lines::before,
.menu-toggle-lines::after {
	display: block;
	width: 25px;
	height: 2px;
	margin-inline: auto;
	background: currentColor;
	content: "";
}

.menu-toggle-lines {
	position: relative;
}

.menu-toggle-lines::before {
	position: absolute;
	top: -7px;
	left: 0;
}

.menu-toggle-lines::after {
	position: absolute;
	top: 7px;
	left: 0;
}

.mobile-navigation[hidden] {
	display: none;
}

.mobile-navigation {
	position: fixed;
	z-index: 1000;
	inset: 0;
}

.mobile-navigation-backdrop {
	position: absolute;
	inset: 0;
	opacity: 0;
	background: rgba(23, 24, 23, 0.58);
	transition: opacity 220ms ease;
}

.mobile-navigation-panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(430px, 92vw);
	height: 100%;
	padding: 22px;
	overflow-y: auto;
	background: var(--cc-paper);
	box-shadow: -18px 0 44px rgba(0, 0, 0, 0.18);
	transform: translateX(102%);
	transition: transform 220ms ease;
}

.mobile-navigation.is-open .mobile-navigation-backdrop {
	opacity: 1;
}

.mobile-navigation.is-open .mobile-navigation-panel {
	transform: translateX(0);
}

.mobile-navigation-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cc-line);
}

.mobile-navigation-head .site-brand {
	min-width: 0;
}

.menu-close {
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	color: var(--cc-main);
	background: var(--cc-surface);
	border: 0;
	border-radius: 50%;
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
}

.mobile-menu {
	margin: 18px 0 28px;
}

.mobile-menu li {
	border-bottom: 1px solid var(--cc-line);
}

.mobile-menu a {
	display: flex;
	padding: 14px 2px;
	font-family: var(--cc-serif);
	font-size: 1.35rem;
	line-height: 1.2;
	text-decoration: none;
}

.mobile-menu .sub-menu {
	padding: 0 0 10px 16px;
}

.mobile-menu .sub-menu li {
	border: 0;
}

.mobile-menu .sub-menu a {
	padding: 8px 0;
	font-family: var(--cc-sans);
	font-size: 0.9rem;
}

.mobile-language-switcher {
	margin-bottom: 24px;
}

.home-hero {
	position: relative;
	padding: 58px 0 96px;
	background: var(--cc-paper);
}

.home-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 790px) minmax(0, 1fr);
	gap: 37px;
	align-items: center;
}

.media-frame {
	position: relative;
	overflow: hidden;
	background: var(--cc-main);
	background: linear-gradient(135deg, color-mix(in srgb, var(--cc-main) 88%, #fff), var(--cc-main));
	border-radius: var(--cc-radius);
	box-shadow: var(--cc-shadow-card);
}

.media-frame::before {
	position: absolute;
	z-index: 3;
	inset: 0;
	pointer-events: none;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: inherit;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 -18px 32px rgba(0, 0, 0, 0.045);
	content: "";
}

.media-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media-frame.has-no-image {
	display: grid;
	place-items: center;
}

.media-placeholder {
	position: relative;
	z-index: 1;
	padding: 24px;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--cc-serif);
	font-size: clamp(2rem, 4vw, 4rem);
	text-align: center;
}

.hero-media {
	aspect-ratio: 16 / 9;
	color: var(--cc-paper);
	text-decoration: none;
}

.hero-media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 48%, rgba(20, 20, 20, 0.16));
	content: "";
}

.round-play {
	position: absolute;
	z-index: 2;
	right: 28px;
	bottom: 28px;
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	background: var(--cc-paper);
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.round-play span {
	width: 0;
	height: 0;
	margin-left: 4px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 13px solid var(--cc-main);
}

.home-hero-copy {
	align-self: center;
}

.eyebrow {
	margin: 0 0 14px;
	color: var(--cc-accent-text);
	font-family: var(--cc-sans);
	font-size: clamp(0.82rem, 0.9vw, 1rem);
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.35;
	text-transform: uppercase;
}

.eyebrow.light {
	color: rgba(255, 255, 255, 0.9);
}

.home-hero h1,
.inner-hero h1,
.section-heading h2,
.meet-copy h2,
.events-copy h2 {
	margin: 0;
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: clamp(3rem, 3.7vw, 3.5rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 0.98;
	text-wrap: balance;
}

.home-hero-copy > p:not(.eyebrow) {
	margin: 21px 0 27px;
	color: var(--cc-muted);
	font-size: 0.98rem;
	line-height: 1.7;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 17px;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cc-accent-text);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.text-link span {
	font-size: 1.2em;
	transition: transform 160ms ease;
}

.text-link:hover span,
.text-link:focus-visible span {
	transform: translateX(4px);
}

.meet-section {
	position: relative;
	padding: 160px 0 120px;
	color: var(--cc-paper);
	background-color: var(--cc-highlight);
	background:
		radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 9px),
		linear-gradient(130deg, color-mix(in srgb, var(--cc-highlight) 94%, var(--cc-main)), var(--cc-highlight));
	background-size: 13px 13px, auto;
}

.section-wave {
	position: absolute;
	top: -108px;
	left: 0;
	display: block;
	width: 100%;
	height: 110px;
	fill: var(--cc-highlight);
}

.meet-copy {
	max-width: 650px;
	margin-bottom: 65px;
	text-align: center;
}

.meet-copy h2 {
	max-width: 430px;
	margin-inline: auto;
	color: var(--cc-paper);
	font-size: clamp(3rem, 4.2vw, 3.5rem);
}

.meet-copy > p:not(.eyebrow) {
	max-width: 590px;
	margin: 21px auto 27px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
}

.meet-media {
	aspect-ratio: 12 / 6.6;
	box-shadow: var(--cc-shadow-lifted);
}

.rounded-section {
	position: relative;
	border-radius: var(--cc-section-radius) var(--cc-section-radius) 0 0;
	box-shadow: 0 -14px 42px rgba(31, 32, 31, 0.045);
}

.family-section {
	z-index: 2;
	margin-top: -50px;
	padding: 148px 0 150px;
	background: var(--cc-paper);
}

.section-heading {
	margin-bottom: 70px;
}

.split-heading {
	display: grid;
	grid-template-columns: minmax(300px, 430px) minmax(80px, 1fr) minmax(280px, 440px);
	align-items: center;
	gap: 34px;
}

.heading-rule {
	height: 1px;
	background: rgba(41, 42, 41, 0.28);
	background: color-mix(in srgb, var(--cc-main) 28%, transparent);
}

.split-heading > p {
	margin: 0;
	color: var(--cc-muted);
	font-size: 0.96rem;
}

.family-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.family-card {
	position: relative;
	display: block;
	aspect-ratio: 0.76;
	overflow: hidden;
	color: var(--cc-paper);
	background: var(--cc-main);
	border-radius: var(--cc-radius);
	box-shadow: var(--cc-shadow-card);
	text-decoration: none;
	transition: box-shadow 260ms ease, transform 260ms ease;
}

.family-card:hover,
.family-card:focus-visible {
	box-shadow: var(--cc-shadow-lifted);
	transform: translateY(-4px);
}

.family-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.family-card:hover img,
.family-card:focus-visible img {
	transform: scale(1.035);
}

.card-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 42%, rgba(0, 0, 0, 0.72) 100%);
}

.card-plus {
	position: absolute;
	top: 26px;
	right: 26px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: var(--cc-main);
	background: var(--cc-accent);
	border-radius: 50%;
	font-size: 1.7rem;
	font-weight: 300;
	line-height: 1;
	transition: transform 220ms ease;
}

.family-card:hover .card-plus,
.family-card:focus-visible .card-plus {
	transform: rotate(90deg);
}

.family-card-title {
	position: absolute;
	z-index: 2;
	right: 30px;
	bottom: 31px;
	left: 30px;
	font-family: var(--cc-serif);
	font-size: clamp(1.65rem, 2.2vw, 2.3rem);
	line-height: 1;
}

.has-no-image {
	background: var(--cc-main);
	background:
		radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--cc-accent) 34%, transparent), transparent 38%),
		linear-gradient(145deg, color-mix(in srgb, var(--cc-main) 92%, #fff), var(--cc-main));
}

.rail-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 76px 0 20px;
}

.rail-controls .eyebrow {
	margin: 0;
}

.rail-controls > div {
	display: flex;
	gap: 8px;
}

.rail-controls button {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: var(--cc-main);
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 50%;
	cursor: pointer;
}

.content-rail {
	display: grid;
	grid-auto-columns: minmax(150px, 1fr);
	grid-auto-flow: column;
	gap: 20px;
	padding-bottom: 12px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--cc-highlight) transparent;
}

.rail-card {
	display: grid;
	grid-template-rows: auto auto auto;
	align-content: start;
	gap: 10px;
	min-width: 0;
	color: var(--cc-main);
	scroll-snap-align: start;
	text-decoration: none;
}

.rail-card-media {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--cc-main);
	border-radius: 20px;
	box-shadow: var(--cc-shadow-card);
}

.rail-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 360ms ease;
}

.rail-card:hover img,
.rail-card:focus-visible img {
	transform: scale(1.04);
}

.rail-card strong {
	font-family: var(--cc-serif);
	font-size: 1.12rem;
	font-weight: 400;
	line-height: 1.1;
}

.rail-card > span:last-child {
	color: var(--cc-accent-text);
	font-size: 0.69rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.connect-section {
	z-index: 3;
	margin-top: -42px;
	padding: 120px 0 145px;
	color: var(--cc-paper);
	background-color: var(--cc-highlight);
	background:
		radial-gradient(circle at 74% 30%, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 10px),
		linear-gradient(150deg, color-mix(in srgb, var(--cc-highlight) 93%, var(--cc-main)), var(--cc-highlight));
	background-size: 14px 14px, auto;
}

.light-heading h2 {
	color: var(--cc-paper);
}

.light-heading .heading-rule {
	background: rgba(255, 255, 255, 0.4);
}

.connect-grid {
	display: grid;
	grid-template-columns: minmax(0, 590px) minmax(0, 1fr);
	gap: 72px;
	align-items: center;
}

.connect-feature {
	display: block;
	height: 600px;
	color: var(--cc-paper);
	text-decoration: none;
}

.connect-feature-title {
	position: absolute;
	z-index: 2;
	right: 32px;
	bottom: 33px;
	left: 32px;
	font-family: var(--cc-serif);
	font-size: clamp(2rem, 3vw, 3.35rem);
	line-height: 0.98;
}

.connect-copy {
	max-width: 430px;
}

.connect-copy h3 {
	margin: 0;
	color: var(--cc-paper);
	font-family: var(--cc-serif);
	font-size: clamp(3rem, 4.3vw, 4rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.96;
}

.connect-copy > p:not(.eyebrow) {
	margin: 25px 0 31px;
	color: rgba(255, 255, 255, 0.88);
}

.events-section {
	z-index: 4;
	margin-top: -42px;
	padding: 120px 0 142px;
	background: var(--cc-paper);
}

.events-grid {
	display: grid;
	grid-template-columns: minmax(0, 790px) minmax(0, 1fr);
	gap: 37px;
	align-items: center;
}

.events-media {
	height: 525px;
}

.events-copy h2 {
	font-size: clamp(3rem, 4.2vw, 3.5rem);
}

.event-list {
	display: grid;
	gap: 0;
	margin: 31px 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--cc-line);
}

.event-list li {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 17px;
	align-items: center;
	padding: 17px 0;
	border-bottom: 1px solid var(--cc-line);
}

.event-list time {
	display: grid;
	place-items: center;
	color: var(--cc-main);
	line-height: 1;
}

.event-list time strong {
	font-family: var(--cc-serif);
	font-size: 1.65rem;
	font-weight: 400;
}

.event-list time span,
.event-list li div > span {
	color: var(--cc-muted);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.event-list li div {
	display: grid;
	gap: 4px;
}

.event-list li div > a {
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: 1.05rem;
	line-height: 1.2;
	text-decoration: none;
}

.site-footer {
	position: relative;
	z-index: 5;
	margin-top: -42px;
	padding: 72px 0 28px;
	color: rgba(255, 255, 255, 0.78);
	background: var(--cc-dark);
	border-radius: var(--cc-section-radius) var(--cc-section-radius) 0 0;
}

.footer-grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, 1fr));
	gap: 55px;
}

.site-footer .site-brand {
	color: var(--cc-paper);
}

.site-footer .custom-logo {
	filter: brightness(0) invert(1);
}

.footer-brand-column > p,
.footer-contact-column p {
	max-width: 280px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.86rem;
}

.footer-heading {
	margin: 0 0 20px;
	color: var(--cc-paper);
	font-family: var(--cc-serif);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.1;
}

.footer-menu li + li {
	margin-top: 9px;
}

.footer-menu a,
.footer-contact-column a {
	display: inline-block;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.82rem;
	text-decoration: none;
}

.footer-menu a:hover,
.footer-menu a:focus-visible,
.footer-contact-column a:hover,
.footer-contact-column a:focus-visible {
	color: var(--cc-accent);
}

.footer-contact-column a {
	display: block;
	margin-top: 8px;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 46px;
	padding-top: 25px;
	color: rgba(255, 255, 255, 0.48);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 0.72rem;
}

.footer-bottom-links {
	display: flex;
	gap: 22px;
}

.footer-bottom a {
	text-decoration: none;
}

/* Inner WordPress routes. */
.inner-hero {
	padding: 118px 0 150px;
	background: var(--cc-surface);
}

.inner-hero-copy {
	max-width: 1200px;
}

.inner-hero h1 {
	max-width: 940px;
	font-size: clamp(3.4rem, 7vw, 6.7rem);
}

.archive-description {
	max-width: 700px;
	margin-top: 24px;
	color: var(--cc-muted);
	font-size: 1.05rem;
}

.archive-content,
.singular-surface,
.not-found-surface {
	margin-top: -42px;
	padding: 110px 0 150px;
	background: var(--cc-paper);
}

.post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 20px;
	align-items: stretch;
}

.archive-real-content {
	max-width: 900px;
	margin: 0 auto clamp(58px, 8vw, 105px);
}

.archive-real-content.has-media {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(340px, 1.15fr);
	max-width: none;
	gap: clamp(34px, 6vw, 82px);
	align-items: center;
}

.archive-real-content .entry-content {
	margin: 0;
}

.taxonomy-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.taxonomy-card {
	position: relative;
	display: block;
	min-height: clamp(330px, 37vw, 510px);
	overflow: hidden;
	color: var(--cc-paper);
	background: var(--cc-highlight);
	border-radius: var(--cc-radius);
	box-shadow: var(--cc-shadow-card);
	text-decoration: none;
}

.taxonomy-card-media,
.taxonomy-card-media img {
	display: block;
	width: 100%;
	height: 100%;
}

.taxonomy-card-media {
	position: absolute;
	inset: 0;
}

.taxonomy-card-media img {
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.taxonomy-card:hover .taxonomy-card-media img,
.taxonomy-card:focus-visible .taxonomy-card-media img {
	transform: scale(1.045);
}

.taxonomy-card strong {
	position: absolute;
	z-index: 2;
	right: 26px;
	bottom: 28px;
	left: 26px;
	font-family: var(--cc-serif);
	font-size: clamp(2rem, 3vw, 3.4rem);
	font-weight: 500;
	line-height: 0.96;
}

.legacy-gallery {
	display: grid;
	grid-auto-columns: minmax(290px, 42%);
	grid-auto-flow: column;
	gap: 18px;
	margin-top: clamp(60px, 9vw, 120px);
	overflow-x: auto;
	overflow-y: hidden;
	padding: 6px 4px 24px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.legacy-gallery::-webkit-scrollbar {
	display: none;
}

.legacy-gallery-item {
	aspect-ratio: 4 / 3;
	scroll-snap-align: start;
}

.legacy-gallery-item img,
.legacy-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.legacy-media {
	margin-block: clamp(34px, 5vw, 62px);
}

.legacy-video {
	aspect-ratio: 16 / 9;
}

.legacy-audio,
.post-card-audio {
	width: 100%;
}

.legacy-audio {
	padding: 18px;
	background: var(--cc-surface);
	border-radius: 18px;
}

.legacy-audio-playlist {
	display: grid;
	gap: 14px;
	margin-block: clamp(28px, 5vw, 54px);
}

.legacy-audio-track {
	display: grid;
	grid-template-columns: minmax(180px, 0.8fr) minmax(280px, 1.2fr);
	gap: 20px;
	align-items: center;
	padding: 18px 20px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 18px;
}

.legacy-audio-track h3 {
	margin: 0;
	font-family: var(--cc-sans);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

.legacy-audio-track audio {
	width: 100%;
}

.post-card-kicker {
	margin: 0 0 9px;
	color: var(--cc-accent-text);
	font-size: 0.72rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.post-card-audio {
	margin: 18px 0 6px;
}

.post-card {
	display: flex;
	height: 100%;
	align-self: stretch;
	flex-direction: column;
	overflow: hidden;
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 24px;
	box-shadow: var(--cc-shadow-card);
	transition: box-shadow 260ms ease, transform 260ms ease;
}

.post-card:hover,
.post-card:focus-within {
	box-shadow: var(--cc-shadow-lifted);
	transform: translateY(-3px);
}

.post-card-media {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--cc-main);
}

.post-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.post-card:hover .post-card-media img {
	transform: scale(1.035);
}

.post-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 24px;
}

.post-card-meta,
.single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	color: var(--cc-muted);
	font-size: 0.68rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.post-card-meta a,
.single-meta a {
	color: inherit;
	text-decoration: none;
}

.post-card h2 {
	margin: 12px 0;
	font-family: var(--cc-serif);
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.post-card h2 a {
	text-decoration: none;
}

.post-card-excerpt {
	flex: 1 1 auto;
	color: var(--cc-muted);
	font-size: 0.9rem;
}

.post-card-excerpt p {
	margin: 0 0 17px;
}

.navigation.pagination {
	margin-top: 60px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	padding-inline: 10px;
	color: var(--cc-main);
	border: 1px solid var(--cc-line);
	border-radius: 999px;
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-color: var(--cc-accent);
}

.singular-header {
	padding-bottom: 180px;
}

.single-meta {
	margin-top: 25px;
}

.singular-featured {
	width: min(1200px, calc(100% - 48px));
	aspect-ratio: 16 / 9;
	margin: 0 auto 64px;
	background: var(--cc-surface);
	box-shadow: 0 24px 46px rgba(31, 32, 31, 0.12);
}

.singular-featured img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.entry-content {
	color: var(--cc-ink);
	font-family: var(--cc-serif);
	font-size: 1.15rem;
	line-height: 1.8;
}

.entry-content > * {
	max-width: 100%;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin: 2em 0 0.7em;
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-weight: 400;
	line-height: 1.08;
}

.entry-content h2 {
	font-size: clamp(2rem, 4vw, 3rem);
}

.entry-content h3 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.entry-content a {
	color: color-mix(in srgb, var(--cc-accent) 80%, var(--cc-main));
}

.entry-content blockquote {
	margin: 2rem 0;
	padding: 1.5rem 2rem;
	color: var(--cc-main);
	background: var(--cc-surface);
	border-left: 4px solid var(--cc-accent);
	font-size: 1.3em;
}

.entry-content .alignwide {
	width: min(100vw - 48px, 1200px);
	max-width: none;
	margin-inline: 50%;
	transform: translateX(-50%);
}

.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: 50%;
	transform: translateX(-50%);
}

.entry-content iframe,
.entry-content video {
	width: 100%;
}

.wp-caption,
.gallery-caption {
	max-width: 100%;
}

.post-navigation-shell {
	margin-top: 80px;
	padding-top: 30px;
	border-top: 1px solid var(--cc-line);
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.post-navigation a {
	display: grid;
	gap: 6px;
	text-decoration: none;
}

.post-navigation .nav-next {
	text-align: right;
}

.post-navigation span {
	color: var(--cc-muted);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.post-navigation strong {
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.15;
}

.comments-area {
	margin: 90px 0;
	padding-top: 50px;
	border-top: 1px solid var(--cc-line);
}

.comments-title,
.comment-reply-title,
.empty-state h2 {
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1;
}

.comment-list {
	margin: 35px 0;
	padding: 0;
	list-style: none;
}

.comment-list .children {
	list-style: none;
}

.comment-body {
	margin-bottom: 20px;
	padding: 24px;
	background: var(--cc-surface);
	border-radius: 18px;
}

.comment-meta {
	font-size: 0.78rem;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="tel"],
select,
textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	color: var(--cc-ink);
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 8px;
}

textarea {
	min-height: 150px;
}

button,
input[type="submit"] {
	min-height: 46px;
	padding: 0.7rem 1.3rem;
	color: var(--cc-main);
	background: transparent;
	border: 1px solid var(--cc-accent);
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	cursor: pointer;
}

.search-form {
	display: flex;
	gap: 10px;
	max-width: 560px;
	margin-block: 26px;
}

.empty-state {
	max-width: 700px;
	padding-block: 30px;
}

.prayer-intro {
	padding: clamp(76px, 9vw, 138px) 0 clamp(105px, 12vw, 175px);
	background: var(--cc-paper);
}

.prayer-intro-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(48px, 8vw, 130px);
	align-items: center;
}

.prayer-intro-copy h1 {
	max-width: 650px;
	margin: 0;
	font-size: clamp(4rem, 8vw, 7.8rem);
	line-height: 0.87;
}

.prayer-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 38px;
}

.prayer-tab {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	padding: 9px 18px;
	color: var(--cc-main);
	border: 1px solid var(--cc-line);
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 650;
	letter-spacing: 0.075em;
	text-decoration: none;
	text-transform: uppercase;
}

.prayer-tab.is-current,
.prayer-tab:hover,
.prayer-tab:focus-visible {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-color: var(--cc-accent);
}

.prayer-intro-message {
	max-width: 650px;
	margin: 0;
	font-size: clamp(1.15rem, 2.1vw, 1.48rem);
	line-height: 1.55;
}

.prayer-intro-message > :first-child {
	margin-top: 0;
}

.prayer-intro-message :where(p, span, strong) {
	font-size: inherit !important;
	line-height: inherit;
}

.prayer-form-toggle {
	margin-top: 26px;
}

.prayer-form-section {
	padding: 82px 0 115px;
	background: var(--cc-surface);
}

.prayer-form-section[hidden] {
	display: none;
}

.prayer-form-card {
	padding: clamp(28px, 5vw, 58px);
	background: var(--cc-paper);
	border-radius: 26px;
	box-shadow: var(--cc-shadow-card);
}

.prayer-form-card .comment-respond,
.prayer-form-card .comment-form {
	margin: 0;
}

.prayer-form-card .comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.prayer-form-card .comment-form-comment,
.prayer-form-card .form-submit {
	grid-column: 1 / -1;
}

.prayer-form-card label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.76rem;
	font-weight: 650;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.prayer-community {
	padding: clamp(86px, 10vw, 145px) 0;
	color: var(--cc-paper);
	background: var(--cc-main);
}

.prayer-community h2 {
	max-width: 780px;
	margin: 0 0 58px;
	color: inherit;
	font-size: clamp(3rem, 6vw, 5.6rem);
	line-height: 0.94;
}

.prayer-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prayer-entry {
	margin: 0;
}

.prayer-entry-card {
	height: 100%;
	padding: clamp(24px, 4vw, 38px);
	color: var(--cc-main);
	background: var(--cc-paper);
	border-radius: 24px;
	box-shadow: 0 20px 55px rgba(0, 0, 0, 0.16);
}

.prayer-entry-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cc-line);
}

.prayer-entry-meta strong {
	font-family: var(--cc-serif);
	font-size: 1.35rem;
	font-weight: 500;
}

.prayer-entry-meta time {
	color: var(--cc-muted);
	font-size: 0.72rem;
	white-space: nowrap;
}

.prayer-entry-text {
	padding-top: 18px;
	font-size: 1rem;
	line-height: 1.65;
}

.prayer-entry-text > :first-child,
.prayer-entry-text > :last-child {
	margin-block: 0;
}

.prayer-vote {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
	padding: 7px 14px;
	color: var(--cc-accent-text);
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--cc-accent) 62%, transparent);
	border-radius: 999px;
	font-size: 0.69rem;
}

.prayer-vote strong {
	display: grid;
	min-width: 24px;
	height: 24px;
	place-items: center;
	padding-inline: 5px;
	color: var(--cc-main);
	background: var(--cc-surface);
	border-radius: 999px;
}

.prayer-vote[aria-pressed="true"] {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-color: var(--cc-accent);
}

.prayer-vote.has-error {
	border-color: #b3261e;
	animation: cc-shake 240ms ease-in-out 2;
}

.legacy-live-card,
.legacy-tabs {
	margin-block: clamp(42px, 7vw, 80px);
}

.legacy-live-card {
	display: grid;
	gap: 24px;
	padding: clamp(26px, 5vw, 52px);
	background: var(--cc-surface);
	border-radius: 26px;
	box-shadow: var(--cc-shadow-card);
}

.legacy-live-card [data-live-countdown] {
	display: block;
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: clamp(2.4rem, 7vw, 5.6rem);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.045em;
	line-height: 0.95;
}

.legacy-live-embed {
	aspect-ratio: 16 / 9;
}

.legacy-live-embed iframe {
	width: 100%;
	height: 100%;
}

.legacy-tabs {
	display: grid;
	gap: 12px;
}

.legacy-tabs details {
	overflow: hidden;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 18px;
}

.legacy-tabs summary {
	padding: 18px 22px;
	color: var(--cc-main);
	font-family: var(--cc-sans);
	font-size: 0.86rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}

.legacy-tabs details > .entry-content {
	padding: 0 22px 24px;
}

@keyframes cc-shake {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(4px); }
}

.prayer-empty {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.1rem;
}

html.motion-ready [data-reveal] {
	opacity: 0;
	transform: translate3d(0, 34px, 0) scale(0.985);
	transition: opacity 680ms cubic-bezier(0.22, 1, 0.36, 1), transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--reveal-delay, 0ms);
}

html.motion-ready [data-reveal].is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

html.motion-ready [data-letter-reveal] .reveal-letter {
	display: inline-block;
	opacity: 0;
	transform: translate3d(0, 0.7em, 0);
	transition: opacity 520ms ease, transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: calc(var(--letter-index, 0) * 22ms);
}

[data-letter-reveal] .reveal-word {
	display: inline-block;
	white-space: nowrap;
}

html.motion-ready [data-letter-reveal].is-visible .reveal-letter {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.sticky {
	border-color: var(--cc-accent);
}

.bypostauthor {
	display: block;
}

@media (max-width: 1080px) {
	.primary-navigation,
	.header-visit {
		display: none;
	}

	.heavens-menu-toggle {
		display: block;
		margin-left: auto;
	}

	.home-hero-grid,
	.events-grid {
		grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.85fr);
		gap: 28px;
	}

	.connect-grid {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 45px;
	}

	.footer-grid {
		grid-template-columns: 1.2fr repeat(2, 1fr);
	}

	.footer-contact-column {
		grid-column: 2 / -1;
	}
}

@media (max-width: 820px) {
	:root {
		--cc-shell: min(100% - 46px, 680px);
		--cc-content: min(100% - 46px, 680px);
		--cc-radius: 30px;
		--cc-section-radius: 34px;
	}

	.utility-row {
		gap: 10px;
	}

	.service-chip {
		max-width: 68%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.utility-actions {
		gap: 8px;
	}

	.utility-actions .language-list {
		display: none;
	}

	.site-header,
	.header-inner {
		min-height: 88px;
	}

	.header-inner {
		padding: 13px 18px;
	}

	.site-brand-copy strong {
		font-size: 1.35rem;
	}

	.home-hero {
		padding: 44px 0 118px;
	}

	.home-hero-grid,
	.events-grid,
	.connect-grid {
		grid-template-columns: 1fr;
		gap: 39px;
	}

	.hero-media {
		aspect-ratio: 16 / 9;
	}

	.home-hero h1,
	.meet-copy h2,
	.section-heading h2,
	.events-copy h2,
	.connect-copy h3 {
		font-size: clamp(3rem, 12.3vw, 4rem);
	}

	.home-hero-copy > p:not(.eyebrow) {
		font-size: 0.95rem;
	}

	.meet-section {
		padding: 138px 0 90px;
	}

	.section-wave {
		top: -92px;
		height: 94px;
	}

	.meet-copy {
		margin-bottom: 52px;
	}

	.meet-media {
		width: 100%;
		aspect-ratio: 0.98;
	}

	.family-section {
		margin-top: -34px;
		padding: 102px 0 112px;
	}

	.split-heading {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.heading-rule {
		width: 100%;
	}

	.section-heading {
		margin-bottom: 52px;
	}

	.family-cards {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.family-card {
		aspect-ratio: 0.8;
	}

	.content-rail {
		grid-auto-columns: calc((100% - 16px) / 2);
		gap: 16px;
	}

	.rail-controls {
		margin-top: 60px;
	}

	.connect-section {
		margin-top: -34px;
		padding: 94px 0 110px;
	}

	.connect-feature {
		height: auto;
		aspect-ratio: 0.86;
	}

	.connect-copy {
		max-width: none;
	}

	.events-section {
		margin-top: -34px;
		padding: 92px 0 115px;
	}

	.events-media {
		height: auto;
		aspect-ratio: 1.08;
	}

	.site-footer {
		margin-top: -34px;
		padding-top: 80px;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 50px 24px;
	}

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

	.footer-contact-column {
		grid-column: auto;
	}

	.post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.inner-hero {
		padding: 90px 0 125px;
	}

	.inner-hero h1 {
		font-size: clamp(3rem, 11vw, 5.2rem);
	}

	.archive-content,
	.singular-surface,
	.not-found-surface {
		margin-top: -34px;
		padding: 85px 0 115px;
	}

	.singular-featured {
		margin-top: -130px;
		margin-bottom: 60px;
	}
}

@media (max-width: 560px) {
	.site-chrome {
		--cc-utility-offset: 57px;
		padding-top: 12px;
	}

	.utility-row {
		min-height: 34px;
		margin-bottom: 11px;
	}

	.service-chip {
		max-width: calc(100% - 70px);
		min-height: 34px;
		padding-inline: 13px;
		font-size: 0.67rem;
	}

	.account-link {
		font-size: 0.72rem;
	}

	.site-brand {
		min-width: 0;
		gap: 9px;
	}

	.site-brand-logo img {
		max-width: 54px;
		height: 52px;
	}

	.site-brand-copy small {
		font-size: 0.43rem;
	}

	.site-brand-copy strong {
		margin-top: 5px;
		font-size: 1.17rem;
	}

	.home-hero {
		padding-top: 37px;
	}

	.round-play {
		right: 18px;
		bottom: 18px;
		width: 54px;
		height: 54px;
	}

	.hero-actions {
		display: grid;
		justify-items: start;
	}

	.meet-section {
		padding-top: 125px;
	}

	.meet-copy {
		text-align: left;
	}

	.meet-copy h2,
	.meet-copy > p:not(.eyebrow) {
		margin-inline: 0;
	}

	.family-card-title {
		right: 24px;
		bottom: 25px;
		left: 24px;
	}

	.card-plus {
		top: 20px;
		right: 20px;
	}

	.rail-controls button {
		width: 38px;
		height: 38px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand-column,
	.footer-contact-column {
		grid-column: auto;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 55px;
	}

	.footer-bottom-links {
		flex-direction: column;
		gap: 8px;
	}

	.post-grid {
		grid-template-columns: 1fr;
	}

	.post-navigation .nav-links {
		grid-template-columns: 1fr;
	}

	.post-navigation .nav-next {
		text-align: left;
	}

	.search-form {
		align-items: stretch;
		flex-direction: column;
	}

	.entry-content {
		font-size: 1.05rem;
	}
}

/* Release 0.7.0: shared brand geometry, visitor palettes and vector controls. */
.cc-icon {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	pointer-events: none;
}

.cc-icon--inline {
	width: 1em;
	height: 1em;
	transition: transform 180ms ease;
}

.menu-close {
	display: grid;
	place-items: center;
}

.menu-close .cc-icon {
	width: 25px;
	height: 25px;
}

.home-v2-rail-controls .cc-icon,
.legacy-gallery-controls .cc-icon {
	width: 20px;
	height: 20px;
}

.home-v2-card__link,
.home-v2-text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.home-v2-card:hover .home-v2-card__link .cc-icon--inline,
.home-v2-card:focus-visible .home-v2-card__link .cc-icon--inline,
.home-v2-text-link:hover .cc-icon--inline,
.home-v2-text-link:focus-visible .cc-icon--inline {
	transform: translateX(3px);
}

.visitor-palette {
	margin-bottom: 24px;
	padding-top: 28px;
	border-top: 1px solid var(--cc-line);
}

.visitor-palette__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.visitor-palette .mobile-language-switcher {
	margin: 0;
	padding: 0;
	border: 0;
}

.visitor-palette__toggle,
.visitor-palette__reset {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 13px;
	color: var(--cc-main);
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 12px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	cursor: pointer;
}

.visitor-palette__toggle:hover,
.visitor-palette__toggle:focus-visible,
.visitor-palette__reset:hover,
.visitor-palette__reset:focus-visible {
	border-color: var(--cc-accent-text);
}

.visitor-palette__toggle .cc-icon {
	width: 20px;
	height: 20px;
}

.visitor-palette__panel {
	margin-top: 14px;
	padding: 15px;
	background: var(--cc-surface);
	border: 1px solid var(--cc-line);
	border-radius: 18px;
}

.visitor-palette__panel[hidden] {
	display: none;
}

.visitor-palette__options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
}

.visitor-palette__preset {
	display: grid;
	min-width: 0;
	min-height: 72px;
	gap: 6px;
	padding: 4px 4px 7px;
	overflow: visible;
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 12px;
	cursor: pointer;
	text-align: left;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.visitor-palette__preset:hover,
.visitor-palette__preset:focus-visible {
	border-color: var(--cc-accent-text);
	transform: translateY(-1px);
}

.visitor-palette__preset.is-selected {
	border-color: var(--cc-accent-text);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--cc-accent) 42%, transparent);
}

.visitor-palette__swatches {
	display: grid;
	width: 100%;
	height: 36px;
	overflow: hidden;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	border-radius: 8px;
}

.visitor-palette__swatches i {
	display: block;
	background: var(--palette-color);
}

.visitor-palette__label {
	display: block;
	padding-inline: 3px;
	color: var(--cc-main);
	font-family: var(--cc-sans);
	font-size: 0.64rem;
	font-weight: 650;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.visitor-palette__reset {
	width: 100%;
	margin-top: 12px;
	background: var(--cc-paper);
}

.visitor-palette__reset .cc-icon {
	width: 17px;
	height: 17px;
}

body.heavens-cedarcrest .site-chrome,
body.heavens-cedarcrest .site-chrome.is-scrolled {
	top: 0;
	padding-top: clamp(42px, 7vh, 86px);
	transition: padding-top 220ms ease;
}

body.heavens-cedarcrest .site-chrome.is-scrolled {
	padding-top: 16px;
}

body.heavens-cedarcrest .site-header,
body.heavens-cedarcrest .site-chrome.is-scrolled .site-header {
	width: min(1280px, calc(100% - 72px));
	min-height: 92px;
}

body.heavens-cedarcrest .header-inner {
	min-height: 92px;
	gap: 18px;
	padding: 0;
}

body.heavens-cedarcrest .site-chrome .site-brand {
	min-width: 0;
	gap: 18px;
}

body.heavens-cedarcrest .site-chrome .site-brand-logo img {
	width: 76px;
	max-width: 76px;
	height: 76px;
	object-fit: contain;
	object-position: center;
}

body.heavens-cedarcrest .site-chrome .site-brand-copy small {
	color: inherit;
	font-family: var(--cc-sans);
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.27em;
	line-height: 1.2;
}

body.heavens-cedarcrest .site-chrome .site-brand-copy strong {
	margin-top: 9px;
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 2.8vw, 2.65rem);
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.9;
}

body.heavens-cedarcrest .site-chrome .heavens-menu-toggle {
	width: 60px;
	min-width: 60px;
	height: 60px;
	min-height: 60px;
	border-radius: 16px;
}

body.heavens-cedarcrest .site-chrome .menu-toggle-lines,
body.heavens-cedarcrest .site-chrome .menu-toggle-lines::before,
body.heavens-cedarcrest .site-chrome .menu-toggle-lines::after {
	width: 30px;
	height: 3px;
	border-radius: 999px;
}

@media (max-width: 820px) {
	body.heavens-cedarcrest .site-chrome,
	body.heavens-cedarcrest .site-chrome.is-scrolled {
		padding-top: 20px;
	}

	body.heavens-cedarcrest .site-header,
	body.heavens-cedarcrest .site-chrome.is-scrolled .site-header {
		width: min(100% - 32px, 720px);
		min-height: 70px;
	}

	body.heavens-cedarcrest .header-inner {
		min-height: 70px;
		gap: 12px;
	}

	body.heavens-cedarcrest .site-chrome .site-brand {
		gap: 11px;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-logo img {
		width: 52px;
		max-width: 52px;
		height: 52px;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-copy small {
		font-size: 0.54rem;
		letter-spacing: 0.2em;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-copy strong {
		margin-top: 6px;
		font-size: clamp(1.65rem, 7.2vw, 2.15rem);
	}

	body.heavens-cedarcrest .site-chrome .heavens-menu-toggle {
		width: 54px;
		min-width: 54px;
		height: 54px;
		min-height: 54px;
		border-radius: 14px;
	}
}

@media (max-width: 560px) {
	body.heavens-cedarcrest .site-chrome,
	body.heavens-cedarcrest .site-chrome.is-scrolled {
		padding-top: 16px;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-logo img {
		width: 46px;
		max-width: 46px;
		height: 46px;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-copy small {
		font-size: 0.48rem;
		letter-spacing: 0.17em;
	}

	body.heavens-cedarcrest .site-chrome .site-brand-copy strong {
		font-size: clamp(1.48rem, 7.4vw, 1.9rem);
	}

	body.heavens-cedarcrest .site-chrome .heavens-menu-toggle {
		width: 50px;
		min-width: 50px;
		height: 50px;
		min-height: 50px;
	}

	body.heavens-cedarcrest .site-chrome .menu-toggle-lines,
	body.heavens-cedarcrest .site-chrome .menu-toggle-lines::before,
	body.heavens-cedarcrest .site-chrome .menu-toggle-lines::after {
		width: 25px;
		height: 2px;
	}

	.visitor-palette__toolbar {
		gap: 10px;
	}

	.visitor-palette__toggle {
		padding-inline: 10px;
	}

	.visitor-palette__options {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px;
	}

	.visitor-palette__label {
		font-size: 0.58rem;
	}
}

/* Full-site navigation, language, and template alignment. */
.heavens-menu-toggle {
	display: block;
	margin-left: 0;
	border: 1px solid var(--cc-accent);
	border-radius: 11px;
}

.site-header .header-inner > .heavens-menu-toggle {
	display: block !important;
	width: 48px !important;
	min-width: 48px !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.mob-menu-header-holder,
.mob-menu-overlay,
.mob-menu-left-panel,
.mob-menu-right-panel,
.mobmenu-overlay,
.mobmenu-push-wrap > .mobmenu {
	display: none !important;
}

body.mob-menu-slideout,
body.mob-menu-slideout-over {
	padding-top: 0 !important;
}

body.mob-menu-slideout #page,
body.mob-menu-slideout-over #page,
body.mob-menu-slideout .site-chrome,
body.mob-menu-slideout-over .site-chrome {
	width: auto !important;
	margin-left: 0 !important;
	transform: none !important;
}

body.mob-menu-slideout .site-header,
body.mob-menu-slideout-over .site-header {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * The legacy Mobile Menu plugin prints a late inline rule that hides every
 * `.site-header` below its breakpoint. The plugin markup is intentionally
 * disabled for this theme, so keep the theme's own rounded header visible
 * with a selector that also wins against that late `!important` rule.
 */
html body .site-chrome > .site-header {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.archive-main .archive-content {
	margin-top: 0;
	padding-top: clamp(56px, 7vw, 100px);
}

.language-list > li > a,
.language-list > li > span {
	display: inline-flex;
	min-height: 27px;
	align-items: center;
	gap: 5px;
	padding: 3px 7px;
	border-radius: 999px;
	color: var(--cc-main);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.language-list > li img {
	width: 18px;
	height: 12px;
	object-fit: cover;
}

.language-list > li.current-lang > a,
.language-list > li.current-lang > span {
	background: rgba(65, 65, 64, 0.09);
}

.mobile-navigation-panel {
	width: min(620px, 100vw);
	padding: 20px 58px 52px;
}

.mobile-navigation-head {
	justify-content: flex-end;
	min-height: 48px;
	padding: 0;
	border: 0;
}

.menu-close {
	color: var(--cc-main);
	background: transparent;
	font-size: 2.2rem;
}

.mobile-navigation-service {
	display: grid;
	grid-template-columns: auto minmax(36px, 106px) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	margin: 18px 0 45px;
}

.mobile-navigation-service .site-brand {
	min-width: 58px;
}

.has-brand-logo .mobile-navigation-service .site-brand-copy {
	display: none;
}

.mobile-navigation-service .site-brand-logo img {
	max-width: 64px;
	height: 64px;
}

.mobile-navigation-service > span {
	height: 1px;
	background: var(--cc-line);
}

.mobile-navigation-service > strong {
	color: var(--cc-main);
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.25;
	text-transform: uppercase;
}

.mobile-menu {
	display: grid;
	gap: 23px;
	margin: 0 0 46px;
}

.mobile-menu > li {
	border: 0;
}

.mobile-menu > li > a {
	padding: 0;
	color: #8b8883;
	font-size: clamp(2rem, 5.8vw, 2.75rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.mobile-menu > li.current-menu-item > a,
.mobile-menu > li.current-menu-ancestor > a,
.mobile-menu > li > a:hover,
.mobile-menu > li > a:focus-visible {
	color: var(--cc-accent-text);
}

.mobile-menu .sub-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 22px;
	margin-top: 18px;
	padding: 0;
}

.mobile-menu .sub-menu a {
	padding: 0;
	color: var(--cc-accent-text);
	font-size: 0.77rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.mobile-language-switcher {
	padding-top: 28px;
	border-top: 1px solid var(--cc-line);
}

.footer-grid {
	grid-template-columns: minmax(240px, 1.1fr) minmax(300px, 2fr) minmax(220px, 1fr);
}

.footer-navigation-column .footer-menu {
	columns: 2;
	column-gap: 36px;
}

.footer-navigation-column .footer-menu > li {
	break-inside: avoid;
	margin: 0 0 14px;
}

.footer-menu .sub-menu {
	margin: 8px 0 0;
	padding: 0 0 0 12px;
	list-style: none;
}

.footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-top: 22px;
}

.entry-content > :where(h2, h3, h4) {
	margin-top: 1.8em;
}

.entry-content > :where(figure, .wp-block-image, .wp-block-gallery) {
	margin-block: clamp(28px, 5vw, 58px);
}

.entry-content iframe {
	width: 100%;
	border: 0;
	border-radius: 20px;
}

@media (max-width: 820px) {
	.archive-real-content.has-media,
	.taxonomy-card-grid {
		grid-template-columns: 1fr;
	}

	.taxonomy-card-grid {
		gap: 18px;
	}

	.taxonomy-card {
		min-height: 390px;
	}

	.legacy-gallery {
		grid-auto-columns: minmax(270px, 78%);
	}

	.prayer-intro-grid,
	.prayer-list {
		grid-template-columns: 1fr;
	}

	.prayer-intro-copy h1 {
		font-size: clamp(3.6rem, 15vw, 6.3rem);
	}

	.utility-actions .language-list {
		display: flex;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}

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

	.footer-contact-column {
		grid-column: auto;
	}

	.legacy-audio-track {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

@media (max-width: 560px) {
	.taxonomy-card {
		min-height: 340px;
	}

	.legacy-gallery {
		grid-auto-columns: 88%;
	}

	.prayer-intro {
		padding: 58px 0 92px;
	}

	.prayer-intro-grid {
		gap: 45px;
	}

	.prayer-form-card .comment-form {
		grid-template-columns: 1fr;
	}

	.prayer-form-card .comment-form > * {
		grid-column: 1;
	}

	.utility-row {
		align-items: flex-start;
	}

	.service-chip {
		max-width: 46%;
		white-space: normal;
	}

	.utility-actions {
		max-width: 52%;
	}

	.language-list {
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.language-list > li > a,
	.language-list > li > span {
		padding-inline: 4px;
		font-size: 0.64rem;
	}

	.language-list > li img {
		width: 16px;
		height: 11px;
	}

	.mobile-navigation-panel {
		padding: 16px 31px 42px;
	}

	.mobile-navigation-service {
		grid-template-columns: auto 34px minmax(0, 1fr);
		gap: 13px;
		margin: 8px 0 38px;
	}

	.mobile-navigation-service .site-brand-logo img {
		max-width: 48px;
		height: 48px;
	}

	.mobile-navigation-service > strong {
		font-size: 0.73rem;
	}

	.mobile-menu {
		gap: 19px;
	}

	.mobile-menu .sub-menu {
		gap: 11px 18px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand-column,
	.footer-contact-column {
		grid-column: auto;
	}
}

/* Release 0.5.0: donor-aligned rhythm, resilient media and compact chrome. */
.site-chrome {
	--cc-utility-offset: 60px;
}

.home-hero {
	padding-block: clamp(54px, 5vw, 76px) clamp(110px, 9vw, 150px);
}

.home-hero h1 {
	max-width: 12ch;
	font-size: clamp(3rem, 3.7vw, 3.5rem);
	font-weight: 700;
	line-height: 1.1;
}

.section-heading h2,
.meet-copy h2,
.events-copy h2,
.connect-copy h3 {
	font-weight: 700;
	line-height: 1.1;
}

.text-link,
.post-card-kicker,
.post-card-meta,
.rail-card > span:last-child {
	font-family: var(--cc-sans);
}

.meet-media,
.events-media,
.singular-featured {
	display: grid;
	place-items: center;
	background: var(--cc-surface);
}

.meet-media,
.events-media {
	height: auto;
	aspect-ratio: 16 / 9;
}

.meet-media img,
.events-media img,
.singular-featured img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.content-rail {
	grid-auto-columns: calc((100% - 80px) / 5);
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
}

.content-rail::-webkit-scrollbar {
	display: none;
}

.rail-card {
	height: 100%;
}

.rail-card-media {
	aspect-ratio: 3 / 4;
}

.event-list li {
	display: block;
	padding: 19px 0;
}

.event-list li > a {
	display: block;
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: 1.2rem;
	line-height: 1.25;
	text-decoration: none;
}

.archive-content,
.singular-surface,
.archive-main .archive-content {
	margin-top: 0;
	padding: clamp(56px, 5vw, 78px) 0 clamp(90px, 8vw, 132px);
	background: var(--cc-paper);
}

.single-content-header {
	margin-bottom: clamp(38px, 5vw, 64px);
}

.single-content-header h1 {
	max-width: 14ch;
	margin: 0;
	color: var(--cc-main);
	font-family: var(--cc-serif);
	font-size: clamp(2.8rem, 5vw, 4.8rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.singular-featured {
	overflow: hidden;
	border-radius: var(--cc-radius);
}

.post-card-media img {
	object-position: center;
}

.post-card-audio {
	margin-top: auto;
}

.archive-pagination-fallback[hidden] {
	display: none !important;
}

.infinite-scroll-sentinel {
	display: grid;
	min-height: 36px;
	place-items: center;
	margin-top: 28px;
}

.infinite-scroll-sentinel.is-loading::before {
	width: 24px;
	height: 24px;
	border: 2px solid var(--cc-line);
	border-top-color: var(--cc-accent);
	border-radius: 50%;
	content: "";
	animation: heavens-infinite-spin 700ms linear infinite;
}

@keyframes heavens-infinite-spin {
	to {
		transform: rotate(360deg);
	}
}

.site-footer {
	margin-top: 0;
	padding: clamp(70px, 6vw, 96px) 0 26px;
	color: rgba(255, 255, 255, 0.82);
	background: linear-gradient(to top right, #0d0e0d, var(--cc-main));
	border-radius: 32px 32px 0 0;
	box-shadow: 0 -10px 36px rgba(0, 0, 0, 0.12);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr 1fr 1.2fr;
	align-items: start;
	gap: clamp(30px, 4vw, 70px);
}

.footer-heading {
	margin: 0 0 17px;
	color: var(--cc-paper);
	font-family: var(--cc-sans);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.4;
}

.footer-link-list {
	display: grid;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-link-list a,
.footer-location-column a,
.footer-location-column p,
.footer-location-column address {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
	font-style: normal;
	line-height: 1.65;
	text-decoration: none;
}

.footer-link-list a:hover,
.footer-link-list a:focus-visible,
.footer-location-column a:hover,
.footer-location-column a:focus-visible {
	color: var(--cc-accent);
}

.footer-location-column {
	display: grid;
	align-content: start;
	gap: 5px;
}

.footer-location-column h3 {
	margin: 15px 0 3px;
	color: var(--cc-paper);
	font-family: var(--cc-sans);
	font-size: 0.95rem;
	font-weight: 700;
}

.footer-location-column p,
.footer-location-column address {
	margin: 0;
}

.footer-lower {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-top: clamp(54px, 6vw, 82px);
}

.footer-lower .site-brand {
	color: var(--cc-paper);
}

.footer-lower .custom-logo {
	filter: brightness(0) invert(1);
}

.footer-legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 14px;
}

.footer-legal-links a,
.footer-bottom,
.footer-bottom a {
	color: rgba(255, 255, 255, 0.56);
	font-size: 0.75rem;
	text-decoration: none;
}

.footer-socials {
	display: flex;
	gap: 10px;
	margin: 0;
}

.footer-socials a {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	color: var(--cc-paper);
	background: rgba(255, 255, 255, 0.04);
	border-radius: 50%;
	font-family: var(--cc-sans);
	font-size: 0.7rem;
	font-weight: 700;
	text-decoration: none;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.not-found-main .inner-hero {
	padding: clamp(56px, 6vw, 90px) 0 clamp(84px, 8vw, 120px);
}

@media (max-width: 1080px) {
	.primary-navigation,
	.header-visit {
		display: none;
	}

	.heavens-menu-toggle,
	.site-header .header-inner > .heavens-menu-toggle {
		margin-left: auto !important;
	}
}

@media (max-width: 1020px) {
	.content-rail {
		grid-auto-columns: calc((100% - 40px) / 3);
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.site-chrome {
		--cc-utility-offset: 60px;
	}

	.site-header,
	.header-inner {
		min-height: 88px;
	}

	.header-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 48px;
		gap: 16px;
		padding: 13px 18px;
	}

	.header-inner > .site-brand {
		width: auto;
		max-width: 100%;
		min-width: 0;
		flex: 1 1 auto;
		overflow: hidden;
	}

	.header-inner .site-brand-copy {
		overflow: hidden;
	}

	.header-inner .site-brand-copy strong {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.heavens-menu-toggle,
	.site-header .header-inner > .heavens-menu-toggle {
		grid-column: 2;
		margin-left: auto !important;
	}

	.home-hero {
		padding-top: 48px;
	}

	.home-hero h1,
	.meet-copy h2,
	.section-heading h2,
	.events-copy h2,
	.connect-copy h3 {
		font-size: 3rem;
		line-height: 1.1;
	}

	.meet-media,
	.events-media {
		aspect-ratio: 16 / 9;
	}

	.content-rail {
		grid-auto-columns: calc((100% - 16px) / 2);
	}

	.singular-featured {
		width: min(100% - 46px, 680px);
		margin-bottom: 48px;
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 26px;
	}

	.footer-lower {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.site-chrome {
		--cc-utility-offset: 57px;
	}

	.utility-row {
		align-items: center;
	}

	.service-chip {
		max-width: 44%;
		padding-inline: 12px;
		overflow: hidden;
		font-size: 0.66rem;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.utility-actions {
		max-width: 56%;
	}

	.language-list {
		flex-wrap: nowrap;
	}

	.site-brand {
		width: auto;
		min-width: 0;
		flex-basis: auto;
	}

	.header-inner .site-brand-copy strong {
		font-size: 1.17rem;
	}

	.home-hero h1,
	.meet-copy h2,
	.section-heading h2,
	.events-copy h2,
	.connect-copy h3 {
		font-size: clamp(2.6rem, 12vw, 3rem);
	}

	.content-rail {
		grid-auto-columns: 82%;
	}

	.single-content-header h1 {
		font-size: clamp(2.45rem, 13vw, 3.35rem);
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
	}

	.site-footer {
		padding-top: 54px;
		border-radius: 28px 28px 0 0;
	}

	.footer-heading {
		font-size: 0.9rem;
	}

	.footer-link-list a,
	.footer-location-column a,
	.footer-location-column p,
	.footer-location-column address {
		font-size: 0.82rem;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: row;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.infinite-scroll-sentinel.is-loading::before {
		animation: none;
	}

	html.motion-ready [data-reveal],
	html.motion-ready [data-letter-reveal] .reveal-letter {
		opacity: 1;
		transform: none;
	}
}

@media print {
	.site-chrome,
	.site-footer,
	.mobile-navigation,
	.round-play,
	.rail-controls {
		display: none !important;
	}

	.rounded-section,
	.inner-hero {
		margin: 0;
		padding: 1rem 0;
		background: #fff;
	}

	body {
		color: #000;
		background: #fff;
	}
}

/* Ephemeral PWA install prompt. */
.heavens-pwa-install {
	position: fixed;
	z-index: 120;
	left: 50%;
	bottom: max(20px, env(safe-area-inset-bottom));
	display: flex;
	width: min(430px, calc(100% - 32px));
	min-height: 64px;
	align-items: center;
	gap: 12px;
	padding: 10px 18px 10px 10px;
	color: var(--cc-paper);
	background: color-mix(in srgb, var(--cc-main) 96%, var(--cc-dark));
	border: 1px solid color-mix(in srgb, var(--cc-accent) 52%, transparent);
	border-radius: 999px;
	box-shadow: 0 18px 48px rgba(23, 24, 23, 0.28);
	font-family: var(--cc-sans);
	text-align: left;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, calc(100% + 42px));
	transition: opacity 220ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1), background-color 180ms ease;
}

button.heavens-pwa-install {
	cursor: pointer;
}

.heavens-pwa-install.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

button.heavens-pwa-install:hover,
button.heavens-pwa-install:focus-visible {
	background: var(--cc-dark);
	transform: translate(-50%, -2px);
}

.heavens-pwa-install__mark {
	display: grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-radius: 50%;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.heavens-pwa-install__copy {
	display: grid;
	min-width: 0;
	gap: 1px;
}

.heavens-pwa-install__copy strong {
	font-size: 0.76rem;
	letter-spacing: 0.07em;
	line-height: 1.25;
	text-transform: uppercase;
}

.heavens-pwa-install__copy small {
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.72rem;
	line-height: 1.35;
}

@media (max-width: 560px) {
	.heavens-pwa-install {
		bottom: max(14px, env(safe-area-inset-bottom));
		min-height: 58px;
		padding: 8px 14px 8px 8px;
	}

	.heavens-pwa-install__mark {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.heavens-pwa-install {
		transition: opacity 120ms ease;
	}
}

/* Release 0.6.3: floating chrome, editorial single heroes and gallery tiles. */
.site-chrome {
	--cc-utility-offset: 0px;
	z-index: 100;
	top: 0;
	padding-top: 16px;
	background: transparent;
	pointer-events: none;
}

.utility-row {
	margin-bottom: 14px;
	pointer-events: none;
}

.utility-row > * {
	pointer-events: auto;
}

.utility-actions {
	padding: 3px 6px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(41, 42, 41, 0.07);
	border-radius: 999px;
	box-shadow: 0 8px 28px rgba(31, 32, 31, 0.09);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
}

.site-header {
	pointer-events: auto;
	background: rgba(255, 255, 255, 0.93);
	border-color: rgba(255, 255, 255, 0.78);
	box-shadow: 0 8px 20px rgba(31, 32, 31, 0.08), 0 22px 54px rgba(31, 32, 31, 0.1);
	-webkit-backdrop-filter: blur(18px) saturate(128%);
	backdrop-filter: blur(18px) saturate(128%);
}

.primary-menu > li > a {
	transition: color 180ms ease, transform 180ms ease;
}

.primary-menu > li:hover > a,
.primary-menu > li:focus-within > a {
	color: var(--cc-accent-text);
	transform: translateY(-1px);
}

.pill-button {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 220ms ease, transform 180ms ease;
}

.pill-button:hover,
.pill-button:focus-visible {
	box-shadow: 0 10px 24px rgba(31, 32, 31, 0.15);
	transform: translateY(-3px);
}

.pill-button:active {
	box-shadow: 0 4px 12px rgba(31, 32, 31, 0.1);
	transform: translateY(0) scale(0.985);
}

.single-media-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(360px, 54vw, 650px);
	margin-top: 0;
	margin-bottom: clamp(38px, 5vw, 64px);
	background: var(--cc-dark);
}

.single-media-hero img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center;
}

.single-media-hero__shade {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 24, 23, 0.05) 24%, rgba(23, 24, 23, 0.82) 100%);
}

.single-media-hero__copy {
	position: absolute;
	z-index: 2;
	right: clamp(24px, 5vw, 70px);
	bottom: clamp(26px, 5vw, 66px);
	left: clamp(24px, 5vw, 70px);
}

.single-media-hero__copy h1 {
	max-width: 13ch;
	margin: 0;
	color: var(--cc-paper);
	font-family: var(--cc-serif);
	font-size: clamp(2.5rem, 6vw, 6rem);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 0.96;
	text-shadow: 0 3px 24px rgba(0, 0, 0, 0.4);
	text-wrap: balance;
}

.singular-article .entry-content > .gallery {
	display: grid !important;
	width: 100% !important;
	height: auto !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 14px;
	clear: both;
	overflow: visible !important;
}

.singular-article .entry-content > .gallery > br {
	display: none !important;
}

.singular-article .entry-content > .gallery .gallery-item {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	text-align: left;
}

.singular-article .entry-content > .gallery .gallery-icon,
.singular-article .entry-content > .gallery .gallery-icon a {
	display: block;
	width: 100%;
	height: 100%;
}

.singular-article .entry-content > .gallery img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 0 !important;
	border-radius: 14px;
	box-shadow: var(--cc-shadow-card);
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 220ms ease;
}

.singular-article .entry-content > .gallery a:hover img,
.singular-article .entry-content > .gallery a:focus-visible img {
	box-shadow: var(--cc-shadow-lifted);
	transform: translateY(-3px) scale(1.015);
}

@media (max-width: 820px) {
	.site-chrome {
		--cc-utility-offset: 0px;
		padding-top: 12px;
	}

	.single-media-hero {
		min-height: 390px;
		aspect-ratio: 4 / 3;
		margin-top: 0;
	}

	.single-media-hero__copy h1 {
		font-size: clamp(2.3rem, 10vw, 4.2rem);
	}

	.singular-article .entry-content > .gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 12px;
	}
}

@media (max-width: 560px) {
	.utility-row {
		margin-bottom: 10px;
	}

	.utility-actions {
		padding-inline: 4px;
	}

	.single-media-hero {
		min-height: 360px;
	}

	.singular-article .entry-content > .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px;
	}

	.singular-article .entry-content > .gallery img {
		border-radius: 11px;
	}
}

/* Release 0.6.4: floating cloud chrome, editorial legacy content and safe giving UI. */
:root {
	--cc-chrome-clearance: 150px;
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

html {
	scroll-padding-top: calc(var(--cc-chrome-clearance) + 16px);
}

.site-chrome {
	position: fixed;
	inset: 0 0 auto;
	isolation: isolate;
	transition: padding 220ms ease;
}

.site-chrome::before {
	position: absolute;
	z-index: -1;
	inset: -24px 0 -68px;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(244, 243, 242, 0.82) 0%, rgba(244, 243, 242, 0.42) 54%, rgba(244, 243, 242, 0) 100%),
		radial-gradient(ellipse at 0 0, rgba(255, 255, 255, 0.76), transparent 48%),
		radial-gradient(ellipse at 100% 0, rgba(255, 255, 255, 0.76), transparent 48%);
	-webkit-backdrop-filter: blur(10px) saturate(108%);
	backdrop-filter: blur(10px) saturate(108%);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
	content: "";
	opacity: 0.78;
	transition: opacity 240ms ease, backdrop-filter 240ms ease;
}

.site-chrome.is-scrolled::before {
	-webkit-backdrop-filter: blur(18px) saturate(112%);
	backdrop-filter: blur(18px) saturate(112%);
	opacity: 1;
}

.site-chrome.is-scrolled .site-header {
	box-shadow: 0 10px 24px rgba(31, 32, 31, 0.1), 0 28px 66px rgba(31, 32, 31, 0.14);
}

.site > .site-main:not(.home-v2) {
	padding-top: var(--cc-chrome-clearance, 150px);
}

.admin-bar .site-chrome {
	top: 32px;
}

.legacy-gallery-shell {
	position: relative;
	margin-top: clamp(46px, 7vw, 86px);
}

.legacy-gallery-shell .legacy-gallery {
	margin-top: 0;
}

.legacy-gallery-controls {
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	margin-bottom: 14px;
}

.legacy-gallery-controls button {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	padding: 0;
	color: var(--cc-main);
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 50%;
	cursor: pointer;
	font-size: 1rem;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.legacy-gallery-controls button:hover,
.legacy-gallery-controls button:focus-visible {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-color: var(--cc-accent);
	transform: translateY(-2px);
}

.archive-real-content {
	max-width: 1120px;
}

.legacy-rich-content,
.singular-editorial .entry-content {
	display: flow-root;
}

.legacy-rich-content > .editorial-lead-media,
.singular-editorial .entry-content > .editorial-lead-media {
	float: left !important;
	width: clamp(238px, 32vw, 390px) !important;
	max-width: 44% !important;
	margin: 0 clamp(24px, 4vw, 54px) 24px 0 !important;
	padding: 10px;
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 24px;
	box-shadow: 0 18px 46px rgba(31, 32, 31, 0.12);
}

.legacy-rich-content > .editorial-lead-media img,
.singular-editorial .entry-content > .editorial-lead-media img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border-radius: 15px;
}

.legacy-rich-content > .editorial-lead-media figcaption,
.singular-editorial .entry-content > .editorial-lead-media figcaption {
	padding: 12px 7px 5px;
	color: var(--cc-muted);
	font-family: var(--cc-sans);
	font-size: 0.76rem;
	line-height: 1.45;
}

.archive-real-content .legacy-inline-gallery,
.archive-real-content .legacy-rich-content > .gallery,
.singular-editorial .entry-content > .legacy-inline-gallery,
.singular-editorial .entry-content > .gallery {
	display: grid !important;
	width: 100% !important;
	height: auto !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 13px;
	clear: both;
	margin: clamp(34px, 5vw, 64px) 0 !important;
	overflow: visible !important;
}

.archive-real-content .legacy-inline-gallery > br,
.archive-real-content .legacy-rich-content > .gallery > br,
.singular-editorial .entry-content > .legacy-inline-gallery > br,
.singular-editorial .entry-content > .gallery > br {
	display: none !important;
}

.archive-real-content .legacy-inline-gallery .gallery-item,
.archive-real-content .legacy-rich-content > .gallery .gallery-item,
.singular-editorial .entry-content > .legacy-inline-gallery .gallery-item,
.singular-editorial .entry-content > .gallery .gallery-item {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.archive-real-content .legacy-inline-gallery :where(.gallery-icon, .gallery-icon a),
.archive-real-content .legacy-rich-content > .gallery :where(.gallery-icon, .gallery-icon a),
.singular-editorial .entry-content > .legacy-inline-gallery :where(.gallery-icon, .gallery-icon a),
.singular-editorial .entry-content > .gallery :where(.gallery-icon, .gallery-icon a) {
	display: block;
	width: 100%;
	height: 100%;
}

.archive-real-content .legacy-inline-gallery img,
.archive-real-content .legacy-rich-content > .gallery img,
.singular-editorial .entry-content > .legacy-inline-gallery img,
.singular-editorial .entry-content > .gallery img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 0 !important;
	border-radius: 15px;
	box-shadow: var(--cc-shadow-card);
}

.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: clamp(28px, 4vw, 54px);
	align-items: start;
}

.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-rich-content {
	display: contents;
}

.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-rich-content > p {
	grid-column: 1;
	grid-row: 1;
	margin-top: 0;
}

.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media > .legacy-video {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
}

.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-inline-gallery,
.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-rich-content > .gallery {
	grid-column: 1 / -1;
	grid-row: 2;
}

.prayer-intro {
	padding: clamp(46px, 5vw, 76px) 0 clamp(78px, 8vw, 118px);
}

.prayer-intro-grid {
	grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(34px, 5vw, 76px);
	align-items: start;
}

.prayer-intro-copy,
.prayer-intro-message {
	min-width: 0;
}

.prayer-intro-copy h1 {
	max-width: 9ch;
	font-size: clamp(3.25rem, 5.3vw, 5.65rem);
	line-height: 0.94;
	overflow-wrap: normal;
	word-break: normal;
}

.prayer-intro-message {
	padding-top: 8px;
	font-size: clamp(1.04rem, 1.45vw, 1.26rem);
	line-height: 1.62;
}

.site-footer {
	padding: clamp(46px, 4.2vw, 64px) 0 22px;
	border-radius: 28px 28px 0 0;
}

.footer-grid {
	gap: clamp(24px, 3vw, 48px);
}

.footer-lower {
	margin-top: clamp(34px, 4vw, 52px);
}

.footer-social-block {
	display: grid;
	justify-items: end;
	gap: 10px;
}

.footer-social-label {
	color: rgba(255, 255, 255, 0.68);
	font-family: var(--cc-sans);
	font-size: 0.67rem;
	font-weight: 650;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.footer-socials a {
	width: 42px;
	height: 42px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.14);
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.footer-socials a:hover,
.footer-socials a:focus-visible {
	color: var(--cc-accent-ink);
	background: var(--cc-accent);
	border-color: var(--cc-accent);
	transform: translateY(-2px);
}

.footer-socials svg {
	width: 20px;
	height: 20px;
}

.footer-socials svg path {
	fill: currentColor;
}

.footer-socials svg rect,
.footer-socials svg circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.footer-socials svg .is-filled {
	fill: currentColor;
	stroke: none;
}

.heavens-pwa-install__mark {
	background: transparent;
	border: 1px solid rgba(230, 200, 110, 0.42);
}

.heavens-pwa-install__mark img {
	display: block;
	width: 38px;
	height: 38px;
	object-fit: contain;
}

.giving-hero {
	padding: clamp(58px, 7vw, 104px) 0 clamp(80px, 9vw, 132px);
	background:
		radial-gradient(circle at 78% 8%, color-mix(in srgb, var(--cc-accent) 20%, transparent), transparent 34%),
		linear-gradient(145deg, var(--cc-paper), var(--cc-surface));
}

.giving-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(36px, 5vw, 76px);
	align-items: center;
}

.giving-hero__copy,
.giving-panel {
	min-width: 0;
}

.giving-hero__copy h1 {
	max-width: none;
	margin: 12px 0 28px;
	font-size: clamp(3.1rem, 4.05vw, 4.9rem);
	letter-spacing: -0.045em;
	line-height: 0.94;
	overflow-wrap: normal;
	word-break: normal;
}

.giving-hero__copy > p:last-child {
	max-width: 560px;
	color: var(--cc-muted);
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
	line-height: 1.65;
}

.giving-eyebrow,
.giving-panel__kicker {
	margin: 0;
	color: var(--cc-accent-text);
	font-family: var(--cc-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.giving-panel {
	padding: clamp(28px, 4vw, 48px);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(41, 42, 41, 0.09);
	border-radius: 30px;
	box-shadow: 0 26px 72px rgba(31, 32, 31, 0.14);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.giving-panel__head {
	display: flex;
	align-items: center;
	gap: 18px;
}

.giving-panel__mark {
	display: grid;
	width: 70px;
	height: 70px;
	flex: 0 0 70px;
	place-items: center;
	background: var(--cc-main);
	border-radius: 20px;
}

.giving-panel__mark img {
	width: 56px;
	height: 56px;
}

.giving-panel h2 {
	margin: 5px 0 0;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
}

.giving-panel__label {
	margin: 28px 0 22px;
	padding: 15px 18px;
	color: var(--cc-main);
	background: color-mix(in srgb, var(--cc-accent) 18%, var(--cc-paper));
	border: 1px solid color-mix(in srgb, var(--cc-accent) 52%, var(--cc-line));
	border-radius: 16px;
	font-family: var(--cc-sans);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}

.giving-methods {
	display: grid;
	gap: 12px;
}

.giving-method {
	display: grid;
	gap: 3px;
	padding: 18px 20px;
	color: var(--cc-main);
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 16px;
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.giving-method--primary {
	background: color-mix(in srgb, var(--cc-accent) 18%, var(--cc-paper));
	border-color: color-mix(in srgb, var(--cc-accent) 58%, var(--cc-line));
}

.giving-method:hover,
.giving-method:focus-visible {
	border-color: var(--cc-accent);
	box-shadow: var(--cc-shadow-card);
	transform: translateY(-2px);
}

.giving-method strong {
	font-family: var(--cc-sans);
	font-size: 1rem;
}

.giving-method span {
	color: var(--cc-muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

.giving-security-note {
	display: flex;
	gap: 9px;
	margin: 20px 0 0;
	color: var(--cc-muted);
	font-size: 0.77rem;
	line-height: 1.5;
}

.giving-security-note > span {
	color: var(--cc-accent-text);
	font-weight: 800;
}


/* The legacy reconstruction article stores its first pair of images and CTA inline. */
.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:empty {
	display: none;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) {
	display: flex;
	gap: clamp(14px, 2.2vw, 28px);
	align-items: stretch;
	margin: clamp(28px, 4vw, 52px) 0;
	padding: 0 !important;
	font-size: 0;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) > a {
	display: grid;
	min-width: 0;
	flex: 1 1 0;
	place-items: center;
	padding: 10px;
	background: var(--cc-paper);
	border: 1px solid var(--cc-line);
	border-radius: 20px;
	box-shadow: var(--cc-shadow-card);
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) > br {
	display: none;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) img {
	display: block;
	width: 100% !important;
	height: clamp(260px, 33vw, 440px) !important;
	margin: 0 !important;
	object-fit: contain;
	border-radius: 13px;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > div[style*="background"] {
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: clamp(34px, 5vw, 62px) 0 28px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > div[style*="background"] > p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content a[href*="sposobi-pozhertvuvannya"] {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 13px 26px;
	color: var(--cc-accent-ink) !important;
	background: var(--cc-accent);
	border: 1px solid var(--cc-accent);
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(31, 32, 31, 0.12);
	font-family: var(--cc-sans);
	font-size: 0.9rem !important;
	font-weight: 750;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content a[href*="sposobi-pozhertvuvannya"]:hover,
.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content a[href*="sposobi-pozhertvuvannya"]:focus-visible {
	background: color-mix(in srgb, var(--cc-accent) 84%, white);
	transform: translateY(-2px);
}

@media (max-width: 1280px) {
	.giving-hero__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.giving-hero__copy,
	.giving-panel {
		width: min(100%, 820px);
	}

	.giving-hero__copy h1 {
		font-size: clamp(3.6rem, 9vw, 6rem);
	}
}

@media (max-width: 920px) {
	:root {
		--cc-chrome-clearance: 148px;
	}

	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media,
	.giving-hero__grid {
		grid-template-columns: 1fr;
	}

	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-rich-content {
		display: block;
	}

	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media > .legacy-video,
	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-inline-gallery,
	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media .legacy-rich-content > .gallery {
		grid-column: auto;
		grid-row: auto;
	}

	.archive-term-molodizhne-sluzhinnya-3 .archive-real-content.has-media > .legacy-video {
		width: min(100%, 680px);
	}

	.archive-real-content .legacy-inline-gallery,
	.archive-real-content .legacy-rich-content > .gallery,
	.singular-editorial .entry-content > .legacy-inline-gallery,
	.singular-editorial .entry-content > .gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

}

@media (max-width: 782px) {
	.admin-bar .site-chrome {
		top: 46px;
	}
}

@media (max-width: 720px) {
	:root {
		--cc-chrome-clearance: 146px;
	}

	.site-chrome::before {
		bottom: -44px;
	}

	.legacy-rich-content > .editorial-lead-media,
	.singular-editorial .entry-content > .editorial-lead-media {
		float: none !important;
		width: min(100%, 420px) !important;
		max-width: 100% !important;
		margin: 0 auto 28px !important;
	}

	.archive-real-content .legacy-inline-gallery,
	.archive-real-content .legacy-rich-content > .gallery,
	.singular-editorial .entry-content > .legacy-inline-gallery,
	.singular-editorial .entry-content > .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px;
	}

	.prayer-intro-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.prayer-intro-copy h1 {
		max-width: 11ch;
		font-size: clamp(3rem, 15vw, 4.6rem);
	}

	.prayer-tabs {
		margin-top: 24px;
	}

	.footer-social-block {
		justify-items: start;
	}

	.giving-hero__grid {
		gap: 34px;
	}

	.giving-hero__copy h1 {
		font-size: clamp(3.6rem, 17vw, 5.4rem);
	}

	.giving-panel {
		padding: 24px 20px;
		border-radius: 22px;
	}

	.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) {
		flex-direction: column;
	}

	.singular-slug-proekt-rekonstruktsiyi-budivli-hts-nebesa .entry-content > p:has(> a:nth-of-type(2) img) img {
		height: auto !important;
	}
}

@media (max-width: 480px) {
	:root {
		--cc-chrome-clearance: 142px;
	}

	.legacy-gallery {
		grid-auto-columns: 82%;
	}

	.giving-panel__head {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Release 0.6.9: one menu-only header across the site and expanded palette surfaces. */
:root {
	--cc-chrome-clearance: 160px;
}

body:not(.home) .site-chrome,
body:not(.home) .site-chrome.is-scrolled {
	top: 0;
	padding-top: clamp(28px, 4vh, 44px);
	background: transparent;
}

body:not(.home) .site-chrome::before {
	inset: -20px 0 -56px;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--cc-paper) 96%, transparent) 0%, color-mix(in srgb, var(--cc-paper) 70%, transparent) 56%, transparent 100%),
		radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--cc-paper) 82%, transparent), transparent 50%),
		radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--cc-paper) 82%, transparent), transparent 50%);
	-webkit-backdrop-filter: blur(12px) saturate(108%);
	backdrop-filter: blur(12px) saturate(108%);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
	opacity: 0.88;
}

body:not(.home) .site-chrome.is-scrolled::before {
	-webkit-backdrop-filter: blur(18px) saturate(112%);
	backdrop-filter: blur(18px) saturate(112%);
	opacity: 1;
}

body:not(.home) .utility-row,
body:not(.home) .site-chrome .primary-navigation,
body:not(.home) .site-chrome .header-visit {
	display: none;
}

body:not(.home) .site-header,
body:not(.home) .site-chrome.is-scrolled .site-header {
	width: min(1280px, calc(100% - 72px));
	min-height: 92px;
	pointer-events: auto;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

body:not(.home) .header-inner {
	min-height: 92px;
	gap: 18px;
	padding: 0;
}

body:not(.home) .site-chrome .site-brand {
	min-width: 0;
	gap: 18px;
	color: var(--cc-main);
}

body:not(.home) .site-chrome .site-brand-logo img {
	width: 76px;
	max-width: 76px;
	height: 76px;
	object-fit: contain;
	filter: none;
}

body:not(.home) .site-chrome .site-brand-copy small {
	color: inherit;
	font-family: var(--cc-sans);
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.27em;
}

body:not(.home) .site-chrome .site-brand-copy strong {
	margin-top: 9px;
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 2.8vw, 2.65rem);
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.9;
}

body:not(.home) .site-chrome .heavens-menu-toggle {
	display: grid;
	width: 60px;
	min-width: 60px;
	height: 60px;
	min-height: 60px;
	margin-left: auto;
	place-items: center;
	color: var(--cc-main);
	background: color-mix(in srgb, var(--cc-paper) 34%, transparent);
	border: 1px solid color-mix(in srgb, var(--cc-main) 58%, transparent);
	border-radius: 16px;
	transition: background-color 180ms ease, transform 180ms ease;
}

body:not(.home) .site-chrome .heavens-menu-toggle:hover,
body:not(.home) .site-chrome .heavens-menu-toggle:focus-visible {
	background: color-mix(in srgb, var(--cc-main) 9%, transparent);
	transform: translateY(-2px);
}

body:not(.home) .site-chrome .menu-toggle-lines,
body:not(.home) .site-chrome .menu-toggle-lines::before,
body:not(.home) .site-chrome .menu-toggle-lines::after {
	width: 30px;
	height: 3px;
	border-radius: 999px;
}

.mob-menu-header-holder,
.mobmenu-overlay,
.mob-menu-left-panel,
.mob-menu-right-panel,
.mob-menu-left-bg-holder,
.mob-menu-right-bg-holder,
.no-mobile-menu {
	display: none !important;
}

@media (max-width: 820px) {
	:root {
		--cc-chrome-clearance: 116px;
	}

	body:not(.home) .site-chrome,
	body:not(.home) .site-chrome.is-scrolled {
		padding-top: 20px;
	}

	body:not(.home) .site-header,
	body:not(.home) .site-chrome.is-scrolled .site-header {
		width: min(100% - 32px, 720px);
		min-height: 70px;
	}

	body:not(.home) .header-inner {
		min-height: 70px;
		gap: 12px;
	}

	body:not(.home) .site-chrome .site-brand {
		gap: 11px;
	}

	body:not(.home) .site-chrome .site-brand-logo img {
		width: 52px;
		max-width: 52px;
		height: 52px;
	}

	body:not(.home) .site-chrome .site-brand-copy small {
		font-size: 0.54rem;
		letter-spacing: 0.2em;
	}

	body:not(.home) .site-chrome .site-brand-copy strong {
		margin-top: 6px;
		font-size: clamp(1.65rem, 7.2vw, 2.15rem);
	}

	body:not(.home) .site-chrome .heavens-menu-toggle {
		width: 54px;
		min-width: 54px;
		height: 54px;
		min-height: 54px;
		border-radius: 14px;
	}
}

@media (max-width: 560px) {
	:root {
		--cc-chrome-clearance: 108px;
	}

	body:not(.home) .site-chrome,
	body:not(.home) .site-chrome.is-scrolled {
		padding-top: 16px;
	}

	body:not(.home) .site-chrome .site-brand-logo img {
		width: 46px;
		max-width: 46px;
		height: 46px;
	}

	body:not(.home) .site-chrome .site-brand-copy small {
		font-size: 0.48rem;
		letter-spacing: 0.17em;
	}

	body:not(.home) .site-chrome .site-brand-copy strong {
		font-size: clamp(1.48rem, 7.4vw, 1.9rem);
	}

	body:not(.home) .site-chrome .heavens-menu-toggle {
		width: 50px;
		min-width: 50px;
		height: 50px;
		min-height: 50px;
	}

	body:not(.home) .site-chrome .menu-toggle-lines,
	body:not(.home) .site-chrome .menu-toggle-lines::before,
	body:not(.home) .site-chrome .menu-toggle-lines::after {
		width: 25px;
		height: 2px;
	}
}

/* Keep inner-page brand coordinates in lockstep with the homepage header. */
body:not(.home) .site-chrome,
body:not(.home) .site-chrome.is-scrolled {
	padding-top: clamp(42px, 7vh, 86px);
}

body:not(.home) .site-chrome.is-scrolled {
	padding-top: 16px;
}

@media (max-width: 820px) {
	body:not(.home) .site-chrome,
	body:not(.home) .site-chrome.is-scrolled {
		padding-top: 20px;
	}
}

@media (max-width: 560px) {
	body:not(.home) .site-chrome,
	body:not(.home) .site-chrome.is-scrolled {
		padding-top: 16px;
	}
}

/* Release 0.7.1: one leading rhythm, named palettes and a vector menu control. */
:root {
	--cc-inner-leading-gap: clamp(36px, 3.3vw, 52px);
}

.archive-content,
.singular-surface,
.archive-main .archive-content,
.giving-hero,
.prayer-intro,
.not-found-main .inner-hero {
	padding-top: var(--cc-inner-leading-gap);
}

.entry-content > :first-child,
.entry-content > .pf-content > :first-child,
.legacy-rich-content > :first-child {
	margin-top: 0;
}

.heavens-menu-toggle .menu-toggle-icon {
	width: 30px;
	height: 30px;
}

@media (max-width: 560px) {
	.heavens-menu-toggle .menu-toggle-icon {
		width: 25px;
		height: 25px;
	}
}
