/* Traditional — ceremonial, symmetrical and centred on worship. */
.parish-style-traditional {
	--ps-trad-night: color-mix(in srgb, var(--ps-primary) 84%, #050504 16%);
	--ps-trad-deep: color-mix(in srgb, var(--ps-primary) 72%, #000 28%);
	--ps-trad-gold: color-mix(
		in srgb,
		var(--ps-accent-alt) 82%,
		var(--ps-accent) 18%
	);
	--ps-trad-ivory: color-mix(in srgb, var(--ps-bg) 88%, #fffaf0 12%);
	--ps-trad-line: color-mix(in srgb, var(--ps-trad-gold) 34%, transparent);
	background: var(--ps-trad-ivory) !important;
}
.error404 .ps-section {
	text-align: center;
}
.parish-style-traditional .ps-container {
	width: min(1120px, calc(100% - 56px));
}
.parish-style-traditional .ps-header {
	background: var(--ps-trad-night) !important;
	color: var(--ps-text-alt) !important;
	border: 0 !important;
	backdrop-filter: none;
}
.parish-style-traditional .ps-brand strong,
.parish-style-traditional .ps-brand small,
.parish-style-traditional .ps-nav a {
	color: var(--ps-text-alt) !important;
}
.parish-style-traditional .ps-lang {
	border-color: var(--ps-trad-line) !important;
}
.parish-style-traditional .ps-lang .active {
	background: var(--ps-trad-gold) !important;
	color: var(--ps-trad-night) !important;
}
.ps-header-traditional {
	position: relative;
}
.ps-traditional-topbar {
	background: color-mix(in srgb, var(--ps-trad-night) 80%, #000 20%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.ps-traditional-topbar-inner {
	min-height: 34px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.ps-traditional-topbar-contact,
.ps-traditional-topbar-social {
	display: flex;
	align-items: center;
	gap: 18px;
}
.ps-traditional-topbar a {
	color: color-mix(in srgb, var(--ps-text-alt) 68%, transparent);
	font-size: 9px;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
.ps-traditional-topbar a:hover {
	color: var(--ps-trad-gold);
}
.ps-traditional-topbar-contact a + a {
	position: relative;
	padding-left: 19px;
}
.ps-traditional-topbar-contact a + a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 10px;
	background: var(--ps-trad-line);
	transform: translateY(-50%);
}
.ps-traditional-topbar-social a {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.ps-traditional-header-accent {
	height: 3px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--ps-trad-gold),
		transparent
	);
}
.ps-traditional-header-row {
	min-height: 88px;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto minmax(130px, 0.5fr);
	align-items: center;
	gap: 30px;
}
.ps-traditional-brand {
	margin: 0;
}
.ps-traditional-brand .ps-logo-img {
	width: 50px;
	height: 50px;
}
.ps-traditional-brand strong {
	font:
		700 15px/1.16 Georgia,
		'Times New Roman',
		serif !important;
	letter-spacing: 0.01em;
}
.ps-traditional-brand small {
	margin-top: 5px;
	font-size: 9px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.6;
}
.ps-traditional-header-center {
	display: flex;
	justify-content: center;
}
.ps-traditional-nav {
	gap: 25px;
	font:
		400 12px/1 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-nav a:hover {
	color: var(--ps-trad-gold) !important;
}
.ps-traditional-header-tools {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
}
.ps-lang-traditional {
	padding: 0 !important;
	border: 1px solid var(--ps-trad-gold) !important;
	border-radius: 0 !important;
}
.ps-lang-traditional a {
	min-width: 34px;
	padding: 7px 8px !important;
	border-radius: 0 !important;
	text-align: center;
	font:
		700 9px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-text-alt) !important;
}
.ps-lang-traditional a + a {
	border-left: 1px solid var(--ps-trad-line);
}
.ps-traditional-addressbar {
	padding: 9px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(0, 0, 0, 0.12);
	text-align: center;
	font-size: 9px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--ps-text-alt) 65%, transparent);
}

.ps-traditional-hero {
	position: relative;
	min-height: 720px;
	display: grid;
	align-items: center;
	overflow: hidden;
	background: var(--ps-trad-night);
	color: var(--ps-text-alt);
}
.ps-traditional-hero.has-image {
	background-image: var(--ps-hero-image);
	background-position: center;
	background-size: cover;
}
.ps-traditional-hero-veil {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at center, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.76)),
		linear-gradient(180deg, rgba(5, 5, 4, 0.2), var(--ps-trad-night));
}
.ps-traditional-hero.no-image .ps-traditional-hero-veil {
	background:
		radial-gradient(
			circle at 50% 35%,
			color-mix(in srgb, var(--ps-accent) 12%, transparent),
			transparent 38%
		),
		linear-gradient(180deg, var(--ps-trad-deep), var(--ps-trad-night));
}
.ps-traditional-hero-inner {
	position: relative;
	z-index: 1;
	width: min(900px, calc(100% - 56px));
	padding: 110px 0;
	text-align: center;
}
.ps-traditional-hero-ornament {
	display: grid;
	grid-template-columns: minmax(50px, 150px) auto minmax(50px, 150px);
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin: 0 auto 28px;
	color: var(--ps-trad-gold);
}
.ps-traditional-hero-ornament i {
	display: block;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--ps-trad-gold));
}
.ps-traditional-hero-ornament i:last-child {
	background: linear-gradient(90deg, var(--ps-trad-gold), transparent);
}
.ps-traditional-hero-ornament span {
	font-size: 31px;
}
.ps-traditional-eyebrow {
	display: block;
	margin-bottom: 22px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ps-trad-gold);
}
.ps-traditional-hero h1 {
	margin: 0;
	font:
		700 clamp(42px, 5.8vw, 72px)/1.04 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: -0.035em;
	text-wrap: balance;
	text-shadow: 0 3px 30px rgba(0, 0, 0, 0.45);
}
.ps-traditional-hero p {
	width: min(660px, 100%);
	margin: 24px auto 0;
	font:
		italic 18px/1.65 Georgia,
		'Times New Roman',
		serif;
	color: rgba(255, 255, 255, 0.76);
}
.ps-traditional-hero .ps-hero-actions {
	justify-content: center;
	margin-top: 34px;
}
.ps-traditional-hero .ps-btn {
	min-height: 50px;
	border-radius: 0;
	background: var(--ps-trad-gold) !important;
	color: var(--ps-trad-night) !important;
	border: 1px solid var(--ps-trad-gold) !important;
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 700;
}
.ps-traditional-hero .ps-btn-ghost {
	background: transparent !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.ps-traditional-liturgy-section {
	position: relative;
	padding: 82px 0 86px;
	background: var(--ps-bg);
	color: var(--ps-text);
}
.ps-traditional-liturgy-section:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 34px;
	background: var(--ps-trad-gold);
}
.ps-traditional-heading {
	position: relative;
}
.ps-traditional-heading > span {
	display: block;
	margin-bottom: 8px;
	font-size: 21px;
	color: var(--ps-trad-gold);
}
.ps-traditional-heading > small {
	display: block;
	margin-bottom: 9px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--ps-primary);
}
.ps-traditional-heading h2 {
	margin: 0;
	font:
		700 clamp(35px, 4.5vw, 56px)/1.05 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: -0.025em;
}
.ps-traditional-heading.is-light {
	max-width: 760px;
	margin: 0 auto 38px;
	text-align: center;
}
.ps-traditional-heading.is-light > small {
	color: var(--ps-primary);
}
.ps-traditional-heading.is-light > span {
	color: var(--ps-accent);
}
.ps-traditional-heading.is-centered {
	max-width: 760px;
	margin: 0 auto 46px;
	text-align: center;
}
.ps-traditional-heading > a {
	display: inline-block;
	margin-top: 18px;
	font:
		italic 12px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-liturgy-list {
	width: min(920px, 100%);
	margin: auto;
	border-block: 1px solid var(--ps-trad-line);
}
.ps-traditional-liturgy-list > div {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr) 100px;
	gap: 28px;
	align-items: center;
	min-height: 92px;
	padding: 15px 5px;
	border-bottom: 1px solid var(--ps-trad-line);
}
.ps-traditional-liturgy-list > div:last-child {
	border-bottom: 0;
}
.ps-traditional-liturgy-list span {
	font:
		italic 12px/1.35 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-liturgy-list b {
	font:
		700 18px/1.3 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-liturgy-list strong {
	text-align: right;
	font:
		700 28px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-liturgy-list .ps-calendar-smart {
	color: var(--ps-primary);
}
.ps-traditional-more {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 30px auto 0;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font:
		italic 12px/1.4 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-liturgy-section .ps-traditional-more {
	color: var(--ps-primary);
}

.ps-traditional-calendar-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 34px;
	width: min(1020px, 100%);
	margin: 0 auto;
}
.ps-traditional-calendar,
.ps-traditional-calendar-detail {
	min-width: 0;
	padding: 24px;
	border: 1px solid var(--ps-trad-line);
	background: color-mix(in srgb, var(--ps-trad-tone-bg, var(--ps-bg)) 96%, var(--ps-trad-gold) 4%);
}
.ps-traditional-calendar-detail {
	display: flex;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
}
.ps-traditional-calendar.is-loading {
	opacity: 0.48;
	pointer-events: none;
}
.ps-traditional-calendar .ps-modern-calendar-nav {
	display: grid;
	grid-template-columns: 36px 1fr 36px;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
}
.ps-traditional-calendar .ps-modern-calendar-nav:after {
	content: '';
	grid-column: 1 / -1;
	height: 3px;
	border-block: 1px solid var(--ps-trad-line);
}
.ps-traditional-calendar .ps-modern-calendar-nav h3 {
	margin: 0;
	text-align: center;
	font: 700 22px/1 Georgia, 'Times New Roman', serif;
}
.ps-traditional-calendar .ps-modern-calendar-nav a {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid var(--ps-trad-line);
	color: var(--ps-primary);
}
.ps-traditional-calendar .ps-modern-calendar-weekdays,
.ps-traditional-calendar .ps-modern-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 5px;
}
.ps-traditional-calendar .ps-modern-calendar-weekdays {
	margin-bottom: 6px;
}
.ps-traditional-calendar .ps-modern-calendar-weekdays span {
	padding: 5px 2px;
	text-align: center;
	font: italic 10px/1 Georgia, 'Times New Roman', serif;
	opacity: 0.62;
}
.ps-traditional-calendar .ps-modern-calendar-day,
.ps-traditional-calendar .ps-modern-calendar-grid > .is-empty {
	min-width: 0;
	aspect-ratio: 1;
}
.ps-traditional-calendar .ps-modern-calendar-day {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 8px;
	border: 1px solid var(--ps-trad-line);
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: 700 11px/1 Georgia, 'Times New Roman', serif;
}
.ps-traditional-calendar .ps-modern-calendar-day:disabled {
	opacity: 0.3;
}
.ps-traditional-calendar .ps-modern-calendar-day.has-events {
	border-color: var(--ps-trad-gold);
	background: color-mix(in srgb, var(--ps-trad-gold) 11%, transparent);
	cursor: pointer;
}
.ps-traditional-calendar .ps-modern-calendar-day.is-active {
	background: var(--ps-primary);
	color: var(--ps-text-alt);
}
.ps-traditional-calendar .ps-modern-calendar-day i {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
	background: var(--ps-trad-gold);
	color: var(--ps-trad-night);
	font: normal 700 7px/1 var(--ps-body);
}
.ps-traditional-calendar-detail > span {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ps-primary);
}
.ps-traditional-calendar-detail > h3 {
	margin: 10px 0 22px;
	padding-bottom: 17px;
	border-bottom: 3px double var(--ps-trad-line);
	font: 700 25px/1.15 Georgia, 'Times New Roman', serif;
}
.ps-traditional-calendar-detail .ps-modern-calendar-events {
	display: grid;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding-right: 5px;
}
.ps-traditional-calendar-detail .ps-modern-calendar-event {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px 18px;
	align-items: center;
	padding: 17px 0;
	border-bottom: 1px solid var(--ps-trad-line);
}
.ps-traditional-calendar-detail .ps-modern-calendar-event:first-child {
	padding-top: 0;
}
.ps-traditional-calendar-detail .ps-modern-calendar-event-line,
.ps-traditional-calendar-detail .ps-modern-calendar-event-description,
.ps-traditional-calendar-detail .ps-modern-calendar-event time {
	grid-column: 1;
}
.ps-traditional-calendar-detail .ps-modern-calendar-event-line {
	margin: 0;
	font: 700 18px/1.35 Georgia, 'Times New Roman', serif;
}
.ps-traditional-calendar-detail .ps-modern-calendar-event-description {
	margin: 0;
	font-size: 11px;
	line-height: 1.5;
	opacity: 0.7;
}
.ps-traditional-calendar-detail .ps-modern-calendar-event time {
	font: 700 27px/1 Georgia, 'Times New Roman', serif;
	color: var(--ps-primary);
}
.ps-traditional-calendar-detail .ps-modern-calendar-add {
	grid-column: 2;
	grid-row: 1 / -1;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid var(--ps-primary);
	border-radius: 0;
	background: transparent;
	color: var(--ps-primary);
	font: 700 9px/1.2 Georgia, 'Times New Roman', serif;
}
.ps-traditional-calendar .ps-modern-calendar-nav a:hover,
.ps-traditional-calendar .ps-modern-calendar-day.has-events:hover:not(.is-active),
.ps-traditional-calendar-detail .ps-modern-calendar-add:hover {
	background: var(--ps-trad-gold);
	color: var(--ps-trad-night);
}
.ps-traditional-calendar :is(a, button):focus-visible {
	outline: 2px solid var(--ps-trad-gold);
	outline-offset: 2px;
}
.ps-traditional-tone-primary .ps-traditional-calendar,
.ps-traditional-tone-primary .ps-traditional-calendar-detail {
	background: color-mix(in srgb, var(--ps-primary) 90%, #000 10%);
	color: var(--ps-text-alt);
}
.ps-traditional-tone-primary .ps-traditional-calendar-shell :is(.ps-modern-calendar-nav a, .ps-modern-calendar-detail > span, .ps-modern-calendar-event time, .ps-modern-calendar-add) {
	color: var(--ps-accent);
	border-color: var(--ps-trad-line);
}

.ps-traditional-home .ps-section {
	padding: 94px 0;
}
.ps-traditional-about {
	background: var(--ps-trad-ivory);
}
.ps-traditional-about-frame {
	position: relative;
	padding: 76px 92px;
	border: 1px solid var(--ps-trad-line);
	text-align: center;
}
.ps-traditional-about-frame:before {
	content: '';
	position: absolute;
	inset: 10px;
	border: 1px solid color-mix(in srgb, var(--ps-trad-gold) 18%, transparent);
	pointer-events: none;
}
.ps-traditional-about-corners i {
	position: absolute;
	width: 32px;
	height: 32px;
	border-color: var(--ps-trad-gold);
	z-index: 1;
}
.ps-traditional-about-corners i:nth-child(1) {
	top: 22px;
	left: 22px;
	border-top: 2px solid;
	border-left: 2px solid;
}
.ps-traditional-about-corners i:nth-child(2) {
	top: 22px;
	right: 22px;
	border-top: 2px solid;
	border-right: 2px solid;
}
.ps-traditional-about-corners i:nth-child(3) {
	bottom: 22px;
	left: 22px;
	border-bottom: 2px solid;
	border-left: 2px solid;
}
.ps-traditional-about-corners i:nth-child(4) {
	right: 22px;
	bottom: 22px;
	border-right: 2px solid;
	border-bottom: 2px solid;
}
.ps-traditional-about-title {
	text-align: center;
}
.ps-traditional-medallion {
	width: 72px;
	height: 72px;
	display: grid;
	place-items: center;
	margin: 0 auto 22px;
	border: 1px solid var(--ps-trad-gold);
	border-radius: 50%;
	box-shadow:
		inset 0 0 0 6px var(--ps-trad-ivory),
		inset 0 0 0 7px var(--ps-trad-line);
	font-size: 28px;
	color: var(--ps-primary);
}
.ps-traditional-about-title small {
	display: block;
	margin-bottom: 10px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ps-primary);
}
.ps-traditional-about-title h2 {
	margin: 0;
	font:
		700 clamp(38px, 5vw, 62px)/1 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: -0.035em;
}
.ps-traditional-about .ps-richtext {
	width: min(780px, 100%);
	margin: 34px auto 0;
	font:
		400 17px/1.85 Georgia,
		'Times New Roman',
		serif;
	text-align: left;
}
.ps-traditional-about-copy .ps-about-home-preview {
	max-height: 14.8em;
	overflow: hidden;
}
.ps-traditional-about-copy .ps-about-home-preview > :first-child {
	margin-top: 0;
}
.ps-traditional-about-copy .ps-about-home-preview > :last-child {
	margin-bottom: 0;
}
.ps-traditional-about-copy .ps-about-page-link {
	display: block;
	width: max-content;
	min-height: 0;
	margin: 26px auto 0;
	padding: 0 0 5px;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: var(--ps-primary);
	font:
		italic 12px/1.4 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-about-copy .ps-about-page-link:hover {
	background: transparent;
	color: var(--ps-accent);
}
.ps-traditional-tone-primary .ps-traditional-about-copy .ps-about-page-link {
	color: var(--ps-accent);
}
.ps-traditional-about-address {
	width: min(720px, 100%);
	margin: 38px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--ps-trad-line);
}
.ps-traditional-about-address span {
	display: block;
	margin-bottom: 7px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ps-primary);
}
.ps-traditional-about-address strong {
	display: block;
	font:
		700 15px/1.4 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-about-address a {
	display: inline-block;
	margin-top: 11px;
	font:
		italic 11px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-about .ps-about-details summary {
	margin-inline: auto;
	color: var(--ps-primary);
	font:
		italic 13px/1.3 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-about .ps-about-full {
	padding-top: 26px;
	border-top: 1px solid var(--ps-trad-line);
	text-align: left;
}

.ps-traditional-announcements {
	background: color-mix(in srgb, var(--ps-primary) 7%, var(--ps-trad-ivory));
	border-block: 1px solid var(--ps-trad-line);
}
.ps-traditional-announcement-grid {
	display: grid;
	grid-template-columns: minmax(270px, 0.65fr) minmax(0, 1.35fr);
	gap: 80px;
	align-items: start;
}
.ps-traditional-announcement-list {
	border-top: 1px solid var(--ps-trad-line);
}
.ps-traditional-announcement-list > a {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	min-height: 78px;
	border-bottom: 1px solid var(--ps-trad-line);
}
.ps-traditional-announcement-list time {
	font:
		italic 11px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-announcement-list strong {
	font:
		700 18px/1.3 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-announcement-list span {
	font-size: 28px;
	color: var(--ps-primary);
}

.ps-traditional-priests {
	position: relative;
	background: var(--ps-trad-night);
	color: #fff;
}
.ps-traditional-priests:before,
.ps-traditional-priests:after {
	content: '';
	position: absolute;
	left: 50%;
	width: 1px;
	height: 28px;
	background: var(--ps-trad-gold);
}
.ps-traditional-priests:before {
	top: 0;
}
.ps-traditional-priests:after {
	bottom: 0;
}
.ps-traditional-priests .ps-traditional-heading > small,
.ps-traditional-priests .ps-traditional-heading > span {
	color: var(--ps-trad-gold);
}
.ps-traditional-priest-grid {
	display: flex;
	justify-content: center;
	gap: 70px;
	flex-wrap: wrap;
}
.ps-traditional-priest-grid article {
	width: min(260px, 100%);
	text-align: center;
}
.ps-traditional-priest-photo {
	width: 190px;
	height: 240px;
	margin: 0 auto 22px;
	overflow: hidden;
	border-radius: 95px 95px 4px 4px;
	border: 1px solid var(--ps-trad-line);
	padding: 7px;
}
.ps-traditional-priest-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 88px 88px 2px 2px;
}
.ps-traditional-priest-photo span {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	border-radius: 88px 88px 2px 2px;
	background: rgba(255, 255, 255, 0.05);
	font-size: 44px;
	color: var(--ps-trad-gold);
}
.ps-traditional-priest-grid small {
	color: var(--ps-trad-gold);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.ps-traditional-priest-grid h3 {
	margin: 8px 0 6px;
	font:
		700 24px/1.15 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-priest-grid article > a {
	font-size: 10px;
	opacity: 0.72;
}
.ps-traditional-priests .ps-traditional-more {
	color: var(--ps-trad-gold);
}

.ps-traditional-news {
	background: var(--ps-trad-ivory);
}
.ps-traditional-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 24px;
}
.ps-traditional-news-grid article {
	text-align: center;
}
.ps-traditional-news-image {
	display: block;
	position: relative;
	padding: 7px;
	border: 1px solid var(--ps-trad-line);
	overflow: hidden;
}
.ps-traditional-news-image:after {
	content: '';
	position: absolute;
	inset: 13px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	pointer-events: none;
}
.ps-traditional-news-image img,
.ps-traditional-news-image .ps-card-placeholder {
	width: 100%;
	aspect-ratio: 1.18;
	object-fit: cover;
	filter: saturate(0.8) contrast(1.02);
}
.ps-traditional-news-grid time {
	display: block;
	margin-top: 17px;
	font:
		italic 10px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.ps-traditional-news-grid h3 {
	margin: 8px 0 0;
	font:
		700 20px/1.22 Georgia,
		'Times New Roman',
		serif;
}

.ps-traditional-gallery-section {
	background: color-mix(in srgb, var(--ps-primary) 7%, var(--ps-trad-ivory));
	border-top: 1px solid var(--ps-trad-line);
}
.ps-traditional-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.ps-traditional-gallery > a:nth-child(n + 5) {
	display: none;
}
.ps-traditional-gallery > a:nth-child(odd) {
	margin-top: 28px;
}
.ps-traditional-gallery > a > div {
	overflow: hidden;
	border-radius: 110px 110px 4px 4px;
	padding: 6px;
	border: 1px solid var(--ps-trad-line);
}
.ps-traditional-gallery img,
.ps-traditional-gallery .ps-card-placeholder {
	width: 100%;
	aspect-ratio: 0.78;
	object-fit: cover;
	border-radius: 105px 105px 2px 2px;
	filter: saturate(0.78);
}
.ps-traditional-gallery strong {
	display: block;
	margin-top: 12px;
	text-align: center;
	font:
		700 15px/1.25 Georgia,
		'Times New Roman',
		serif;
}

.ps-traditional-contact {
	position: relative;
	background: var(--ps-trad-night);
	color: #fff;
}
.ps-traditional-contact:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 28px;
	background: var(--ps-trad-gold);
}
.ps-traditional-contact .ps-traditional-heading > small,
.ps-traditional-contact .ps-traditional-heading > span {
	color: var(--ps-trad-gold);
}
.ps-traditional-contact-grid {
	display: grid;
	grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
	gap: 76px;
	align-items: center;
}
.ps-traditional-contact-grid.has-no-map {
	grid-template-columns: 1fr;
}
.ps-traditional-contact-grid.has-no-map .ps-traditional-contact-data {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px;
}
.ps-traditional-contact-map {
	position: relative;
	min-height: 590px;
	padding: 8px;
	overflow: hidden;
	border: 1px solid var(--ps-trad-line);
	border-radius: 50% 50% 2px 2px/38% 38% 2px 2px;
}
.ps-traditional-contact-map:after {
	content: '';
	position: absolute;
	inset: 15px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50% 50% 1px 1px/37% 37% 1px 1px;
	pointer-events: none;
}
.ps-traditional-contact-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 574px;
	border: 0;
	border-radius: 50% 50% 0 0/37% 37% 0 0;
	filter: saturate(0.62) sepia(0.14) contrast(1.03);
}
.ps-traditional-contact-map > div {
	position: absolute;
	z-index: 1;
	right: 30px;
	bottom: 30px;
	left: 30px;
	padding: 21px 24px;
	background: color-mix(in srgb, var(--ps-trad-night) 94%, transparent);
	border-top: 2px solid var(--ps-trad-gold);
	color: #fff;
	text-align: center;
}
.ps-traditional-contact-map small,
.ps-traditional-contact-group > small {
	display: block;
	margin-bottom: 9px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ps-trad-gold);
}
.ps-traditional-contact-map strong {
	display: block;
	font:
		700 16px/1.35 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-contact-map a {
	display: inline-block;
	margin-top: 11px;
	font:
		italic 11px/1.2 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-trad-gold);
}
.ps-traditional-contact-data {
	position: relative;
	order: -1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 46px;
	padding: 28px 0 28px 38px;
}
.ps-traditional-contact-data:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	background: linear-gradient(
		180deg,
		transparent,
		var(--ps-trad-gold) 15%,
		var(--ps-trad-gold) 85%,
		transparent
	);
}
.ps-traditional-contact-data:after {
	content: '';
	position: absolute;
	top: 50%;
	left: -4px;
	width: 9px;
	height: 9px;
	background: var(--ps-trad-tone-bg);
	border: 1px solid var(--ps-trad-gold);
	transform: translateY(-50%) rotate(45deg);
}
.ps-traditional-contact-group {
	padding: 0;
	border: 0;
}
.ps-traditional-contact-group > small {
	margin-bottom: 22px;
	padding-bottom: 13px;
	border-bottom: 1px solid var(--ps-trad-line);
	font:
		700 13px/1.2 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: 0.11em;
}
.ps-traditional-contact-group dl {
	margin: 0;
}
.ps-traditional-contact-group dl > div {
	display: block;
	padding: 0 0 17px;
	border: 0;
}
.ps-traditional-contact-group dl > div:last-child {
	padding-bottom: 0;
}
.ps-traditional-contact-group dt {
	margin-bottom: 4px;
	font:
		italic 11px/1.45 Georgia,
		'Times New Roman',
		serif;
	color: rgba(255, 255, 255, 0.58);
}
.ps-traditional-contact-group dd {
	margin: 0;
	font:
		700 16px/1.45 Georgia,
		'Times New Roman',
		serif;
	overflow-wrap: anywhere;
}
.ps-traditional-contact-group a {
	color: inherit;
}

/* Homepage sections follow the configured Background → Alternate → Primary cycle. */
.ps-traditional-home .ps-traditional-tone-background {
	--ps-trad-tone-bg: var(--ps-bg);
	background: var(--ps-bg);
	color: var(--ps-text);
}
.ps-traditional-home .ps-traditional-tone-alternate {
	--ps-trad-tone-bg: var(--ps-bg-alt);
	background: var(--ps-bg-alt);
	color: var(--ps-text);
}
.ps-traditional-home .ps-traditional-tone-primary {
	--ps-trad-tone-bg: var(--ps-primary);
	background: var(--ps-primary);
	color: #fff;
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-heading
	> small,
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-about-title
	small {
	color: var(--ps-primary);
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-heading
	> span {
	color: var(--ps-accent);
}
.ps-traditional-home
	.ps-traditional-tone-primary
	.ps-traditional-heading
	> small,
.ps-traditional-home
	.ps-traditional-tone-primary
	.ps-traditional-heading
	> span,
.ps-traditional-home
	.ps-traditional-tone-primary
	.ps-traditional-about-title
	small {
	color: var(--ps-accent);
}
.ps-traditional-home
	.ps-traditional-tone-primary
	:is(
		.ps-traditional-heading > a,
		.ps-traditional-more,
		.ps-traditional-announcement-list time,
		.ps-traditional-announcement-list span,
		.ps-traditional-news-grid time,
		.ps-traditional-about-address span,
		.ps-traditional-about-address a,
		.ps-traditional-contact-group > small
	) {
	color: var(--ps-accent);
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	:is(
		.ps-traditional-liturgy-list span,
		.ps-traditional-liturgy-list strong,
		.ps-calendar-smart,
		.ps-traditional-more,
		.ps-traditional-announcement-list time,
		.ps-traditional-announcement-list span,
		.ps-traditional-news-grid time,
		.ps-traditional-contact-group > small
	) {
	color: var(--ps-primary);
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-contact-group
	dt {
	color: color-mix(in srgb, var(--ps-text) 62%, transparent);
}
.ps-traditional-home
	.ps-traditional-tone-primary
	.ps-traditional-contact-group
	dt {
	color: rgba(255, 255, 255, 0.62);
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-priest-photo
	span {
	background: color-mix(in srgb, var(--ps-primary) 6%, transparent);
	color: var(--ps-primary);
}
.ps-traditional-home
	:is(.ps-traditional-tone-background, .ps-traditional-tone-alternate)
	.ps-traditional-priest-grid
	small {
	color: var(--ps-primary);
}
.ps-traditional-home
	.ps-traditional-tone-primary
	.ps-traditional-priest-grid
	small {
	color: var(--ps-accent);
}
.ps-traditional-home .ps-traditional-tone-primary .ps-traditional-medallion {
	color: var(--ps-accent);
}
.ps-traditional-home .ps-traditional-medallion {
	box-shadow:
		inset 0 0 0 6px var(--ps-trad-tone-bg),
		inset 0 0 0 7px var(--ps-trad-line);
}

.ps-footer-traditional {
	position: relative;
	padding: 78px 0 26px !important;
	background: var(--ps-trad-deep) !important;
}
.ps-traditional-footer-topline {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--ps-trad-gold),
		transparent
	);
}
.ps-traditional-footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 55px;
}
.ps-traditional-footer-identity {
	display: flex;
	min-width: 0;
	align-items: start;
	gap: 17px;
}
.ps-traditional-footer-identity .ps-footer-logo {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
}
.ps-traditional-footer-identity-copy {
	display: flex;
	min-width: 0;
	justify-content: center;
	flex-direction: column;
}
.ps-traditional-footer-identity h2 {
	margin: 0 0 6px;
	font:
		700 18px/1.12 Georgia,
		'Times New Roman',
		serif;
}
.ps-traditional-footer-identity-copy p {
	margin: 0;
}
.ps-traditional-footer-section small {
	display: block;
	margin-bottom: 17px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--ps-trad-gold);
}
.ps-traditional-footer-section p,
.ps-traditional-footer-section > a {
	display: block;
	margin: 0 0 8px;
	font-size: 11px;
	opacity: 0.7;
}
.ps-traditional-footer-nav a {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 12px;
}
.ps-traditional-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	margin-top: 52px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	font-size: 9px;
	opacity: 0.6;
}
.ps-traditional-footer-bottom a {
	color: inherit;
	text-decoration: none;
}
.ps-traditional-footer-social {
	display: flex;
	gap: 15px;
}

.parish-style-traditional .ps-page-hero,
.parish-style-traditional .ps-single-head {
	background: var(--ps-trad-night);
	color: var(--ps-text-alt);
	text-align: center;
}
.parish-style-traditional .ps-page-hero h1,
.parish-style-traditional .ps-single h1,
.parish-style-traditional .ps-card-copy h2,
.parish-style-traditional .ps-card-copy h3 {
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-page-hero .ps-eyebrow,
.parish-style-traditional .ps-single-head .ps-eyebrow {
	color: var(--ps-trad-gold) !important;
}
.parish-style-traditional .ps-page-hero p {
	margin-right: auto;
	margin-left: auto;
}
.parish-style-traditional .ps-breadcrumbs ol {
	justify-content: center;
}
.parish-style-traditional .ps-card-media,
.parish-style-traditional .ps-single-image img,
.parish-style-traditional .ps-clergy-full-card {
	border-radius: 2px;
}

/* Archive pages — ceremonial records, parish notices and arched gallery. */
.parish-style-traditional .ps-content-archive,
.parish-style-traditional .ps-gallery-archive {
	padding: 88px 0 118px;
}
.parish-style-traditional .ps-post-archive-grid {
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--ps-trad-line);
}
.parish-style-traditional .ps-post-archive-card {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 42px;
	align-items: center;
	padding: 38px 0;
	border-bottom: 1px solid var(--ps-trad-line);
}
.parish-style-traditional .ps-post-archive-card .ps-card-media {
	position: relative;
	padding: 7px;
	overflow: hidden;
	border: 1px solid var(--ps-trad-line);
	border-radius: 140px 140px 4px 4px;
}
.parish-style-traditional .ps-post-archive-card .ps-card-media:after {
	position: absolute;
	inset: 13px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 132px 132px 2px 2px;
	content: '';
	pointer-events: none;
}
.parish-style-traditional
	.ps-post-archive-card
	.ps-card-media
	:is(img, .ps-card-placeholder) {
	display: block;
	aspect-ratio: 0.92;
	border-radius: 132px 132px 2px 2px;
	filter: saturate(0.78) contrast(1.02);
}
.parish-style-traditional .ps-post-archive-card .ps-card-copy {
	padding: 0;
}
.parish-style-traditional .ps-post-archive-card .ps-card-copy time {
	font:
		italic 11px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.parish-style-traditional .ps-post-archive-card .ps-card-copy h2 {
	margin: 10px 0 12px;
	font:
		700 clamp(28px, 4vw, 46px)/1.05 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-post-archive-card .ps-card-copy p {
	max-width: 720px;
	font:
		400 14px/1.72 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-archive-read-more {
	min-height: 38px;
	padding: 0 17px;
	border: 1px solid var(--ps-trad-gold);
	border-radius: 2px;
	background: transparent;
	color: var(--ps-primary);
	font:
		700 9px/1 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: 0.08em;
}
.parish-style-traditional .ps-archive-read-more:hover {
	border-color: var(--ps-trad-night);
	background: var(--ps-trad-night);
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-announcement-archive-grid {
	gap: 0;
	padding: 0 38px;
	border-block: 1px solid var(--ps-trad-line);
	background: color-mix(in srgb, var(--ps-primary) 5%, var(--ps-trad-ivory));
}
.parish-style-traditional .ps-announcement-archive-card {
	border-color: var(--ps-trad-line);
}
.parish-style-traditional .ps-announcement-archive-card:first-child {
	border-top: 0;
}
.parish-style-traditional .ps-announcement-archive-card:last-child {
	border-bottom: 0;
}
.parish-style-traditional .ps-announcement-archive-card .ps-card-copy {
	grid-template-columns: 150px minmax(0, 1fr);
	padding: 36px 0;
}
.parish-style-traditional .ps-announcement-archive-card .ps-card-copy time {
	font:
		italic 11px/1.4 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.parish-style-traditional .ps-announcement-archive-card .ps-card-copy h2 {
	font:
		700 clamp(26px, 3.2vw, 40px)/1.08 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-announcement-archive-card .ps-card-copy p {
	font:
		400 14px/1.68 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-gallery-archive-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 46px 18px;
	align-items: start;
}
.parish-style-traditional .ps-gallery-archive-card:nth-child(3n + 2) {
	margin-top: 34px;
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-cover {
	padding: 7px;
	overflow: hidden;
	border: 1px solid var(--ps-trad-line);
	border-radius: 150px 150px 4px 4px;
	background: transparent;
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-cover img {
	aspect-ratio: 0.82;
	border-radius: 142px 142px 2px 2px;
	filter: saturate(0.78);
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-count {
	right: 17px;
	bottom: 17px;
	border: 1px solid var(--ps-trad-gold);
	border-radius: 2px;
	background: var(--ps-trad-night);
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy {
	padding: 18px 5px 0;
	text-align: center;
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy time {
	font:
		italic 10px/1 Georgia,
		'Times New Roman',
		serif;
	color: var(--ps-primary);
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy h2 {
	font:
		700 25px/1.14 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy p {
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-gallery-open {
	color: var(--ps-primary);
	font-family: Georgia, 'Times New Roman', serif;
}

@media (max-width: 980px) {
	.ps-traditional-header-row {
		grid-template-columns: 1fr auto;
	}
	.ps-traditional-header-center {
		position: static;
	}
	.ps-traditional-nav {
		display: none;
		position: absolute;
		z-index: 15;
		top: 100%;
		right: 0;
		left: 0;
		padding: 24px;
		background: var(--ps-trad-night);
		border-bottom: 1px solid var(--ps-trad-line);
	}
	.ps-traditional-nav.is-open {
		display: flex;
	}
	.ps-header-traditional .ps-menu-toggle {
		display: block;
		color: #fff;
	}
	.ps-traditional-about-frame {
		padding: 62px 58px;
	}
	.ps-traditional-announcement-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.ps-traditional-news-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ps-traditional-gallery {
		grid-template-columns: repeat(2, 1fr);
	}
	.ps-traditional-gallery > a:nth-child(n + 5) {
		display: block;
	}
	.ps-traditional-contact-grid {
		grid-template-columns: 1fr;
	}
	.ps-traditional-contact-data {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px;
	}
	.parish-style-traditional .ps-gallery-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.parish-style-traditional .ps-gallery-archive-card:nth-child(3n + 2) {
		margin-top: 0;
	}
	.parish-style-traditional .ps-gallery-archive-card:nth-child(even) {
		margin-top: 28px;
	}
}

@media (max-width: 700px) {
	.ps-traditional-calendar-shell {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.ps-traditional-calendar-detail {
		height: auto !important;
	}
	.ps-traditional-calendar,
	.ps-traditional-calendar-detail {
		padding: 18px 14px;
	}
	.ps-traditional-calendar .ps-modern-calendar-day {
		padding: 5px;
		font-size: 10px;
	}
	.ps-traditional-calendar-detail .ps-modern-calendar-event {
		grid-template-columns: 1fr;
	}
	.ps-traditional-calendar-detail .ps-modern-calendar-add {
		grid-column: 1;
		grid-row: auto;
		width: max-content;
	}
	.parish-style-traditional .ps-container {
		width: min(100% - 28px, 1120px);
	}
	.ps-traditional-header-row {
		display: flex;
		min-height: 76px;
		align-items: center;
		gap: 12px;
	}
	.ps-traditional-header-center {
		display: contents;
	}
	.ps-traditional-brand {
		min-width: 0;
		flex: 1 1 auto;
	}
	.ps-traditional-header-tools {
		flex: 0 0 auto;
	}
	.ps-traditional-brand strong {
		max-width: 205px;
		font-size: 12px !important;
	}
	.ps-traditional-addressbar {
		text-align: left;
	}
	.ps-traditional-topbar-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
		padding-block: 9px;
	}
	.ps-traditional-topbar-contact,
	.ps-traditional-topbar-social {
		width: 100%;
		justify-content: space-between;
		gap: 10px;
	}
	.ps-traditional-topbar-social {
		justify-content: flex-start;
	}
	.ps-traditional-hero {
		min-height: 610px;
	}
	.ps-traditional-hero-inner {
		width: min(100% - 28px, 900px);
		padding: 82px 0;
	}
	.ps-traditional-hero h1 {
		font-size: clamp(34px, 10.5vw, 50px);
	}
	.ps-traditional-hero p {
		font-size: 16px;
	}
	.ps-traditional-liturgy-section {
		padding: 68px 0;
	}
	.ps-traditional-liturgy-list > div {
		grid-template-columns: 1fr auto;
		gap: 7px 16px;
		padding: 18px 3px;
	}
	.ps-traditional-liturgy-list span {
		grid-column: 1/-1;
	}
	.ps-traditional-home .ps-section {
		padding: 68px 0;
	}
	.ps-traditional-about-frame {
		padding: 54px 24px;
	}
	.ps-traditional-announcement-list > a {
		grid-template-columns: 1fr auto;
		gap: 6px 12px;
		padding: 16px 0;
	}
	.ps-traditional-announcement-list time {
		grid-column: 1/-1;
	}
	.ps-traditional-news-grid {
		grid-template-columns: 1fr;
	}
	.ps-traditional-gallery {
		gap: 9px;
	}
	.ps-traditional-gallery > a:nth-child(odd) {
		margin-top: 18px;
	}
	.ps-traditional-contact-map {
		min-height: 410px;
	}
	.ps-traditional-contact-map iframe {
		min-height: 394px;
	}
	.ps-traditional-contact-map > div {
		right: 20px;
		bottom: 20px;
		left: 20px;
		padding: 16px;
	}
	.ps-traditional-contact-data,
	.ps-traditional-contact-grid.has-no-map .ps-traditional-contact-data {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.ps-traditional-contact-group dl > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.ps-traditional-footer-grid {
		grid-template-columns: 1fr;
	}
	.ps-traditional-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	.parish-style-traditional .ps-content-archive,
	.parish-style-traditional .ps-gallery-archive {
		padding: 62px 0 84px;
	}
	.parish-style-traditional .ps-post-archive-card {
		grid-template-columns: 105px minmax(0, 1fr);
		gap: 18px;
		padding: 26px 0;
		align-items: start;
	}
	.parish-style-traditional .ps-post-archive-card .ps-card-copy h2 {
		margin: 7px 0 9px;
		font-size: 23px;
	}
	.parish-style-traditional .ps-post-archive-card .ps-card-copy p {
		display: none;
	}
	.parish-style-traditional .ps-post-archive-card .ps-card-media,
	.parish-style-traditional .ps-post-archive-card .ps-card-media:after,
	.parish-style-traditional
		.ps-post-archive-card
		.ps-card-media
		:is(img, .ps-card-placeholder) {
		border-radius: 56px 56px 2px 2px;
	}
	.parish-style-traditional .ps-announcement-archive-grid {
		padding: 0 18px;
	}
	.parish-style-traditional .ps-announcement-archive-card .ps-card-copy {
		grid-template-columns: 1fr;
		gap: 9px;
		padding: 28px 0;
	}
	.parish-style-traditional .ps-announcement-archive-card .ps-card-copy time {
		grid-row: auto;
	}
	.parish-style-traditional
		.ps-announcement-archive-card
		.ps-archive-read-more {
		grid-column: 1;
	}
	.parish-style-traditional .ps-gallery-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 10px;
	}
	.parish-style-traditional .ps-gallery-archive-card:nth-child(even) {
		margin-top: 20px;
	}
	.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy h2 {
		font-size: 18px;
	}
	.parish-style-traditional .ps-gallery-archive-card .ps-gallery-copy p {
		display: none;
	}
}

/* Clergy archive — ceremonial portraits and parish memory. */
.parish-style-traditional .ps-clergy-archive-section {
	position: relative;
	padding: 96px 0;
	background: var(--ps-bg);
	color: var(--ps-text);
}
.parish-style-traditional .ps-clergy-archive-section:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 30px;
	background: var(--ps-trad-gold);
}
.parish-style-traditional .ps-clergy-former {
	background: var(--ps-primary);
	color: #fff;
}
.parish-style-traditional .ps-clergy-archive-section .ps-section-head {
	display: block;
	margin: 0 auto 52px;
	text-align: center;
}
.parish-style-traditional .ps-clergy-archive-section .ps-section-head:after {
	content: '✝';
	display: block;
	margin-top: 17px;
	color: var(--ps-accent);
	font-size: 18px;
}
.parish-style-traditional
	.ps-clergy-archive-section
	.ps-section-head
	.ps-eyebrow {
	color: var(--ps-primary);
	font:
		800 9px/1.2 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.parish-style-traditional .ps-clergy-former .ps-section-head .ps-eyebrow {
	color: var(--ps-accent);
}
.parish-style-traditional .ps-clergy-archive-section .ps-section-head h2 {
	margin: 9px 0 0;
	font:
		700 clamp(38px, 5vw, 60px)/1 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: -0.035em;
}
.parish-style-traditional .ps-clergy-archive-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px 70px;
}
.parish-style-traditional .ps-clergy-full-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 28px 44px;
	border: 0;
	border-bottom: 1px solid var(--ps-trad-line);
	border-radius: 0;
	background: transparent;
	text-align: center;
}
.parish-style-traditional .ps-clergy-full-photo {
	width: 190px;
	aspect-ratio: 0.78;
	margin-bottom: 27px;
	padding: 7px;
	overflow: hidden;
	border: 1px solid var(--ps-trad-line);
	border-radius: 96px 96px 3px 3px;
	background: transparent;
	color: var(--ps-primary);
}
.parish-style-traditional .ps-clergy-full-photo img {
	border-radius: 89px 89px 1px 1px;
	filter: saturate(0.76) contrast(1.02);
}
.parish-style-traditional .ps-clergy-full-photo .dashicons {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	border-radius: 89px 89px 1px 1px;
	background: color-mix(in srgb, var(--ps-primary) 7%, transparent);
	font-size: 48px;
	line-height: 1;
}
.parish-style-traditional .ps-clergy-former .ps-clergy-full-photo {
	color: var(--ps-accent);
}
.parish-style-traditional .ps-clergy-former .ps-clergy-full-photo .dashicons {
	background: rgba(255, 255, 255, 0.05);
}
.parish-style-traditional .ps-clergy-full-meta {
	justify-content: center;
	gap: 10px;
}
.parish-style-traditional .ps-clergy-full-meta .ps-priest-role {
	color: var(--ps-primary);
	font:
		800 9px/1.2 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}
.parish-style-traditional
	.ps-clergy-former
	.ps-clergy-full-meta
	.ps-priest-role {
	color: var(--ps-accent);
}
.parish-style-traditional .ps-clergy-period {
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: color-mix(in srgb, var(--ps-text) 60%, transparent);
	font:
		italic 11px/1.2 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-clergy-former .ps-clergy-period {
	color: rgba(255, 255, 255, 0.62);
}
.parish-style-traditional .ps-clergy-full-copy h2 {
	margin: 12px 0 17px;
	font:
		700 clamp(29px, 3vw, 40px)/1.05 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: -0.025em;
}
.parish-style-traditional .ps-clergy-bio-label {
	margin-bottom: 8px;
	color: var(--ps-primary);
	font:
		800 9px/1.2 Georgia,
		'Times New Roman',
		serif;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.parish-style-traditional .ps-clergy-former .ps-clergy-bio-label {
	color: var(--ps-accent);
}
.parish-style-traditional .ps-clergy-bio-preview {
	font:
		400 15px/1.78 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-clergy-bio-toggle {
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: var(--ps-primary);
	font:
		italic 11px/1.3 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-clergy-former .ps-clergy-bio-toggle {
	color: var(--ps-accent);
}
.parish-style-traditional .ps-clergy-bio {
	font:
		400 15px/1.78 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-clergy-bio p:last-child {
	margin-bottom: 0;
}
.parish-style-traditional .ps-clergy-full-contact {
	justify-content: center;
	gap: 20px;
	margin-top: 22px;
	padding-top: 17px;
	border-top: 1px solid var(--ps-trad-line);
}
.parish-style-traditional .ps-clergy-full-contact a {
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: var(--ps-primary);
	font:
		italic 11px/1.3 Georgia,
		'Times New Roman',
		serif;
}
.parish-style-traditional .ps-clergy-former .ps-clergy-full-contact a {
	color: var(--ps-accent);
}

@media (max-width: 760px) {
	.parish-style-traditional .ps-clergy-archive-section {
		padding: 72px 0;
	}
	.parish-style-traditional .ps-clergy-archive-list {
		grid-template-columns: 1fr;
		gap: 46px;
	}
	.parish-style-traditional .ps-clergy-full-card {
		padding-inline: 0;
	}
}

/* Empty parish state — ceremonial, rectangular and centred. */
.parish-style-traditional .ps-site-pending {
	background: var(--ps-trad-ivory);
}
.parish-style-traditional .ps-site-pending-panel {
	max-width: 960px;
	border: 1px solid var(--ps-trad-line);
	border-radius: 0;
	background: var(--ps-trad-night);
	color: var(--ps-text-alt);
}
.parish-style-traditional .ps-site-pending-panel:before,
.parish-style-traditional .ps-site-pending-panel:after {
	content: '';
	position: absolute;
	top: 20px;
	right: 20px;
	left: 20px;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--ps-trad-gold),
		transparent
	);
}
.parish-style-traditional .ps-site-pending-panel:after {
	top: auto;
	bottom: 20px;
}
.parish-style-traditional .ps-site-pending-mark,
.parish-style-traditional .ps-site-pending-copy small,
.parish-style-traditional .ps-site-pending-status {
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-site-pending h1 {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.parish-style-traditional .ps-site-pending-name,
.parish-style-traditional .ps-site-pending-copy > p:last-child {
	color: color-mix(in srgb, var(--ps-text-alt) 72%, transparent);
}
.parish-style-traditional .ps-site-pending-status i {
	background: var(--ps-trad-gold);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--ps-trad-gold) 16%, transparent);
}
.parish-style-traditional .ps-pending-lang {
	padding: 0;
	border: 1px solid var(--ps-trad-line);
	border-radius: 0;
	background: transparent;
}
.parish-style-traditional .ps-pending-lang a {
	padding: 8px 10px;
	border-radius: 0;
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-pending-lang .active {
	background: var(--ps-trad-night) !important;
	color: var(--ps-trad-gold) !important;
}
.parish-style-traditional .ps-pending-credit a {
	color: color-mix(in srgb, var(--ps-primary) 65%, transparent);
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-pending-credit a:hover {
	color: var(--ps-accent-alt);
}

/* Single post — ceremonial gallery and parish reading recommendations. */
.parish-style-traditional .ps-subpage-media {
	padding-top: 82px;
	background: var(--ps-trad-night);
	color: var(--ps-text-alt);
}
.parish-style-traditional .ps-subpage-media-head {
	align-items: center;
}
.parish-style-traditional .ps-subpage-media-head h2,
.parish-style-traditional .ps-post-section-heading h2,
.parish-style-traditional .ps-related-post-copy h3 {
	font-family: Georgia, 'Times New Roman', serif;
	letter-spacing: -0.02em;
}
.parish-style-traditional .ps-subpage-media-head > div > span,
.parish-style-traditional .ps-post-section-heading > span {
	color: var(--ps-trad-gold);
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-media-slider {
	grid-auto-columns: calc((100% - 24px) / 2);
	gap: 24px;
}
.parish-style-traditional .ps-media-slide :is(img, video) {
	height: clamp(340px, 42vw, 560px);
}
.parish-style-traditional .ps-media-slide {
	padding: 8px;
	border: 1px solid var(--ps-trad-gold);
	border-radius: 220px 220px 2px 2px;
	background: color-mix(in srgb, var(--ps-trad-night) 86%, #fff);
}
.parish-style-traditional .ps-media-slide :is(img, video) {
	border-radius: 212px 212px 1px 1px;
	filter: saturate(0.82) contrast(1.02);
}
.parish-style-traditional .ps-media-slider-controls button {
	border-color: var(--ps-trad-gold);
	border-radius: 2px;
	background: transparent;
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-media-slider-controls button:hover {
	background: var(--ps-trad-gold);
	color: var(--ps-trad-night);
}
.parish-style-traditional .ps-media-side-arrow {
	border-color: var(--ps-trad-gold);
	border-radius: 50%;
	background: var(--ps-trad-night);
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-media-side-arrow:hover {
	background: var(--ps-trad-gold);
	color: var(--ps-trad-night);
}
.parish-style-traditional .ps-post-share {
	border-block: 1px solid var(--ps-trad-line);
	background: var(--ps-trad-ivory);
}
.parish-style-traditional .ps-post-share.is-inline {
	padding: 26px 0;
	border-top: 1px solid var(--ps-trad-line);
	border-bottom: 0;
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-share-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-section-heading > span {
	display: none;
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-section-heading h2 {
	font-size: 18px;
	letter-spacing: 0;
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-share-actions {
	justify-content: flex-start;
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-share-actions :is(a, button) {
	width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border-radius: 50%;
}
.parish-style-traditional .ps-post-share.is-inline .ps-share-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.parish-style-traditional .ps-post-share.is-inline .ps-post-share-status {
	display: none;
}
.parish-style-traditional .ps-post-share-actions :is(a, button) {
	border-color: var(--ps-trad-gold);
	border-radius: 2px;
	font-family: Georgia, 'Times New Roman', serif;
}
.parish-style-traditional .ps-post-share-actions :is(a, button):hover {
	background: var(--ps-trad-night);
	color: var(--ps-trad-gold);
}
.parish-style-traditional .ps-related-posts {
	background: var(--ps-trad-night);
	color: var(--ps-text-alt);
}
.parish-style-traditional .ps-related-post-image {
	padding: 7px;
	border: 1px solid var(--ps-trad-gold);
	border-radius: 150px 150px 2px 2px;
}
.parish-style-traditional .ps-related-post-image :is(img, .ps-card-placeholder) {
	border-radius: 142px 142px 1px 1px;
	filter: saturate(0.78) contrast(1.02);
}
.parish-style-traditional .ps-related-post-copy time,
.parish-style-traditional .ps-related-post-copy p {
	color: color-mix(in srgb, var(--ps-text-alt) 72%, transparent);
}
.parish-style-traditional .ps-related-post-more {
	color: var(--ps-trad-gold);
}
@media (max-width: 600px) {
	.parish-style-traditional .ps-media-slider {
		grid-auto-columns: 86%;
	}
	.parish-style-traditional .ps-media-slide :is(img, video) {
		height: min(92vw, 500px);
	}
	.parish-style-traditional .ps-post-share.is-inline .ps-post-share-inner {
		align-items: flex-start;
		flex-direction: column;
	}
	.parish-style-traditional .ps-media-slide {
		border-radius: 120px 120px 2px 2px;
	}
	.parish-style-traditional .ps-media-slide :is(img, video) {
		border-radius: 112px 112px 1px 1px;
	}
}
