/* Generated by tools/build-css.php from assets/src/piodesign.css – do not edit. */
/*
 * PioDesign – homepage newsroom, events timeline, TEC single & list views.
 *
 * Layout: a 12-column newsroom on white (lead + seconds + grid + briefs),
 * then a night-blue "calendar" band with a five-week timeline; TEC pages reuse
 * the same rows on light ground. Liturgical colour tints small details.
 *
 * Override any token on .pio (or body) from Avada > Custom CSS.
 */

.pio.pio,
.pio-tec.pio-tec {
	--pio-ink: #1c1d21;
	--pio-paper: #ffffff;
	--pio-mist: #f4f3f1;
	--pio-night: #14161b;
	--pio-night-2: #1d2027;
	--pio-rust: #c14e00;
	--pio-gold: #dba562;
	--pio-muted: #62656d;
	--pio-line: #e4e3e0;
	--lit: #3f7a4f;

	/*
	 * Typefaces come from Avada (Global Options → Typography): headings use
	 * the H1 face, running text the body face. Sizes, weights and widths
	 * below are tuned to work with a grotesque (Bricolage Grotesque, whose
	 * width axis gives the condensed titles) and with a serif (Iowan Old
	 * Style), where font-stretch simply has no effect.
	 */
	--pio-display: var(--h1_typography-font-family, var(--awb-typography1-font-family, system-ui, sans-serif));
	--pio-text: var(--body_typography-font-family, var(--awb-typography4-font-family, Georgia, serif));
	--pio-track-xl: -.022em; /* very large titles */
	--pio-track-l: -.015em;  /* large titles, big numbers */

	--pio-radius: 4px;
	--pio-ease: cubic-bezier(.2, .7, .1, 1);
	--pio-page-bg: var(--pio-paper);

	/* Component colours (light context) */
	--c-fg: var(--pio-ink);
	--c-muted: var(--pio-muted);
	--c-line: var(--pio-line);
	--c-hover: rgba(28, 29, 33, .035);
	--c-accent: var(--pio-rust);
	--c-chip: rgba(193, 78, 0, .1);
}

/* ---------------------------------------------------------------- base */

.pio.pio {
	color: var(--c-fg);
	font-family: var(--pio-text);
	font-size: 17px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.pio.pio *,
.pio.pio *::before,
.pio.pio *::after { box-sizing: border-box; }

/*
 * Neutralise the theme. Avada styles bare elements (`h2`, `.post-content h4`,
 * `p`, `a`) with its own fonts, colours and margins. :where() keeps these
 * resets at the specificity of `.pio` alone, so every component rule below
 * still overrides them.
 */
.pio.pio :where(p, ul, ol, li, dl, dd, dt, figure, blockquote) { margin: 0; padding: 0; }
.pio.pio :where(p, span, a, time, small, b, strong, em, i, li, dd, dt, button, label, input, figcaption) {
	font-family: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}
.pio.pio :where(a) { color: inherit; text-decoration: none; box-shadow: none; }
.pio.pio :where(a, button, [tabindex]):focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; border-radius: 2px; }
.pio.pio :where(h1, h2, h3, h4, h5, h6) {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-family: var(--pio-display);
	font-size: inherit;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.01em;
	text-transform: none;
	text-wrap: balance;
}
.pio.pio :where(h1, h2, h3, h4, h5, h6)::before,
.pio.pio :where(h1, h2, h3, h4, h5, h6)::after { content: none; }
.pio.pio :where(img) { max-width: 100%; }
.pio.pio :where(abbr[title]) { text-decoration: none; border: 0; }
.pio.pio :where(blockquote, q, address, figure) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font-style: normal;
	quotes: none;
}
.pio.pio :where(blockquote)::before,
.pio.pio :where(blockquote)::after { content: none; }
.pio.pio :where(button) { text-transform: none; letter-spacing: inherit; box-shadow: none; text-shadow: none; }
.pio.pio :where(dl) { margin: 0; }
/* Avada's text block may add a <br> between two shortcodes. */
.pio.pio + br { display: none; }
.pio.pio [hidden],
.pio.pio[hidden] { display: none !important; }
.pio.pio .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.pio-i.pio-i { flex: none; vertical-align: -3px; }

/* shared small type */
.pio-meta.pio-meta,
.pio-ev__rel.pio-ev__rel,
.pio-group-h.pio-group-h,
.pio-mast__kicker.pio-mast__kicker,
.pio-chip.pio-chip,
.pio-btn.pio-btn {
	font-family: var(--pio-display);
	font-stretch: 90%;
}

/* ---------------------------------------------------------------- buttons */

.pio-btn.pio-btn {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .72em 1.15em;
	border: 1.5px solid currentColor;
	border-radius: var(--pio-radius);
	background: transparent;
	color: var(--c-fg);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.1;
	cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s;
}
.pio-btn.pio-btn .pio-i--arrow { transition: transform .35s var(--pio-ease); }
.pio-btn.pio-btn:hover .pio-i--arrow { transform: translateX(4px); }
.pio-btn.pio-btn:hover { background: var(--c-fg); color: var(--pio-page-bg); border-color: var(--c-fg); }
.pio-btn--solid.pio-btn--solid { background: var(--pio-rust); border-color: var(--pio-rust); color: #fff; }
.pio-btn--solid.pio-btn--solid:hover { background: #9e3f00; border-color: #9e3f00; color: #fff; }
.pio-btn--ghost.pio-btn--ghost { border-color: transparent; padding-inline: 0; }
.pio-btn--ghost.pio-btn--ghost:hover { background: none; color: var(--c-accent); border-color: transparent; }
.pio-btn--light.pio-btn--light { color: var(--pio-paper); border-color: rgba(255, 255, 255, .28); }
.pio-btn--light.pio-btn--light:hover { background: var(--pio-gold); border-color: var(--pio-gold); color: var(--pio-night); }

/* ---------------------------------------------------------------- dateline & liturgy */

.pio-ear.pio-ear {
	display: grid;
	gap: 8px;
	min-width: 0;
	font-family: var(--pio-display);
}
.pio-ear__date.pio-ear__date {
	color: var(--c-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}
.pio-ear__date.pio-ear__date b { font-weight: 800; }
.pio-ear__list.pio-ear__list { display: grid; gap: 6px; margin: 0; }
.pio-ear__row.pio-ear__row {
	display: grid;
	grid-template-columns: 9.5em minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
}
.pio-ear__row.pio-ear__row dt {
	color: var(--c-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.3;
	text-transform: uppercase;
}
.pio-ear__row.pio-ear__row dd {
	display: grid;
	gap: 1px;
	margin: 0;
	color: var(--c-fg);
	font-size: 14.5px;
	font-weight: 650;
	line-height: 1.3;
}
.pio-ear__row.pio-ear__row dd small { color: var(--c-muted); font-size: 12.5px; font-weight: 500; }
.pio-ear__lit.pio-ear__lit { display: inline-flex; align-items: baseline; gap: 8px; }
.pio-ear__lit.pio-ear__lit .pio-lit__dot { transform: translateY(1px); }
.pio-lit__dot.pio-lit__dot {
	position: relative;
	flex: none;
	width: 11px; height: 11px;
	border-radius: 50%;
	background: var(--lit);
	box-shadow: inset 0 0 0 1px rgba(28, 29, 33, .22); /* keeps white visible */
}
.pio-lit__dot.pio-lit__dot::after {
	content: "";
	position: absolute; inset: -4px;
	border-radius: 50%;
	border: 1.5px solid var(--lit);
	border-color: color-mix(in srgb, var(--lit) 75%, #8a8478);
	opacity: .5;
	animation: pio-ring 2.8s var(--pio-ease) infinite;
}

/* ---------------------------------------------------------------- masthead */

.pio-news.pio-news { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(18px, 2vw, 24px); }
.pio-news.pio-news > .pio-news__foot { margin-top: clamp(6px, 1.5vw, 16px); }
.pio-mast.pio-mast { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
/* Title on the left, the day's "ear" on the right, like a newspaper masthead. */
.pio-mast__top.pio-mast__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 14px clamp(24px, 4vw, 56px);
	padding-bottom: 14px;
	border-bottom: 1px solid var(--c-line);
}
.pio-mast__day.pio-mast__day {
	max-width: 440px;
	padding-left: clamp(16px, 2vw, 28px);
	border-left: 1px solid var(--c-line);
}
.pio-mast__bar.pio-mast__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
}
.pio-mast__bar.pio-mast__bar .pio-mast__all { margin-left: auto; }
.pio-mast__bar.pio-mast__bar .pio-chips { flex: 1 1 auto; min-width: 0; }
@media (max-width: 900px) {
	.pio-mast__top.pio-mast__top { grid-template-columns: minmax(0, 1fr); }
	.pio-mast__day.pio-mast__day { padding-left: 0; border-left: 0; }
}
@media (max-width: 700px) {
	/* Phones: straight to the stories. */
	.pio-news.pio-news .pio-mast__day { display: none; }
	.pio-news.pio-news .pio-mast__top { padding-bottom: 0; border-bottom: 0; }
}
.pio-mast__title.pio-mast__title,
.pio-events__title.pio-events__title,
.pio-archive-hero__title.pio-archive-hero__title { display: grid; gap: 6px; }
.pio-mast__kicker.pio-mast__kicker {
	display: inline-flex;
	align-items: center;
	gap: .7em;
	color: var(--c-accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.pio-mast__kicker.pio-mast__kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.pio-mast__word.pio-mast__word,
.pio-events__word.pio-events__word,
.pio-archive-hero__word.pio-archive-hero__word {
	display: block;
	font-size: clamp(2.5rem, 4.8vw, 4.1rem);
	font-weight: 800;
	font-stretch: 75%;
	font-variation-settings: "opsz" 96;
	line-height: .86;
	letter-spacing: var(--pio-track-xl);
	overflow: hidden;
	padding-bottom: .06em;
	animation: pio-rise 1s var(--pio-ease) both;
}
.pio-archive-hero__word.pio-archive-hero__word { line-height: .92; }

.pio-chips.pio-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pio-chip.pio-chip {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .5em .95em;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: transparent;
	color: var(--c-fg);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s;
}
.pio-chip.pio-chip::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--cat, var(--c-fg)); }
.pio-chip.pio-chip[data-filter="*"]::before { display: none; }
.pio-chip.pio-chip b { font-weight: 500; color: var(--c-muted); font-variant-numeric: tabular-nums; }
.pio-chip.pio-chip:hover { border-color: var(--c-fg); }
.pio-chip.pio-chip.is-active { background: var(--c-fg); border-color: var(--c-fg); color: var(--pio-paper); }
.pio-chip.pio-chip.is-active b { color: rgba(255, 255, 255, .6); }

/* ---------------------------------------------------------------- frame */

.pio-frame.pio-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	max-width: 100%;
	overflow: hidden;
	border-radius: var(--pio-radius);
	background: var(--pio-mist);
	isolation: isolate;
}
.pio-frame.pio-frame > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: 50% 38%;
	transition: transform 1.4s var(--pio-ease), opacity .7s ease;
}
.pio-frame--contain.pio-frame--contain .pio-frame__img { object-fit: contain; }
.pio-frame__bg.pio-frame__bg {
	filter: blur(26px) saturate(1.25) brightness(.8);
	transform: scale(1.25);
	z-index: -1;
}
.pio-frame--empty.pio-frame--empty {
	display: grid;
	place-items: center;
	color: var(--pio-gold);
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(219, 165, 98, .25), transparent 60%),
		var(--pio-night-2);
}
.pio-frame__alt.pio-frame__alt { opacity: 0; }
.pio-frame__alt.pio-frame__alt.is-on { opacity: 1; }

a:hover .pio-frame > .pio-frame__img,
a:hover .pio-frame > .pio-frame__alt,
a:focus-visible .pio-frame > .pio-frame__img { transform: scale(1.045); }

.pio-photos.pio-photos {
	position: absolute;
	left: 10px; bottom: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: .38em .7em;
	border-radius: 999px;
	background: rgba(15, 16, 20, .58);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	font: 600 12.5px/1 var(--pio-display);
	letter-spacing: .02em;
}
.pio-photos.pio-photos .pio-i { width: 15px; height: 15px; }

.pio-frame__dots.pio-frame__dots {
	position: absolute;
	left: 10px; right: 10px; top: 10px;
	z-index: 2;
	display: flex;
	gap: 4px;
	opacity: 0;
	transition: opacity .3s;
}
.pio-frame__dots.pio-frame__dots i {
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: rgba(255, 255, 255, .38);
	overflow: hidden;
}
.pio-frame__dots.pio-frame__dots i.is-on::after {
	content: "";
	display: block;
	height: 100%;
	background: #fff;
	animation: pio-fill var(--pio-slide, 1.1s) linear both;
}
.pio-frame__dots.pio-frame__dots i.is-done { background: #fff; }
.pio-frame.pio-frame.is-playing .pio-frame__dots { opacity: 1; }

/* ---------------------------------------------------------------- newsroom */

.pio-newsroom.pio-newsroom {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(28px, 3vw, 40px) clamp(18px, 2.2vw, 32px);
}
.pio-story.pio-story { min-width: 0; grid-column: span 4; }
.pio-story__link.pio-story__link { display: grid; gap: 14px; align-content: start; height: 100%; }
.pio-story__body.pio-story__body { display: grid; gap: 8px; align-content: start; min-width: 0; }

.pio-meta.pio-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3em .9em;
	color: var(--c-muted);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.pio-cat.pio-cat { display: inline-flex; align-items: center; gap: .5em; color: var(--cat, var(--c-accent)); }
.pio-cat.pio-cat::before { content: ""; width: 7px; height: 7px; border-radius: 2px; background: currentColor; }
.pio-new.pio-new {
	padding: .25em .55em;
	border-radius: 3px;
	background: var(--pio-rust);
	color: #fff;
	font-size: 11px;
	letter-spacing: .08em;
}

.pio-story__title.pio-story__title { font-size: 1.28rem; font-weight: 700; font-stretch: 92%; }
.pio-story__title.pio-story__title span,
.pio-ev__title.pio-ev__title span,
.pio-next__title.pio-next__title span {
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size .55s var(--pio-ease);
}
.pio-story__link.pio-story__link:hover .pio-story__title span,
.pio-story__link.pio-story__link:focus-visible .pio-story__title span,
.pio-ev__link.pio-ev__link:hover .pio-ev__title span,
.pio-next__link.pio-next__link:hover .pio-next__title span { background-size: 100% 2px; }

.pio-story__excerpt.pio-story__excerpt {
	color: #3b3d43;
	font-size: 1rem;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* lead */
.pio-story--lead.pio-story--lead { grid-column: 1 / span 8; grid-row: span 2; }
.pio-story--lead.pio-story--lead .pio-story__link { gap: 20px; }
.pio-story--lead.pio-story--lead .pio-story__title {
	font-size: clamp(1.9rem, 3.4vw, 3.1rem);
	font-weight: 800;
	font-stretch: 82%;
	line-height: 1.02;
	letter-spacing: var(--pio-track-xl);
}
.pio-story--lead.pio-story--lead .pio-story__excerpt { font-size: 1.18rem; -webkit-line-clamp: 7; max-width: 62ch; }
.pio-story--lead.pio-story--lead .pio-frame { animation: pio-unveil 1.3s .15s var(--pio-ease) both; }
.pio-more.pio-more {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin-top: 4px;
	color: var(--c-accent);
	font: 700 15px/1 var(--pio-display);
}
.pio-story__link.pio-story__link:hover .pio-more .pio-i { transform: translateX(4px); }
.pio-more.pio-more .pio-i { transition: transform .35s var(--pio-ease); }

/* seconds */
.pio-story--side.pio-story--side .pio-story__title { font-size: 1.35rem; }
.pio-story--side.pio-story--side .pio-story__excerpt { -webkit-line-clamp: 4; }

/* briefs */
.pio-briefs-h.pio-briefs-h {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--c-muted);
}
.pio-briefs-h.pio-briefs-h::after { content: ""; flex: 1; height: 1px; background: var(--c-line); }
.pio-story--brief.pio-story--brief .pio-story__link {
	grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
	align-items: start;
	gap: 14px;
}
.pio-story--brief.pio-story--brief .pio-story__title {
	font-size: 1.02rem;
	font-weight: 650;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pio-story--brief.pio-story--brief .pio-meta { font-size: 11.5px; }
.pio-story--brief.pio-story--brief .pio-new { display: none; }

.pio-story.pio-story.is-hidden { display: none; }
.pio-newsroom.pio-newsroom.is-filtered .pio-briefs-h { display: none; }

.pio-news__foot.pio-news__foot { display: flex; justify-content: center; padding-top: 8px; }

@media (max-width: 1100px) {
	.pio-newsroom.pio-newsroom { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.pio-story.pio-story { grid-column: span 3; }
	.pio-story--lead.pio-story--lead { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 700px) {
	.pio-newsroom.pio-newsroom { grid-template-columns: minmax(0, 1fr); }
	.pio-story.pio-story,
	.pio-story--lead.pio-story--lead { grid-column: 1 / -1; }
	.pio-story--side.pio-story--side .pio-story__link,
	.pio-story--card.pio-story--card .pio-story__link {
		grid-template-columns: minmax(0, 1fr);
	}
	.pio-mast__all.pio-mast__all { display: none; }
	.pio-chips.pio-chips {
		flex-wrap: nowrap;
		padding: 2px 0 6px;
		overflow-x: auto;
		scrollbar-width: none;
		/* Fade at the edge instead of bleeding past the theme's gutter. */
		-webkit-mask-image: linear-gradient(90deg, #000 82%, transparent);
		mask-image: linear-gradient(90deg, #000 82%, transparent);
	}
	.pio-chip.pio-chip { flex: none; }
}

/* ---------------------------------------------------------------- news archive */

.pio-archive.pio-archive { gap: clamp(28px, 3.5vw, 48px); }
.pio-archive__tools.pio-archive__tools { display: grid; gap: 10px; width: min(100%, 360px); min-width: 0; box-sizing: border-box; }
.pio-search.pio-search { min-width: 0; max-width: 100%; box-sizing: border-box; }
.pio-search.pio-search {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 4px 4px 14px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--pio-paper);
	transition: border-color .25s, box-shadow .25s;
}
.pio-search.pio-search:focus-within { border-color: var(--c-fg); box-shadow: 0 0 0 3px rgba(193, 78, 0, .12); }
.pio-search.pio-search input {
	flex: 1;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 8px 0;
	border: 0;
	background: transparent;
	color: var(--c-fg);
	font: 500 15px/1.2 var(--pio-display);
	box-shadow: none;
	outline: 0;
}
.pio-search.pio-search button {
	display: grid;
	place-items: center;
	width: 38px; height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--c-fg);
	color: var(--pio-paper);
	cursor: pointer;
	transition: background-color .25s;
}
.pio-search.pio-search button:hover { background: var(--pio-rust); }
.pio-archive__desc.pio-archive__desc { max-width: 68ch; color: var(--c-muted); font-size: 1.08rem; }
.pio-archive__empty.pio-archive__empty { padding: 40px 0; color: var(--c-muted); font-size: 1.15rem; }
.pio-archive__empty.pio-archive__empty a { color: var(--pio-rust); text-decoration: underline; }
.pio-archive__month.pio-archive__month { display: grid; gap: clamp(18px, 2vw, 26px); }
.pio-archive__month.pio-archive__month + .pio-archive__month { margin-top: clamp(8px, 1.5vw, 20px); }
.pio-archive.pio-archive .pio-month { margin: 0 !important; padding-bottom: 12px; border-bottom: 1px solid var(--c-line); }

.pio-pager.pio-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 12px;
	font-family: var(--pio-display);
}
.pio-pager__num.pio-pager__num,
.pio-pager__step.pio-pager__step,
.pio-pager__gap.pio-pager__gap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--c-line);
	border-radius: var(--pio-radius);
	color: var(--c-fg);
	font-size: 15px;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
	transition: background-color .25s, color .25s, border-color .25s;
}
.pio-pager__gap.pio-pager__gap { border-color: transparent; min-width: 24px; padding: 0; color: var(--c-muted); }
.pio-pager__step.pio-pager__step { padding: 0 18px; }
.pio-pager__step--prev.pio-pager__step--prev { margin-right: auto; }
.pio-pager__step--next.pio-pager__step--next { margin-left: auto; }
.pio-pager__step.pio-pager__step.is-disabled { visibility: hidden; }
a.pio-pager__num:hover,
a.pio-pager__step:hover { border-color: var(--c-fg); background: var(--c-fg); color: var(--pio-paper); }
.pio-pager__num.pio-pager__num.is-current { border-color: var(--pio-rust); background: var(--pio-rust); color: #fff; }
@media (max-width: 700px) {
	.pio-archive.pio-archive .pio-mast__day { display: grid; }
	.pio-archive.pio-archive .pio-mast__top { padding-bottom: 16px; border-bottom: 1px solid var(--c-line); }
	.pio-pager__step.pio-pager__step span { display: none; }
	.pio-pager__step.pio-pager__step { padding: 0 12px; }
}

/* ---------------------------------------------------------------- events band */

.pio-events.pio-events {
	--c-fg: #f4f1ea;
	--c-muted: #a5a7ae;
	--c-line: rgba(255, 255, 255, .1);
	--c-hover: rgba(255, 255, 255, .045);
	--c-accent: var(--pio-gold);
	--c-chip: rgba(219, 165, 98, .14);
	--pio-page-bg: var(--pio-night);

	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 3vw, 40px);
	padding: clamp(22px, 4.5vw, 64px);
	border-radius: 6px;
	background:
		radial-gradient(70% 55% at 0% 0%, rgba(219, 165, 98, .16), transparent 70%),
		radial-gradient(60% 50% at 100% 100%, rgba(193, 78, 0, .12), transparent 70%),
		var(--pio-night);
	color: var(--c-fg);
	overflow: hidden;
}
.pio-events__head.pio-events__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
}
.pio-events.pio-events .pio-mast__kicker { color: var(--pio-gold); }

/* Two balanced newspaper columns: the "next up" card opens the first one,
   the agenda flows on underneath it and into the second. */
.pio-events__layout.pio-events__layout {
	columns: 2;
	column-gap: clamp(28px, 4vw, 64px);
	column-rule: 1px solid var(--c-line);
}
.pio-events__lead.pio-events__lead {
	display: grid;
	gap: 28px;
	margin-bottom: 34px;
	break-inside: avoid;
}
.pio-agenda__group.pio-agenda__group { margin-bottom: 30px; }
.pio-agenda__group.pio-agenda__group .pio-group-h { break-after: avoid; }
.pio-events__layout.pio-events__layout .pio-ev,
.pio-events__more.pio-events__more { break-inside: avoid; }
@media (max-width: 960px) {
	.pio-events__layout.pio-events__layout { columns: 1; }
}

.pio-events__more.pio-events__more {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 4px 16px;
	padding: 18px 20px;
	border: 1px solid rgba(219, 165, 98, .45);
	border-radius: var(--pio-radius);
	background: rgba(219, 165, 98, .07);
	font-family: var(--pio-display);
	transition: background-color .3s, border-color .3s, color .3s;
}
.pio-events__more-t.pio-events__more-t { font-size: 1.15rem; font-weight: 700; }
.pio-events__more-s.pio-events__more-s { grid-row: 2; color: var(--c-muted); font-size: 13.5px; font-weight: 500; }
.pio-events__more.pio-events__more .pio-i { grid-row: 1 / span 2; grid-column: 2; width: 22px; height: 22px; color: var(--pio-gold); transition: transform .35s var(--pio-ease); }
.pio-events__more.pio-events__more:hover { background: var(--pio-gold); border-color: var(--pio-gold); color: var(--pio-night); }
.pio-events__more.pio-events__more:hover .pio-events__more-s,
.pio-events__more.pio-events__more:hover .pio-i { color: var(--pio-night); }
.pio-events__more.pio-events__more:hover .pio-i { transform: translateX(4px); }

/* Phones: a short list, then the way to everything else. */
.pio-narrow-only.pio-narrow-only { display: none; }
@media (max-width: 700px) {
	.pio-newsroom.pio-newsroom:not(.is-filtered) .pio-mhide,
	.pio-events.pio-events .pio-mhide { display: none; }
	.pio-agenda__group.pio-agenda__group .pio-group-h b { display: none; } /* counts include rows hidden here */
	.pio-wide-only.pio-wide-only { display: none; }
	.pio-narrow-only.pio-narrow-only { display: inline; }
	.pio-news__more.pio-news__more { width: 100%; justify-content: center; padding-block: 1em; }
}

/* next up */
.pio-next__link.pio-next__link { display: grid; gap: 18px; }
.pio-next__body.pio-next__body { display: grid; gap: 12px; }
.pio-next__label.pio-next__label {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--pio-gold);
	font: 700 13px/1 var(--pio-display);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.pio-next__title.pio-next__title {
	font-size: clamp(1.7rem, 2.6vw, 2.4rem);
	font-weight: 800 !important;
	font-stretch: 82%;
	line-height: 1.04 !important;
	letter-spacing: var(--pio-track-l) !important;
}

/* countdown */
.pio-count.pio-count {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-top: 6px;
	border: 1px solid var(--c-line);
	border-radius: var(--pio-radius);
	background: var(--c-line);
	overflow: hidden;
}
.pio-count__cell.pio-count__cell {
	display: grid;
	justify-items: center;
	gap: 2px;
	padding: 12px 4px 10px;
	background: var(--pio-page-bg);
}
.pio-count.pio-count b {
	display: block;
	font: 800 clamp(1.7rem, 3vw, 2.3rem)/1 var(--pio-display);
	font-stretch: 80%;
	font-variant-numeric: tabular-nums;
	color: var(--c-fg);
}
.pio-count.pio-count b.is-tick { animation: pio-tick .45s var(--pio-ease); }
.pio-count.pio-count { contain: paint; }
.pio-count.pio-count small {
	color: var(--c-muted);
	font: 600 11px/1 var(--pio-display);
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pio-count__live.pio-count__live {
	grid-column: 1 / -1;
	padding: 14px;
	background: var(--pio-page-bg);
	color: var(--c-accent);
	font: 700 15px/1 var(--pio-display);
	text-align: center;
}
.pio-count.pio-count.is-live .pio-count__cell { display: none; }

/* ongoing */
.pio-now.pio-now { display: grid; gap: 4px; }
.pio-now__item.pio-now__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	padding: 14px 0;
	border-top: 1px solid var(--c-line);
}
.pio-now__title.pio-now__title { font: 650 1.08rem/1.25 var(--pio-display); }
.pio-now__when.pio-now__when { color: var(--c-muted); font: 500 13px/1.4 var(--pio-display); text-align: right; }
.pio-now__item.pio-now__item .pio-progress { grid-column: 1 / -1; }
.pio-now__item.pio-now__item:hover .pio-now__title { color: var(--pio-gold); }

.pio-progress.pio-progress {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	color: var(--c-muted);
	font: 600 11.5px/1 var(--pio-display);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.pio-progress.pio-progress i {
	position: relative;
	flex: 1;
	height: 4px;
	border-radius: 2px;
	background: var(--c-line);
	overflow: hidden;
}
.pio-progress.pio-progress i::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--pio-rust), var(--pio-gold));
	transform-origin: left;
	transform: scaleX(var(--p, 0));
	animation: pio-grow 1.4s .3s var(--pio-ease) both;
}
.pio-progress.pio-progress span { white-space: nowrap; }

.pio-pulse.pio-pulse {
	position: relative;
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--pio-rust);
	margin-right: 10px;
	vertical-align: 1px;
}
.pio-pulse.pio-pulse::after {
	content: "";
	position: absolute; inset: -5px;
	border-radius: 50%;
	border: 2px solid var(--pio-rust);
	animation: pio-ring 1.8s var(--pio-ease) infinite;
}

/* group headings */
.pio-group-h.pio-group-h {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 6px;
	color: var(--c-muted);
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}
.pio-group-h.pio-group-h b {
	display: inline-grid;
	place-items: center;
	min-width: 22px; height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--c-chip);
	color: var(--c-accent);
	font-size: 12px;
	letter-spacing: 0;
}

/* ---------------------------------------------------------------- event row */

.pio-ev.pio-ev { min-width: 0; border-top: 1px solid var(--c-line); }
.pio-ev__link.pio-ev__link {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) minmax(0, 168px);
	gap: 18px;
	align-items: center;
	padding: 16px 10px 16px 0;
	border-radius: var(--pio-radius);
	transition: background-color .3s;
}
.pio-ev__link.pio-ev__link:hover { background: var(--c-hover); }
.pio-ev__date.pio-ev__date {
	display: grid;
	justify-items: center;
	gap: 3px;
	font-family: var(--pio-display);
	line-height: 1;
	text-align: center;
}
.pio-ev__wd.pio-ev__wd,
.pio-ev__mon.pio-ev__mon {
	color: var(--c-muted);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pio-ev__day.pio-ev__day {
	font-size: 2.35rem;
	font-weight: 800;
	font-stretch: 75%;
	letter-spacing: var(--pio-track-l);
	font-variant-numeric: tabular-nums;
}
.pio-ev__day.pio-ev__day { white-space: nowrap; }
.pio-ev__day.pio-ev__day small { font-size: .5em; font-weight: 700; color: var(--c-muted); }
.pio-ev--today.pio-ev--today .pio-ev__day,
.pio-ev--today.pio-ev--today .pio-ev__mon { color: var(--c-accent); }

.pio-ev__body.pio-ev__body { display: grid; gap: 6px; min-width: 0; }
.pio-ev__rel.pio-ev__rel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.pio-rel.pio-rel {
	padding: .3em .6em;
	border-radius: 3px;
	background: var(--c-chip);
	color: var(--c-accent);
}
.pio-rel--ongoing.pio-rel--ongoing { background: var(--pio-gold); color: var(--pio-night); }
.pio-ev--today.pio-ev--today .pio-rel { background: var(--pio-rust); color: #fff; }
.pio-rel--past.pio-rel--past { background: var(--c-line); color: var(--c-muted); }
.pio-flag.pio-flag { color: var(--c-accent); }
.pio-flag.pio-flag::before { content: "★ "; }
.pio-ev__cat.pio-ev__cat { color: var(--c-muted); }

.pio-ev__title.pio-ev__title {
	font-size: 1.16rem !important;
	font-weight: 650 !important;
	font-stretch: 92%;
	line-height: 1.22 !important;
}
.pio-ev__facts.pio-ev__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	color: var(--c-muted);
	font: 500 14px/1.35 var(--pio-display);
}
.pio-ev__facts.pio-ev__facts > span:not(.screen-reader-text) { display: inline-flex; align-items: center; gap: 6px; }
.pio-ev__facts.pio-ev__facts .pio-i { width: 15px; height: 15px; color: var(--c-accent); }
.pio-ev__excerpt.pio-ev__excerpt {
	color: var(--c-muted);
	font-size: 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pio-ev--past.pio-ev--past { opacity: .55; }
.pio-ev.pio-ev.is-flash .pio-ev__link { animation: pio-flash 1.6s var(--pio-ease); }

@media (max-width: 600px) {
	.pio-ev__link.pio-ev__link { grid-template-columns: 46px minmax(0, 1fr) 92px; gap: 12px; padding-right: 0; }
	.pio-ev__day.pio-ev__day { font-size: 1.9rem; }
	.pio-ev__title.pio-ev__title { font-size: 1.05rem !important; }
	.pio-ev__facts.pio-ev__facts { font-size: 13px; }
}

/* ---------------------------------------------------------------- timeline */

.pio-tl.pio-tl { display: grid; gap: 10px; min-width: 0; }
.pio-tl__scroll.pio-tl__scroll {
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--c-line) transparent;
	-webkit-mask-image: linear-gradient(90deg, #000 92%, transparent);
	mask-image: linear-gradient(90deg, #000 92%, transparent);
}
@media (min-width: 1100px) {
	.pio-tl__scroll.pio-tl__scroll { -webkit-mask-image: none; mask-image: none; }
}
.pio-tl__grid.pio-tl__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--cols), minmax(30px, 1fr));
	grid-template-rows: 58px repeat(var(--lanes), 26px) 34px;
	row-gap: 4px;
	min-width: calc(var(--cols) * 30px);
	padding-bottom: 6px;
}
.pio-tl__day.pio-tl__day {
	position: relative;
	display: grid;
	grid-template-rows: 16px 14px 24px;
	justify-items: center;
	align-content: start;
	padding-top: 2px;
	border-left: 1px solid var(--c-line);
	font-family: var(--pio-display);
	line-height: 1;
	transition: background-color .25s;
}
.pio-tl__day.pio-tl__day:hover,
.pio-tl__day.pio-tl__day.is-hover { background: var(--c-hover); }
.pio-tl__day.pio-tl__day.is-sunday { background: rgba(219, 165, 98, .06); }
.pio-tl__month.pio-tl__month {
	grid-row: 1;
	justify-self: start;
	padding-left: 5px;
	color: var(--c-accent);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pio-tl__wd.pio-tl__wd {
	grid-row: 2;
	color: var(--c-muted);
	font-size: 10.5px;
	font-weight: 600;
	text-transform: uppercase;
}
.pio-tl__num.pio-tl__num {
	grid-row: 3;
	display: grid;
	place-items: center;
	width: 24px; height: 24px;
	border-radius: 50%;
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.pio-tl__day.pio-tl__day.is-sunday .pio-tl__num { color: var(--c-accent); }
.pio-tl__day.pio-tl__day.is-past { opacity: .4; }
.pio-tl__day.pio-tl__day.is-today { background: rgba(219, 165, 98, .12); }
.pio-tl__day.pio-tl__day.is-today::before {
	content: "";
	position: absolute;
	left: 50%; top: 58px; bottom: 0;
	width: 1.5px;
	background: var(--pio-gold);
	transform: translateX(-50%);
	opacity: .7;
}
.pio-tl__day.pio-tl__day.is-today .pio-tl__num { background: var(--pio-gold); color: var(--pio-night); }

.pio-tl__bar.pio-tl__bar {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0 2px;
	padding: 0 8px;
	border-left: 3px solid var(--pio-gold);
	border-radius: 2px 4px 4px 2px;
	background: rgba(219, 165, 98, .17);
	color: var(--c-fg);
	font: 600 12px/1 var(--pio-display);
	white-space: nowrap;
	transform-origin: left;
	animation: pio-bar .9s calc(.4s + var(--k, 0) * .12s) var(--pio-ease) both;
	transition: background-color .25s;
}
.pio-tl__bar.pio-tl__bar span { overflow: hidden; text-overflow: ellipsis; }
.pio-tl__bar.pio-tl__bar.is-ongoing { background: rgba(219, 165, 98, .3); }
.pio-tl__bar.pio-tl__bar.cut-l { border-left-style: dashed; }
.pio-tl__bar.pio-tl__bar.cut-r { border-radius: 2px 0 0 2px; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.pio-tl__bar.pio-tl__bar:hover { background: rgba(219, 165, 98, .42); }

.pio-tl__dots.pio-tl__dots {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	gap: 3px;
}
.pio-tl__dot.pio-tl__dot {
	position: relative;
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--pio-gold);
	box-shadow: 0 0 0 3px var(--pio-page-bg);
	animation: pio-pop .5s calc(.6s + var(--d, 0) * .03s) var(--pio-ease) both;
	transition: transform .2s;
}
.pio-tl__dot.pio-tl__dot.is-past { background: var(--c-muted); }
.pio-tl__dot.pio-tl__dot:hover,
.pio-tl__dot.pio-tl__dot:focus-visible { transform: scale(1.4); }
.pio-tl__dot.pio-tl__dot[data-tip]:hover::after,
.pio-tl__dot.pio-tl__dot[data-tip]:focus-visible::after {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	z-index: 5;
	width: max-content;
	max-width: 220px;
	padding: 8px 10px;
	border-radius: var(--pio-radius);
	background: var(--pio-paper);
	color: var(--pio-ink);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
	font: 600 12.5px/1.3 var(--pio-display);
	white-space: normal;
	transform: translateX(-50%);
	pointer-events: none;
}
.pio-tl__legend.pio-tl__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	color: var(--c-muted);
	font: 500 12.5px/1 var(--pio-display);
}
.pio-tl__legend.pio-tl__legend span { display: inline-flex; align-items: center; gap: 7px; }
.pio-tl__key.pio-tl__key { display: inline-block; }
.pio-tl__key--dot.pio-tl__key--dot { width: 9px; height: 9px; border-radius: 50%; background: var(--pio-gold); }
.pio-tl__key--bar.pio-tl__key--bar { width: 18px; height: 9px; border-left: 3px solid var(--pio-gold); background: rgba(219, 165, 98, .3); }
.pio-tl__key--today.pio-tl__key--today { width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--pio-gold); }

/* ---------------------------------------------------------------- TEC list (archive) */

.pio-tec.pio-tec .tribe-common {
	--tec-color-accent-primary: var(--pio-rust);
	--tec-color-accent-primary-hover: #9e3f00;
	--tec-color-button-primary: var(--pio-rust);
	--tec-color-link-accent: var(--pio-rust);
	--tec-font-family-sans-serif: var(--pio-display);
	--tec-font-family-base: var(--pio-text);
}
.pio-archive-hero.pio-archive-hero {
	--pio-page-bg: var(--pio-paper);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	gap: 18px;
	margin-bottom: clamp(24px, 3vw, 40px);
	padding-bottom: 28px;
	border-bottom: 1px solid var(--c-line);
}
.pio-archive-hero__lede.pio-archive-hero__lede { max-width: 60ch; color: var(--c-muted); font-size: 1.12rem; }
.pio-archive-hero.pio-archive-hero .pio-tl__day.is-sunday { background: rgba(193, 78, 0, .05); }
.pio-archive-hero.pio-archive-hero .pio-tl__dot { background: var(--pio-rust); }
.pio-archive-hero.pio-archive-hero .pio-tl__bar { border-left-color: var(--pio-rust); background: rgba(193, 78, 0, .1); }
.pio-archive-hero.pio-archive-hero .pio-tl__bar.is-ongoing { background: rgba(193, 78, 0, .18); }
.pio-archive-hero.pio-archive-hero .pio-tl__day.is-today { background: rgba(193, 78, 0, .07); }
.pio-archive-hero.pio-archive-hero .pio-tl__day.is-today::before { background: var(--pio-rust); }
.pio-archive-hero.pio-archive-hero .pio-tl__day.is-today .pio-tl__num { background: var(--pio-rust); color: #fff; }
.pio-archive-hero.pio-archive-hero .pio-tl__key--dot { background: var(--pio-rust); }
.pio-archive-hero.pio-archive-hero .pio-tl__key--bar { border-color: var(--pio-rust); background: rgba(193, 78, 0, .18); }
.pio-archive-hero.pio-archive-hero .pio-tl__key--today { border-color: var(--pio-rust); }
.pio-archive-hero.pio-archive-hero .pio-tl__dot[data-tip]:hover::after { background: var(--pio-ink); color: #fff; }

.pio-month.pio-month {
	display: flex;
	font-family: var(--pio-display);
	align-items: baseline;
	gap: .3em;
	margin: clamp(28px, 4vw, 56px) 0 8px !important;
	font-size: clamp(2.4rem, 6vw, 4.6rem) !important;
	font-weight: 800 !important;
	font-stretch: 75%;
	line-height: .9 !important;
	letter-spacing: var(--pio-track-xl) !important;
}
.pio-month.pio-month:first-child { margin-top: 0 !important; }
.pio-month__year.pio-month__year {
	color: transparent;
	-webkit-text-stroke: 1.5px var(--pio-gold);
	font-weight: 700;
}
.pio-ev--archive.pio-ev--archive .pio-ev__link {
	grid-template-columns: minmax(76px, max-content) minmax(0, 1fr) minmax(0, 300px);
	gap: clamp(16px, 2.5vw, 32px);
	padding-block: 22px;
}
.pio-ev--archive.pio-ev--archive .pio-ev__day { font-size: 3.1rem; }
.pio-ev--archive.pio-ev--archive .pio-ev__title { font-size: clamp(1.25rem, 2vw, 1.6rem) !important; font-weight: 700 !important; }
@media (max-width: 760px) {
	.pio-ev--archive.pio-ev--archive .pio-ev__link { grid-template-columns: 52px minmax(0, 1fr); }
	.pio-ev--archive.pio-ev--archive .pio-ev__media { grid-column: 2; grid-row: 1; }
	.pio-ev--archive.pio-ev--archive .pio-ev__body { grid-column: 2; }
	.pio-ev--archive.pio-ev--archive .pio-ev__date { grid-row: 1 / span 2; align-self: start; }
	.pio-ev--archive.pio-ev--archive .pio-ev__day { font-size: 2.2rem; }
}

/* ---------------------------------------------------------------- single event */

/* Full width: hide Avada's event sidebar ("Szczegóły"); the ticket shows it all. */
body.pio-tec-single #sidebar,
body.pio-tec-single .tribe-events-event-meta.primary { display: none !important; }
body.pio-tec-single #content {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}


.pio-single.pio-single { display: grid; gap: clamp(20px, 3vw, 36px); }
.pio-crumbs.pio-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	color: var(--c-muted);
	font: 600 14px/1 var(--pio-display);
}
.pio-crumbs.pio-crumbs a { display: inline-flex; align-items: center; gap: 6px; color: var(--c-accent); }
.pio-crumbs.pio-crumbs a:hover { text-decoration: underline; }
.pio-single__head.pio-single__head { display: grid; gap: 14px; max-width: 980px; }
.pio-single__title.pio-single__title {
	font-size: clamp(2.3rem, 5.6vw, 4.8rem) !important;
	font-weight: 800 !important;
	font-stretch: 78%;
	line-height: .95 !important;
	letter-spacing: var(--pio-track-xl) !important;
	animation: pio-rise .9s var(--pio-ease) both;
}
.pio-single__sub.pio-single__sub { color: var(--c-muted); font-size: 1.2rem; font-style: italic; }

.pio-single__grid.pio-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
}
.pio-single__main.pio-single__main { display: grid; gap: clamp(22px, 3vw, 36px); min-width: 0; }
.pio-single__media.pio-single__media { animation: pio-unveil 1.2s .1s var(--pio-ease) both; }

.pio-prose.pio-prose { max-width: 68ch; font-size: 1.15rem; line-height: 1.7; }
.pio-prose.pio-prose > * + * { margin-top: 1em; }
.pio-prose.pio-prose p { margin: 0; }
.pio-prose.pio-prose > p:first-child::first-letter {
	float: left;
	margin: .06em .1em 0 0;
	color: var(--pio-rust);
	font: 800 3.6em/.8 var(--pio-display);
	font-stretch: 75%;
}
.pio-prose.pio-prose a { color: var(--pio-rust); text-decoration: underline; text-underline-offset: 3px; }
.pio-prose.pio-prose img { height: auto; border-radius: var(--pio-radius); }
.pio-prose.pio-prose h2,
.pio-prose.pio-prose h3 { margin-top: 1.6em; font-size: 1.5rem; }

@media (max-width: 1000px) {
	.pio-single__grid.pio-single__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ticket */
.pio-ticket.pio-ticket {
	position: sticky;
	top: calc(var(--pio-top, 0px) + 24px);
	transition: top .3s var(--pio-ease);
	display: grid;
	/* No filter: drop-shadow here. A filtered element is repainted whenever
	   anything inside changes, so the shadow flickered with every second of
	   the countdown. Each half carries its own static shadow instead. */
	animation: pio-ticket 1.1s .25s var(--pio-ease) both;
}
.pio-ticket__top.pio-ticket__top {
	display: grid;
	gap: 4px;
	padding: 26px 28px 22px;
	border-radius: 8px 8px 0 0;
	box-shadow: 0 -2px 24px rgba(20, 22, 27, .08);
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(219, 165, 98, .22), transparent 70%),
		var(--pio-night);
	color: #f4f1ea;
	font-family: var(--pio-display);
}
.pio-ticket__wd.pio-ticket__wd {
	color: var(--pio-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.pio-ticket__day.pio-ticket__day {
	font-size: 6.2rem;
	font-weight: 800;
	font-stretch: 75%;
	line-height: .82;
	letter-spacing: var(--pio-track-xl);
	font-variant-numeric: tabular-nums;
}
.pio-ticket__day.pio-ticket__day span { font-size: .5em; color: var(--pio-gold); letter-spacing: -.02em; }
.pio-ticket__month.pio-ticket__month { font-size: 1.25rem; font-weight: 600; }
.pio-ticket__time.pio-ticket__time {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px !important;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: 1.05rem;
	font-weight: 600;
}
.pio-ticket__time.pio-ticket__time .pio-i { color: var(--pio-gold); }
.pio-ticket__perf.pio-ticket__perf {
	position: relative;
	height: 26px;
	background:
		radial-gradient(circle at 0 50%, transparent 12px, #fbfaf8 12.5px) left / 51% 100% no-repeat,
		radial-gradient(circle at 100% 50%, transparent 12px, #fbfaf8 12.5px) right / 51% 100% no-repeat;
}
.pio-ticket__perf.pio-ticket__perf::after {
	content: "";
	position: absolute;
	left: 20px; right: 20px; top: 50%;
	border-top: 2px dashed #dcd8d1;
}
.pio-ticket__bottom.pio-ticket__bottom {
	display: grid;
	gap: 18px;
	padding: 6px 28px 26px;
	border-radius: 0 0 8px 8px;
	background: #fbfaf8;
	box-shadow: 0 22px 40px -12px rgba(20, 22, 27, .2), 0 1px 0 rgba(20, 22, 27, .04);
}
.pio-ticket.pio-ticket .pio-count { --pio-page-bg: #fbfaf8; margin: 0; }
.pio-ticket__status.pio-ticket__status { font: 600 15px/1.4 var(--pio-display); color: var(--c-muted); }
.pio-ticket__status.pio-ticket__status.is-live { color: var(--pio-rust); }
.pio-ticket__facts.pio-ticket__facts { display: grid; gap: 14px; margin: 0; }
.pio-ticket__facts.pio-ticket__facts > div { display: grid; gap: 3px; }
.pio-ticket__facts.pio-ticket__facts dt {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--c-muted);
	font: 700 11.5px/1 var(--pio-display);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.pio-ticket__facts.pio-ticket__facts dt .pio-i { width: 14px; height: 14px; }
.pio-ticket__facts.pio-ticket__facts dd { display: grid; gap: 2px; margin: 0; font: 600 1.02rem/1.35 var(--pio-display); }
.pio-ticket__facts.pio-ticket__facts small { color: var(--c-muted); font-weight: 500; font-size: .9em; }
.pio-ticket__facts.pio-ticket__facts a { color: var(--pio-rust); font-size: .92em; }
.pio-ticket__facts.pio-ticket__facts a:hover { text-decoration: underline; }
.pio-ticket__actions.pio-ticket__actions { display: grid; gap: 8px; }
.pio-ticket__actions.pio-ticket__actions .pio-btn { justify-content: center; }
.pio-copy.pio-copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 6px;
	border: 0;
	background: none;
	color: var(--c-muted);
	font: 600 14px/1 var(--pio-display);
	cursor: pointer;
}
.pio-copy.pio-copy:hover { color: var(--pio-ink); }
.pio-copy.pio-copy.is-done { color: var(--lit); }

/* prev / next */
.pio-pn.pio-pn {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	border-block: 1px solid var(--c-line);
	background: var(--c-line);
}
.pio-pn.pio-pn a {
	display: grid;
	gap: 6px;
	padding: 22px 4px;
	background: var(--pio-page-bg);
	transition: background-color .25s;
}
.pio-pn.pio-pn a:hover { background: var(--c-hover); }
.pio-pn.pio-pn small {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--c-muted);
	font: 700 12px/1 var(--pio-display);
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pio-pn.pio-pn span { font: 700 1.2rem/1.2 var(--pio-display); font-stretch: 90%; }
.pio-pn__next.pio-pn__next { grid-column: 2; text-align: right; justify-items: end; padding-right: 4px; }
.pio-related.pio-related { display: grid; gap: 6px; }
@media (max-width: 600px) {
	.pio-pn.pio-pn { grid-template-columns: minmax(0, 1fr); }
	.pio-pn__next.pio-pn__next { grid-column: 1; }
	.pio-ticket__day.pio-ticket__day { font-size: 4.8rem; }
}

/* ================================================================ sections
 * [pio_sakramenty] [pio_cytaty] [pio_informacje] [pio_liturgia]
 * ============================================================= */

/* ---------------------------------------------------------------- shared head + carousel controls */

.pio-sec-head.pio-sec-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px 24px;
	margin-bottom: clamp(18px, 2vw, 24px);
	padding-bottom: 14px;
	border-bottom: 1px solid var(--c-line);
}
.pio-sec-head__title.pio-sec-head__title { display: grid; gap: 6px; }
.pio-sec-head__word.pio-sec-head__word {
	display: block;
	font-size: clamp(2.2rem, 4.2vw, 3.6rem);
	font-weight: 800;
	font-stretch: 75%;
	line-height: .92;
	letter-spacing: var(--pio-track-xl);
	animation: pio-rise 1s var(--pio-ease) both;
}
.pio-car-nav.pio-car-nav { display: flex; align-items: center; gap: 8px; }
.pio-car-count.pio-car-count {
	margin-right: 6px;
	color: var(--c-muted);
	font: 600 14px/1 var(--pio-display);
	font-variant-numeric: tabular-nums;
}
.pio-car-count.pio-car-count b { color: var(--c-fg); font-weight: 800; }
.pio-car-btn.pio-car-btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 46px; height: 46px;
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: 50%;
	background: transparent;
	color: var(--c-fg);
	cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s, transform .25s var(--pio-ease);
}
.pio-car-btn.pio-car-btn:hover { background: var(--c-fg); border-color: var(--c-fg); color: var(--pio-page-bg); }
.pio-car-btn.pio-car-btn:active { transform: scale(.94); }

/* ---------------------------------------------------------------- sacraments */

.pio-sac.pio-sac { container-type: inline-size; container-name: sac; }
.pio-sac__body.pio-sac__body { display: grid; gap: 18px; }

.pio-sac__tabs.pio-sac__tabs {
	display: flex;
	gap: 6px;
	padding: 4px 0 6px;
	overflow-x: auto;
	scrollbar-width: none;
}
.pio-sac__tabs.pio-sac__tabs::-webkit-scrollbar { display: none; }
.pio-sac__tab.pio-sac__tab {
	position: relative;
	flex: none;
	display: grid;
	gap: 8px;
	padding: 10px 14px 8px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: transparent;
	color: var(--c-muted);
	font-family: var(--pio-display);
	text-align: left;
	cursor: pointer;
	transition: color .3s, border-color .3s, background-color .3s;
}
.pio-sac__tab.pio-sac__tab:hover { color: var(--c-fg); }
.pio-sac__tab.pio-sac__tab.is-active { border-color: var(--c-fg); color: var(--c-fg); }
.pio-sac__name.pio-sac__name { font-size: 15px; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.pio-sac__bar.pio-sac__bar {
	position: relative;
	display: block;
	height: 2px;
	border-radius: 2px;
	background: var(--c-line);
	overflow: hidden;
}
.pio-sac__bar.pio-sac__bar i {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--pio-rust), var(--pio-gold));
	transform: scaleX(0);
	transform-origin: left;
}
.pio-sac__tab.pio-sac__tab.is-active .pio-sac__bar i { transform: scaleX(1); }
.is-playing.is-playing .pio-sac__tab.is-active .pio-sac__bar i { animation: pio-fill-x var(--dur) linear both; }
.is-paused.is-paused .pio-sac__tab.is-active .pio-sac__bar i { animation-play-state: paused; }

.pio-sac__stage.pio-sac__stage { display: grid; }
.pio-sac__slide.pio-sac__slide {
	grid-area: 1 / 1;
	display: grid;
	gap: 16px;
	align-content: start;
	min-width: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .7s var(--pio-ease), visibility 0s .7s;
}
.pio-sac__slide.pio-sac__slide.is-active { opacity: 1; visibility: visible; transition: opacity .7s var(--pio-ease), visibility 0s; z-index: 1; }
.pio-sac__media.pio-sac__media {
	position: relative;
	aspect-ratio: 16 / 10;
	max-width: 100%;
	overflow: hidden;
	border-radius: 6px;
	background:
		radial-gradient(100% 80% at 0% 0%, rgba(219, 165, 98, .3), transparent 60%),
		var(--pio-night-2);
}
.pio-sac__media.pio-sac__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 40%;
}
.pio-sac__slide.pio-sac__slide.is-active .pio-sac__media { animation: pio-wipe .9s var(--pio-ease) both; }
.pio-sac__slide.pio-sac__slide.is-active .pio-sac__media img { animation: pio-kenburns calc(var(--dur) + 2s) ease-out both; }
.pio-sac__mono.pio-sac__mono {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--pio-gold);
	font: 800 clamp(5rem, 18cqi, 10rem)/1 var(--pio-display);
	opacity: .85;
}
.pio-sac__card.pio-sac__card { display: grid; gap: 10px; align-content: start; }
.pio-sac__title.pio-sac__title {
	font-size: clamp(1.6rem, 5cqi, 2.4rem) !important;
	font-weight: 800 !important;
	font-stretch: 80%;
	line-height: 1 !important;
	letter-spacing: var(--pio-track-l) !important;
}
.pio-sac__text.pio-sac__text { max-width: 48ch; color: var(--c-muted); font-size: 1.05rem; line-height: 1.55; }
.pio-sac__more.pio-sac__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: start;
	color: var(--pio-rust);
	font: 700 15px/1 var(--pio-display);
}
.pio-sac__more.pio-sac__more .pio-i { transition: transform .35s var(--pio-ease); }
.pio-sac__more.pio-sac__more:hover .pio-i { transform: translateX(5px); }
.pio-sac__slide.pio-sac__slide.is-active .pio-sac__card > * { animation: pio-up .7s var(--pio-ease) both; }
.pio-sac__slide.pio-sac__slide.is-active .pio-sac__card > :nth-child(2) { animation-delay: .08s; }
.pio-sac__slide.pio-sac__slide.is-active .pio-sac__card > :nth-child(3) { animation-delay: .16s; }

/* Wide: names as a vertical index, text laid over the picture. */
@container sac (min-width: 720px) {
	.pio-sac__body.pio-sac__body { grid-template-columns: minmax(200px, .36fr) minmax(0, 1fr); gap: clamp(24px, 4cqi, 56px); align-items: stretch; }
	.pio-sac__tabs.pio-sac__tabs { flex-direction: column; gap: 0; margin: 0; padding: 0; overflow: visible; align-self: center; }
	.pio-sac__tab.pio-sac__tab {
		gap: 12px;
		padding: 16px 0 0;
		border: 0;
		border-radius: 0;
		color: color-mix(in srgb, var(--c-muted) 75%, transparent);
	}
	.pio-sac__tab.pio-sac__tab.is-active { color: var(--c-fg); }
	.pio-sac__name.pio-sac__name {
		font-size: clamp(1.25rem, 2.6cqi, 1.75rem);
		font-weight: 750;
		font-stretch: 85%;
		letter-spacing: var(--pio-track-l);
		white-space: normal;
		transition: transform .45s var(--pio-ease);
	}
	.pio-sac__tab.pio-sac__tab.is-active .pio-sac__name,
	.pio-sac__tab.pio-sac__tab:hover .pio-sac__name { transform: translateX(8px); }
	.pio-sac__slide.pio-sac__slide { position: relative; }
	.pio-sac__media.pio-sac__media { aspect-ratio: 16 / 11; border-radius: 8px; }
	.pio-sac__media.pio-sac__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(to top, rgba(12, 13, 17, .88) 0%, rgba(12, 13, 17, .45) 38%, rgba(12, 13, 17, 0) 66%);
	}
	.pio-sac__card.pio-sac__card {
		position: absolute;
		left: 0; right: 0; bottom: 0;
		z-index: 2;
		max-width: 620px;
		padding: clamp(22px, 4cqi, 44px);
		color: #fff;
	}
	.pio-sac__title.pio-sac__title { color: #fff; font-size: clamp(2rem, 4.6cqi, 3.2rem) !important; }
	.pio-sac__text.pio-sac__text { color: rgba(255, 255, 255, .86); font-size: 1.1rem; }
	.pio-sac__more.pio-sac__more { color: var(--pio-gold); }
}

/* ---------------------------------------------------------------- quotes */

.pio-quotes.pio-quotes {
	--c-fg: #fff;
	--c-muted: rgba(255, 255, 255, .72);
	--c-line: rgba(255, 255, 255, .28);
	--c-accent: var(--pio-gold);
	--pio-page-bg: #9a3a00;
	container-type: inline-size;
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 18px;
	min-height: 420px;
	padding: clamp(24px, 6cqi, 56px);
	border-radius: 8px;
	overflow: hidden;
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(219, 165, 98, .38), transparent 62%),
		linear-gradient(155deg, #c65200 0%, #9a3a00 55%, #5e2200 100%);
	color: var(--c-fg);
}
.pio-quotes__glow.pio-quotes__glow {
	position: absolute;
	inset: -30%;
	z-index: -1;
	background: radial-gradient(35% 35% at 30% 70%, rgba(255, 196, 120, .28), transparent 70%);
	animation: pio-drift 16s ease-in-out infinite alternate;
	pointer-events: none;
}
.pio-quotes__head.pio-quotes__head { position: relative; display: flex; justify-content: space-between; align-items: flex-start; }
.pio-quotes__kicker.pio-quotes__kicker {
	display: inline-flex !important;
	align-items: center;
	gap: .7em;
	color: rgba(255, 255, 255, .8);
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
}
.pio-quotes__kicker.pio-quotes__kicker::before { content: ""; width: 28px; height: 2px; background: var(--pio-gold); }
.pio-quotes__mark.pio-quotes__mark {
	position: absolute;
	right: -.04em;
	top: -.32em;
	color: var(--pio-gold);
	font: 800 clamp(7rem, 30cqi, 12rem)/1 var(--pio-text);
	opacity: .55;
	animation: pio-float 7s ease-in-out infinite alternate;
	pointer-events: none;
}
.pio-quotes__stage.pio-quotes__stage { display: grid; align-items: center; }
.pio-quotes__slide.pio-quotes__slide { grid-area: 1 / 1; margin: 0; visibility: hidden; }
.pio-quotes__slide.pio-quotes__slide.is-active { visibility: visible; }
.pio-quotes__text.pio-quotes__text { margin: 0; padding: 0; border: 0; background: none !important; box-shadow: none; quotes: none; }
.pio-quotes__text.pio-quotes__text::before,
.pio-quotes__text.pio-quotes__text::after { content: none; }
.pio-quotes__text.pio-quotes__text p {
	max-width: 30ch;
	color: #fff;
	font-family: var(--pio-text);
	font-size: clamp(1.35rem, 5.4cqi, 2.15rem);
	font-weight: 500;
	line-height: 1.32;
	text-wrap: pretty;
}
.pio-w.pio-w {
	display: inline-block;
	opacity: 0;
	transform: translateY(.35em);
	filter: blur(6px);
	transition: opacity .35s, transform .35s, filter .35s;
}
.pio-quotes__slide.pio-quotes__slide.is-active .pio-w {
	opacity: 1;
	transform: none;
	filter: none;
	transition: opacity .6s var(--pio-ease), transform .7s var(--pio-ease), filter .6s;
	transition-delay: calc(.15s + var(--w) * 38ms);
}
.pio-quotes__foot.pio-quotes__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.pio-quotes__author.pio-quotes__author { display: inline-flex; align-items: center; gap: 12px; font: 700 15px/1.2 var(--pio-display); }
.pio-quotes__author.pio-quotes__author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--pio-gold); }
.pio-quotes__dots.pio-quotes__dots { display: inline-flex; gap: 5px; margin-right: 6px; }
.pio-quotes__dots.pio-quotes__dots i { width: 14px; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .3); transition: width .4s var(--pio-ease), background-color .4s; }
.pio-quotes__dots.pio-quotes__dots i.is-active { width: 26px; background: #fff; }
.pio-quotes.pio-quotes .pio-car-btn:hover { background: #fff; border-color: #fff; color: #9a3a00; }
.pio-car-btn--ring.pio-car-btn--ring { border-color: transparent; }
.pio-ring.pio-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); pointer-events: none; }
.pio-ring.pio-ring circle { fill: none; stroke: rgba(255, 255, 255, .3); stroke-width: 1.5; }
.is-playing.is-playing .pio-ring circle {
	stroke: #fff;
	stroke-dasharray: 138.3;
	stroke-dashoffset: 138.3;
	animation: pio-ring-fill var(--dur) linear both;
}
.is-paused.is-paused .pio-ring circle { animation-play-state: paused; }

/* ---------------------------------------------------------------- parish info (before the footer) */

.pio-info.pio-info {
	--pio-page-bg: #f5f3ef;
	display: grid;
	gap: clamp(20px, 2.6vw, 30px);
	padding: clamp(20px, 4vw, 52px);
	border-radius: 8px;
	background:
		radial-gradient(70% 60% at 100% 0%, rgba(219, 165, 98, .14), transparent 70%),
		#f5f3ef;
}
.pio-info__head.pio-info__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.pio-next-mass.pio-next-mass {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	padding: 12px 18px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--pio-paper);
	box-shadow: 0 10px 30px -18px rgba(20, 22, 27, .35);
	font-family: var(--pio-display);
}
.pio-next-mass.pio-next-mass .pio-pulse { margin: 0 4px 0 2px; }
.pio-next-mass__label.pio-next-mass__label { color: var(--c-muted); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pio-next-mass.pio-next-mass strong { font-size: 1.25rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.pio-next-mass__in.pio-next-mass__in { padding: 4px 10px; border-radius: 999px; background: var(--c-chip); color: var(--pio-rust); font-size: 13px; font-weight: 700; }

.pio-info__grid.pio-info__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px;
}
.pio-tile.pio-tile {
	container-type: inline-size;
	display: grid;
	gap: 14px;
	align-content: start;
	min-width: 0;
	padding: clamp(18px, 2.2vw, 26px);
	border: 1px solid rgba(28, 29, 33, .07);
	border-radius: 8px;
	background: var(--pio-paper);
	box-shadow: 0 1px 0 rgba(28, 29, 33, .03);
}
.pio-tile--masses.pio-tile--masses { grid-column: 1 / span 7; grid-row: 1; }
.pio-tile--office.pio-tile--office { grid-column: 8 / -1; grid-row: 1; }
.pio-tile--map.pio-tile--map { grid-column: 1 / span 7; grid-row: 2; padding: 0; overflow: hidden; }
.pio-tile--contact.pio-tile--contact { grid-column: 8 / -1; grid-row: 2; }
.pio-tile--links.pio-tile--links { grid-column: 1 / span 7; grid-row: 3; }
.pio-tile--bank.pio-tile--bank { grid-column: 8 / -1; grid-row: 3; }
@media (max-width: 1000px) {
	.pio-info__grid.pio-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pio-tile--masses.pio-tile--masses,
	.pio-tile--map.pio-tile--map,
	.pio-tile--links.pio-tile--links { grid-column: 1 / -1; grid-row: auto; }
	.pio-tile--office.pio-tile--office,
	.pio-tile--contact.pio-tile--contact { grid-column: auto; grid-row: auto; }
	.pio-tile--bank.pio-tile--bank { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 640px) {
	.pio-info__grid.pio-info__grid { grid-template-columns: minmax(0, 1fr); }
	.pio-tile--office.pio-tile--office,
	.pio-tile--contact.pio-tile--contact,
	.pio-tile--bank.pio-tile--bank { grid-column: 1 / -1; }
}
.pio-tile__h.pio-tile__h {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.15rem !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
}
.pio-tile__h.pio-tile__h .pio-i { width: 20px; height: 20px; color: var(--pio-rust); }
.pio-tile__note.pio-tile__note { color: var(--c-muted); font-size: .98rem; line-height: 1.45; }
.pio-tile__note--season.pio-tile__note--season { padding: 10px 14px; border-radius: 6px; background: rgba(107, 74, 143, .08); color: #4f3570; }
.pio-tile__link.pio-tile__link { display: inline-flex; align-items: center; gap: 8px; justify-self: start; color: var(--pio-rust); font: 700 15px/1 var(--pio-display); }
.pio-tile__link.pio-tile__link .pio-i { transition: transform .35s var(--pio-ease); }
.pio-tile__link.pio-tile__link:hover .pio-i { transform: translateX(5px); }

/* masses */
.pio-masses.pio-masses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
@container (max-width: 520px) { .pio-masses.pio-masses { grid-template-columns: minmax(0, 1fr); } }
.pio-masses__col.pio-masses__col {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 14px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: var(--pio-mist);
	transition: background-color .3s, border-color .3s;
}
.pio-masses__col.pio-masses__col.is-today { border-color: rgba(193, 78, 0, .3); background: rgba(193, 78, 0, .05); }
.pio-masses__name.pio-masses__name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--c-muted); font: 700 12px/1.2 var(--pio-display); letter-spacing: .1em; text-transform: uppercase; }
.pio-masses__today.pio-masses__today { padding: 3px 8px; border-radius: 999px; background: var(--pio-rust); color: #fff; letter-spacing: .06em; }
.pio-masses__list.pio-masses__list { display: grid; gap: 8px; list-style: none; }
@container (max-width: 520px) { .pio-masses__list.pio-masses__list { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); } }
.pio-masses__list.pio-masses__list li { display: grid; gap: 1px; transition: opacity .3s; }
.pio-masses__list.pio-masses__list b {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 750 1.5rem/1.05 var(--pio-display);
	font-stretch: 85%;
	font-variant-numeric: tabular-nums;
	letter-spacing: var(--pio-track-l);
}
.pio-masses__list.pio-masses__list small { color: var(--c-muted); font-size: 12.5px; line-height: 1.3; }
.pio-masses__list.pio-masses__list li.is-past { opacity: .38; }
.pio-masses__list.pio-masses__list li.is-next b { color: var(--pio-rust); }
.pio-masses__list.pio-masses__list li.is-next b::before {
	content: "";
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--pio-rust);
	box-shadow: 0 0 0 0 rgba(193, 78, 0, .45);
	animation: pio-beacon 1.8s infinite;
}

/* office */
.pio-status.pio-status {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: start;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--pio-mist);
	color: var(--c-fg);
	font: 650 14.5px/1.25 var(--pio-display);
}
.pio-status.pio-status i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: #9a9ca3; }
.pio-status.pio-status.is-open { background: rgba(47, 122, 75, .1); color: #22603a; }
.pio-status.pio-status.is-open i { background: #2f7a4b; animation: pio-beacon-green 1.8s infinite; }
.pio-week.pio-week { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.pio-week.pio-week li {
	display: grid;
	grid-template-columns: 3.4em minmax(0, 1fr);
	align-items: center;
	padding: 6px 10px;
	border-radius: 6px;
	color: color-mix(in srgb, var(--c-muted) 70%, transparent);
	font: 500 14.5px/1.3 var(--pio-display);
	font-variant-numeric: tabular-nums;
}
.pio-week.pio-week li.has-hours { color: var(--c-fg); font-weight: 650; }
.pio-week.pio-week li.is-today { background: rgba(193, 78, 0, .07); }
.pio-week.pio-week li.is-today .pio-week__d { color: var(--pio-rust); }
.pio-week__d.pio-week__d { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* contact */
.pio-contact.pio-contact { display: grid; gap: 2px; font-style: normal; font: 500 1rem/1.45 var(--pio-display); }
.pio-contact__name.pio-contact__name { font-weight: 750; }
.pio-contact__links.pio-contact__links { display: grid; gap: 8px; list-style: none; }
.pio-contact__links.pio-contact__links li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.pio-contact__big.pio-contact__big { font: 800 1.55rem/1.1 var(--pio-display); font-stretch: 85%; font-variant-numeric: tabular-nums; letter-spacing: var(--pio-track-l); }
.pio-contact__mail.pio-contact__mail { min-width: 0; overflow-wrap: anywhere; font: 600 1.02rem/1.3 var(--pio-display); }
.pio-contact__big.pio-contact__big:hover,
.pio-contact__mail.pio-contact__mail:hover { color: var(--pio-rust); }

/* copy buttons (contact, bank account, event link) */
.pio-copy--icon.pio-copy--icon {
	position: relative;
	display: grid;
	place-items: center;
	flex: none;
	width: 32px; height: 32px;
	padding: 0;
	border: 1px solid var(--c-line);
	border-radius: 50%;
	background: transparent;
	color: var(--c-muted);
	cursor: pointer;
	transition: color .2s, border-color .2s, background-color .2s;
}
.pio-copy--icon.pio-copy--icon .pio-i { width: 15px; height: 15px; }
.pio-copy--icon.pio-copy--icon:hover { color: var(--c-fg); border-color: var(--c-fg); }
.pio-copy--icon.pio-copy--icon.is-done { color: #fff; border-color: #2f7a4b; background: #2f7a4b; }
.pio-copy--icon.pio-copy--icon::after {
	content: attr(data-done);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	padding: 6px 10px;
	border-radius: 6px;
	background: var(--pio-ink);
	color: #fff;
	font: 600 12px/1 var(--pio-display);
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, 4px);
	transition: opacity .2s, transform .2s;
	pointer-events: none;
}
.pio-copy--icon.pio-copy--icon.is-done::after { opacity: 1; transform: translate(-50%, 0); }

/* map */
.pio-map.pio-map { position: relative; height: 100%; min-height: 280px; overflow: hidden; background: #ebe6dc; }
.pio-map__art.pio-map__art {
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(28deg, transparent 0 54px, rgba(255, 255, 255, .95) 54px 61px),
		repeating-linear-gradient(-62deg, transparent 0 86px, rgba(255, 255, 255, .95) 86px 92px),
		repeating-linear-gradient(118deg, transparent 0 140px, rgba(255, 255, 255, .7) 140px 143px),
		#ebe6dc;
	transform: scale(1.06);
	animation: pio-map-drift 26s ease-in-out infinite alternate;
}
.pio-map__river.pio-map__river {
	position: absolute;
	left: -10%; right: -10%; top: 62%;
	height: 46px;
	border-radius: 50%;
	background: rgba(130, 165, 190, .55);
	transform: rotate(-9deg);
}
.pio-map__park.pio-map__park {
	position: absolute;
	left: 8%; top: 12%;
	width: 26%; height: 30%;
	border-radius: 40% 60% 55% 45%;
	background: rgba(124, 160, 110, .38);
}
.pio-map__pin.pio-map__pin {
	position: absolute;
	left: 56%; top: 40%;
	width: 34px; height: 34px;
	border-radius: 50% 50% 50% 0;
	background: var(--pio-rust);
	box-shadow: 0 10px 22px -6px rgba(120, 40, 0, .6);
	transform: translate(-50%, -100%) rotate(-45deg);
	animation: pio-pin 2.4s var(--pio-ease) infinite;
}
.pio-map__pin.pio-map__pin i { position: absolute; inset: 10px; border-radius: 50%; background: #fff; }
.pio-map__pin.pio-map__pin::after {
	content: "";
	position: absolute;
	left: -14px; bottom: -14px;
	width: 26px; height: 26px;
	border-radius: 50%;
	border: 2px solid rgba(193, 78, 0, .5);
	animation: pio-ring 2.4s var(--pio-ease) infinite;
}
.pio-map__label.pio-map__label {
	position: absolute;
	left: 16px; top: 16px;
	display: grid;
	gap: 2px;
	padding: 10px 14px;
	border-radius: 8px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 10px 26px -16px rgba(20, 22, 27, .5);
	font: 500 13.5px/1.3 var(--pio-display);
}
.pio-map__label.pio-map__label b { font-size: 15px; font-weight: 800; }
.pio-map__actions.pio-map__actions { position: absolute; left: 16px; bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.pio-btn--glass.pio-btn--glass { border-color: transparent; background: rgba(255, 255, 255, .9); color: var(--pio-ink); }
.pio-btn--glass.pio-btn--glass:hover { background: #fff; border-color: #fff; color: var(--pio-rust); }
.pio-map__hint.pio-map__hint { position: absolute; right: 14px; bottom: 16px; color: rgba(28, 29, 33, .55); font: 500 12px/1.2 var(--pio-display); }
.pio-map.pio-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pio-map.pio-map.is-loaded .pio-map__art,
.pio-map.pio-map.is-loaded .pio-map__label,
.pio-map.pio-map.is-loaded .pio-map__actions,
.pio-map.pio-map.is-loaded .pio-map__hint { display: none; }
@media (max-width: 640px) { .pio-map__hint.pio-map__hint { display: none; } }

/* bank account */
.pio-tile--bank.pio-tile--bank {
	--c-fg: #f4f1ea;
	--c-muted: #a5a7ae;
	--c-line: rgba(255, 255, 255, .14);
	border-color: transparent;
	background:
		radial-gradient(80% 70% at 100% 0%, rgba(219, 165, 98, .2), transparent 70%),
		var(--pio-night);
	color: var(--c-fg);
}
.pio-tile--bank.pio-tile--bank .pio-tile__h .pio-i { color: var(--pio-gold); }
.pio-bank__label.pio-bank__label { color: var(--c-muted); font: 700 11.5px/1 var(--pio-display); letter-spacing: .12em; text-transform: uppercase; }
.pio-bank__num.pio-bank__num {
	display: flex;
	flex-wrap: wrap;
	gap: .1em .42em;
	font: 750 clamp(1.25rem, 7cqi, 1.6rem)/1.2 var(--pio-display);
	font-stretch: 85%;
	font-variant-numeric: tabular-nums;
	letter-spacing: .01em;
}
.pio-bank__num.pio-bank__num span:first-child { color: var(--pio-gold); }
.pio-bank__to.pio-bank__to { color: var(--c-muted); font: 500 14px/1.35 var(--pio-display); }
.pio-copy--btn.pio-copy--btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	justify-self: start;
	padding: 12px 18px;
	border: 0;
	border-radius: 6px;
	background: var(--pio-gold);
	color: var(--pio-night);
	font: 750 15px/1 var(--pio-display);
	cursor: pointer;
	transition: background-color .25s, color .25s, transform .2s;
}
.pio-copy--btn.pio-copy--btn:hover { background: #e7b878; }
.pio-copy--btn.pio-copy--btn:active { transform: scale(.97); }
.pio-copy--btn.pio-copy--btn.is-done { background: #2f7a4b; color: #fff; }

/* partner sites */
.pio-partners.pio-partners { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 10px; list-style: none; }
.pio-partner.pio-partner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid var(--c-line);
	border-radius: 8px;
	transition: border-color .25s, background-color .25s, transform .3s var(--pio-ease);
}
.pio-partner.pio-partner:hover { border-color: var(--c-fg); background: var(--pio-mist); transform: translateY(-2px); }
.pio-partner__mono.pio-partner__mono {
	display: grid;
	place-items: center;
	width: 48px; height: 48px;
	border-radius: 10px;
	background: var(--pio-night);
	color: var(--pio-gold);
	font: 800 15px/1 var(--pio-display);
	letter-spacing: .04em;
}
.pio-partner__body.pio-partner__body { display: grid; gap: 2px; min-width: 0; font-family: var(--pio-display); }
.pio-partner__body.pio-partner__body b { font-size: 15.5px; font-weight: 750; line-height: 1.25; }
.pio-partner__body.pio-partner__body small { color: var(--c-muted); font-size: 13px; line-height: 1.35; }
.pio-partner__body.pio-partner__body em { color: var(--pio-rust); font-size: 12.5px; font-style: normal; font-weight: 650; }
.pio-partner.pio-partner > .pio-i { color: var(--c-muted); transition: transform .3s var(--pio-ease), color .3s; }
.pio-partner.pio-partner:hover > .pio-i { color: var(--c-fg); transform: translate(2px, -2px); }
.pio-social.pio-social { display: flex; flex-wrap: wrap; gap: 8px; }
.pio-social.pio-social a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font: 650 14px/1 var(--pio-display);
	transition: border-color .25s, color .25s;
}
.pio-social.pio-social a:hover { border-color: var(--c-fg); color: var(--pio-rust); }

/* ---------------------------------------------------------------- liturgy of the day */

.pio-liturgy.pio-liturgy { container-type: inline-size; container-name: lit; }
.pio-liturgy__card.pio-liturgy__card {
	--lit-edge: color-mix(in srgb, var(--lit) 82%, #1c1d21);
	position: relative;
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	border: 1px solid var(--c-line);
	border-radius: 8px;
	overflow: hidden;
	background:
		radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--lit) 14%, transparent), transparent 70%),
		var(--pio-paper);
	transition: background-color .6s;
}
.pio-liturgy__stole.pio-liturgy__stole {
	position: relative;
	z-index: 1;
	background-color: var(--lit);
	box-shadow:
		inset -1px 0 0 rgba(0, 0, 0, .1),
		6px 0 22px -8px color-mix(in srgb, var(--lit) 55%, rgba(20, 22, 27, .45));
	transition: background-color .6s var(--pio-ease), box-shadow .6s var(--pio-ease);
}
.pio-liturgy__panels.pio-liturgy__panels { display: grid; min-width: 0; }
.pio-liturgy__panel.pio-liturgy__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(16px, 2.6cqi, 28px);
	padding: clamp(18px, 3cqi, 32px) clamp(18px, 3.4cqi, 40px);
	animation: pio-up .55s var(--pio-ease) both;
}
@container lit (min-width: 760px) {
	.pio-liturgy__panel.pio-liturgy__panel.has-pod { grid-template-columns: minmax(0, 1fr) clamp(280px, 32%, 420px); }
}
.pio-liturgy__main.pio-liturgy__main { display: grid; gap: 20px; align-content: space-between; min-width: 0; }
.pio-liturgy__top.pio-liturgy__top { display: grid; gap: 12px; align-content: start; min-width: 0; }
.pio-liturgy__date.pio-liturgy__date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font-family: var(--pio-display); }
.pio-liturgy__wd.pio-liturgy__wd { color: var(--pio-rust); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pio-liturgy__date.pio-liturgy__date time { color: var(--c-muted); font-size: 15px; font-weight: 600; }
.pio-liturgy__title.pio-liturgy__title {
	font-size: clamp(1.7rem, 4.2cqi, 2.8rem) !important;
	font-weight: 800 !important;
	font-stretch: 80%;
	line-height: 1.02 !important;
	letter-spacing: var(--pio-track-l) !important;
	text-wrap: balance;
}
.pio-liturgy__meta.pio-liturgy__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--pio-display); }
.pio-liturgy__rank.pio-liturgy__rank { padding: 5px 12px; border-radius: 999px; background: var(--pio-ink); color: #fff; font-size: 13px; font-weight: 700; }
.pio-liturgy__color.pio-liturgy__color {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px 5px 6px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	color: var(--c-fg);
	font-size: 13px;
	font-weight: 650;
}
.pio-liturgy__color.pio-liturgy__color i { width: 16px; height: 16px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.pio-liturgy__notes.pio-liturgy__notes { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 0; padding: 0; list-style: none; }
.pio-liturgy__notes.pio-liturgy__notes li {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0;
	padding: 8px 14px;
	border-radius: 8px;
	background: var(--pio-mist);
	font: 650 15px/1.3 var(--pio-display);
}
.pio-liturgy__notes.pio-liturgy__notes span { color: var(--c-muted); font: 750 10.5px/1.2 var(--pio-display); letter-spacing: .12em; text-transform: uppercase; }
.pio-liturgy__notes.pio-liturgy__notes .is-parish { background: rgba(193, 78, 0, .09); }
.pio-liturgy__notes.pio-liturgy__notes .is-parish span { color: var(--pio-rust); }
.pio-liturgy__notes.pio-liturgy__notes .is-parish span::before { content: "✦ "; }
.pio-readings.pio-readings {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	background: var(--c-line);
}
.pio-readings__item.pio-readings__item {
	display: grid;
	flex: 1 1 150px;
	align-content: center;
	gap: 5px;
	padding: 13px 16px;
	background: var(--pio-paper);
}
.pio-readings__item.pio-readings__item dt { color: var(--c-muted); font: 700 11px/1.1 var(--pio-display); letter-spacing: .12em; text-transform: uppercase; }
.pio-readings__item.pio-readings__item dd { margin: 0; font: 750 clamp(1rem, 1.7cqi, 1.15rem)/1.2 var(--pio-display); font-variant-numeric: tabular-nums; }
.pio-readings__item.pio-readings__item.is-gospel { background: var(--pio-night); color: #f4f1ea; }
.pio-readings__item.pio-readings__item.is-gospel dt { color: var(--pio-gold); }
.pio-liturgy__empty.pio-liturgy__empty { color: var(--c-muted); font-style: italic; }

.pio-liturgy__week.pio-liturgy__week {
	display: grid;
	grid-template-columns: repeat(7, minmax(108px, 1fr));
	gap: 8px;
	margin-top: 12px;
	padding-bottom: 4px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.pio-lday.pio-lday {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "wd dot" "num num" "t t";
	align-items: center;
	gap: 4px 8px;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--c-line);
	border-radius: 8px;
	background: transparent;
	color: var(--c-fg);
	font-family: var(--pio-display);
	text-align: left;
	cursor: pointer;
	transition: border-color .25s, background-color .25s, box-shadow .25s, transform .25s var(--pio-ease);
}
.pio-lday.pio-lday:hover { border-color: var(--c-fg); transform: translateY(-2px); }
.pio-lday.pio-lday.is-active { border-color: var(--c-fg); background: var(--pio-paper); box-shadow: 0 12px 26px -18px rgba(20, 22, 27, .55); }
.pio-lday__wd.pio-lday__wd { grid-area: wd; color: var(--c-muted); font-size: 11.5px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.pio-lday__dot.pio-lday__dot { grid-area: dot; justify-self: end; width: 12px; height: 12px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2); }
.pio-lday__num.pio-lday__num { grid-area: num; font-size: 1.7rem; font-weight: 800; font-stretch: 80%; line-height: 1; font-variant-numeric: tabular-nums; }
.pio-lday.pio-lday.is-sunday .pio-lday__num { color: var(--pio-rust); }
.pio-lday__t.pio-lday__t {
	grid-area: t;
	color: var(--c-muted);
	font-size: 12.5px;
	font-weight: 550;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------------------------------------------------------------- section keyframes */

@keyframes pio-fill-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes pio-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes pio-kenburns { from { transform: scale(1.12) translate(1.5%, 1%); } to { transform: scale(1.02); } }
@keyframes pio-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes pio-drift { from { transform: translate(-6%, 4%); } to { transform: translate(8%, -6%); } }
@keyframes pio-float { from { transform: translateY(0); } to { transform: translateY(10px); } }
@keyframes pio-ring-fill { to { stroke-dashoffset: 0; } }
@keyframes pio-beacon { 0% { box-shadow: 0 0 0 0 rgba(193, 78, 0, .45); } 80%, 100% { box-shadow: 0 0 0 9px rgba(193, 78, 0, 0); } }
@keyframes pio-beacon-green { 0% { box-shadow: 0 0 0 0 rgba(47, 122, 75, .45); } 80%, 100% { box-shadow: 0 0 0 9px rgba(47, 122, 75, 0); } }
@keyframes pio-pin { 0%, 100% { transform: translate(-50%, -100%) rotate(-45deg); } 50% { transform: translate(-50%, -112%) rotate(-45deg); } }
@keyframes pio-map-drift { from { transform: scale(1.06) translate(0, 0); } to { transform: scale(1.1) translate(-1.5%, 1%); } }

@supports (animation-timeline: view()) {
	.pio-tile.pio-tile,
	.pio-lday.pio-lday {
		animation: pio-in linear both;
		animation-timeline: view();
		animation-range: entry 0% entry 55%;
	}
}


/* ---------------------------------------------------------------- liturgy: Gospel reflection podcast */

.pio-pod.pio-pod {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
	padding: 18px;
	border-radius: 12px;
	background:
		radial-gradient(90% 80% at 100% 0%, rgba(219, 165, 98, .22), transparent 70%),
		var(--pio-night);
	color: #f4f1ea;
	box-shadow: 0 18px 36px -24px rgba(20, 22, 27, .7);
}
.pio-pod__head.pio-pod__head { display: grid; gap: 8px; }
.pio-pod__label.pio-pod__label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--pio-gold);
	font: 700 11.5px/1.2 var(--pio-display);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.pio-pod__label.pio-pod__label .pio-i { width: 16px; height: 16px; }
.pio-pod__sigla.pio-pod__sigla { margin-top: 4px; font: 800 clamp(1.7rem, 3.4cqi, 2.4rem)/1 var(--pio-display); font-stretch: 80%; letter-spacing: var(--pio-track-l); font-variant-numeric: tabular-nums; }
.pio-pod__sub.pio-pod__sub { max-width: 34ch; color: rgba(244, 241, 234, .7); font-size: 14.5px; line-height: 1.45; }
.pio-pod__player.pio-pod__player { overflow: hidden; border-radius: 12px; background: #282828; }
.pio-pod__player.pio-pod__player iframe { display: block; width: 100%; height: 152px; border: 0; }
.pio-pod__link.pio-pod__link {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	color: #f4f1ea;
	transition: background-color .25s;
}
.pio-pod__link.pio-pod__link:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.pio-pod__play.pio-pod__play {
	position: relative;
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #1db954;
	transition: transform .25s var(--pio-ease);
}
.pio-pod__play.pio-pod__play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	border-left: 12px solid #0b1a10;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	transform: translate(-50%, -50%);
}
.pio-pod__link.pio-pod__link:hover .pio-pod__play { transform: scale(1.06); }
.pio-pod__ep.pio-pod__ep { display: grid; gap: 4px; min-width: 0; font: 700 15px/1.3 var(--pio-display); }
.pio-pod__ep.pio-pod__ep small { color: rgba(244, 241, 234, .65); font-size: 12.5px; font-weight: 600; }

/* ---------------------------------------------------------------- calendar: own search and views (TEC bar hidden) */

.pio-calbar.pio-calbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}
.pio-calbar__search.pio-calbar__search { flex: 1 1 340px; max-width: 560px; }
.pio-calbar__views.pio-calbar__views { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--c-line); border-radius: 999px; }
.pio-calbar__views.pio-calbar__views a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--c-muted);
	font: 650 14px/1 var(--pio-display);
	transition: background-color .25s, color .25s;
}
.pio-calbar__views.pio-calbar__views a .pio-i { width: 16px; height: 16px; }
/* !important: Avada colours visited links on TEC pages (.fusion-body .tribe-common a:visited). */
.pio-calbar__views.pio-calbar__views a,
.pio-calbar__views.pio-calbar__views a:visited { color: var(--c-muted) !important; }
.pio-calbar__views.pio-calbar__views a:hover { background: var(--pio-mist); color: var(--pio-ink) !important; }
.pio-calbar__views.pio-calbar__views a.is-active,
.pio-calbar__views.pio-calbar__views a.is-active:visited,
.pio-calbar__views.pio-calbar__views a.is-active:hover,
.pio-calbar__views.pio-calbar__views a.is-active:focus { background: var(--pio-ink); color: #fff !important; }
.pio-calbar__result.pio-calbar__result { flex-basis: 100%; color: var(--c-muted); font: 500 14.5px/1.4 var(--pio-display); }
.pio-calbar__result.pio-calbar__result a { color: var(--pio-rust); text-decoration: underline; }

/* TEC's own bar, date navigation and subscribe button: replaced by the hero above. */
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-c-events-bar,
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-c-top-bar,
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-header__events-bar,
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-header__top-bar,
.pio-tec.pio-tec:not(.pio-tec-subscribe) .tribe-events-c-subscribe-dropdown__container,
.pio-tec.pio-tec:not(.pio-tec-subscribe) .tribe-events-c-ical { display: none !important; }
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-header { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-c-nav__list {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: 28px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--pio-line);
	list-style: none;
}
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-c-nav__prev,
.pio-tec.pio-tec .tribe-events-view--list .tribe-events-c-nav__next {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 18px;
	border: 1px solid var(--pio-line);
	border-radius: var(--pio-radius);
	background: transparent;
	color: var(--pio-ink);
	font: 650 15px/1 var(--pio-display);
	text-decoration: none;
	transition: background-color .25s, color .25s, border-color .25s;
}
.pio-tec.pio-tec .tribe-events-view--list a.tribe-events-c-nav__prev:hover,
.pio-tec.pio-tec .tribe-events-view--list a.tribe-events-c-nav__next:hover { background: var(--pio-ink); border-color: var(--pio-ink); color: #fff; }
.pio-tec.pio-tec .tribe-events-view--list button.tribe-events-c-nav__prev[disabled],
.pio-tec.pio-tec .tribe-events-view--list button.tribe-events-c-nav__next[disabled] { visibility: hidden; }

/* ---------------------------------------------------------------- single news post */

.pio-post.pio-post { display: grid; gap: clamp(18px, 2.6vw, 30px); }
.pio-post__cat.pio-post__cat { color: var(--cat, var(--pio-rust)) !important; }
.pio-post__head.pio-post__head { display: grid; gap: 14px; max-width: 980px; }
.pio-post__title.pio-post__title {
	font-size: clamp(2.1rem, 5.2vw, 4.4rem) !important;
	font-weight: 800 !important;
	font-stretch: 78%;
	line-height: .98 !important;
	letter-spacing: var(--pio-track-xl) !important;
	animation: pio-rise .9s var(--pio-ease) both;
}
.pio-post__lede.pio-post__lede { max-width: 62ch; color: var(--c-muted); font-size: 1.28rem; line-height: 1.5; font-style: italic; }
.pio-post__hero.pio-post__hero { border-radius: 8px; animation: pio-unveil 1.2s .1s var(--pio-ease) both; }
.pio-post__grid.pio-post__grid {
	display: grid;
	grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
}
.pio-post__rail.pio-post__rail {
	position: sticky;
	top: calc(var(--pio-top, 0px) + 24px);
	transition: top .3s var(--pio-ease);
	display: grid;
	gap: 18px;
	padding-top: 6px;
	font-family: var(--pio-display);
}
.pio-post__datetile.pio-post__datetile { display: grid; gap: 2px; padding-bottom: 16px; border-bottom: 1px solid var(--c-line); }
.pio-post__day.pio-post__day { font-size: 4.2rem; font-weight: 800; font-stretch: 75%; line-height: .85; letter-spacing: var(--pio-track-xl); color: var(--cat, var(--pio-rust)); }
.pio-post__month.pio-post__month { color: var(--c-muted); font-size: 15px; font-weight: 650; }
.pio-post__facts.pio-post__facts { display: grid; gap: 8px; list-style: none; }
.pio-post__facts.pio-post__facts li { display: flex; align-items: center; gap: 8px; color: var(--c-muted); font-size: 14.5px; font-weight: 600; }
.pio-post__facts.pio-post__facts .pio-i { width: 16px; height: 16px; color: var(--pio-rust); }
.pio-post__share.pio-post__share { display: grid; gap: 8px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.pio-post__label.pio-post__label { color: var(--c-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pio-share.pio-share {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: start;
	padding: 9px 14px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: transparent;
	color: var(--c-fg);
	font: 650 14px/1 var(--pio-display);
	cursor: pointer;
	transition: border-color .25s, color .25s, background-color .25s;
}
.pio-share.pio-share .pio-i { width: 16px; height: 16px; }
.pio-share.pio-share:hover { border-color: var(--c-fg); color: var(--pio-rust); }
.pio-share.pio-share.is-done { border-color: #2f7a4b; background: #2f7a4b; color: #fff; }
.pio-post__body.pio-post__body { min-width: 0; }
.pio-post__tags.pio-post__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2em !important; }
.pio-post__tags.pio-post__tags a { padding: 6px 12px; border-radius: 999px; background: var(--pio-mist); color: var(--c-fg); font: 600 14px/1 var(--pio-display); text-decoration: none !important; }
.pio-post__tags.pio-post__tags a:hover { color: var(--pio-rust); }
.pio-post__related.pio-post__related { display: grid; gap: 14px; }
.pio-post__comments.pio-post__comments { max-width: 760px; margin: 40px auto 0; }
@media (max-width: 900px) {
	.pio-post__grid.pio-post__grid { grid-template-columns: minmax(0, 1fr); }
	.pio-post__rail.pio-post__rail {
		position: static;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 10px 20px;
		padding: 0 0 16px;
		border-bottom: 1px solid var(--c-line);
	}
	.pio-post__datetile.pio-post__datetile { padding: 0; border: 0; }
	.pio-post__day.pio-post__day { font-size: 3rem; }
	.pio-post__share.pio-post__share { grid-column: 1 / -1; grid-auto-flow: column; justify-content: start; align-items: center; padding-top: 12px; }
}

/* Longer reading: text keeps a comfortable measure, galleries use the full column. */
.pio-prose.pio-prose :where(p, ul, ol, blockquote, figure, h2, h3, h4, .wp-block-image, .foogallery) + :where(p, ul, ol, blockquote, figure, h2, h3, h4, .wp-block-image, .foogallery) { margin-top: 1em; }
.pio-prose.pio-prose :where(div) > :where(p, ul, ol, blockquote, h2, h3, h4) { max-width: 72ch; }
.pio-prose.pio-prose img { max-width: 100%; height: auto; }
.pio-prose.pio-prose > :where(p, h2, h3, h4, ul, ol, blockquote) { max-width: 72ch; }
.pio-prose.pio-prose h2,
.pio-prose.pio-prose h3,
.pio-prose.pio-prose h4 { margin-top: 1.6em !important; font-family: var(--pio-display); font-weight: 750; letter-spacing: var(--pio-track-l); }
.pio-prose.pio-prose h2 { font-size: clamp(1.5rem, 2.6vw, 1.9rem) !important; }
.pio-prose.pio-prose h3 { font-size: clamp(1.25rem, 2.2vw, 1.5rem) !important; }
.pio-prose.pio-prose ul,
.pio-prose.pio-prose ol { padding-left: 1.3em !important; }
.pio-prose.pio-prose li { margin: .35em 0; }
.pio-prose.pio-prose blockquote {
	margin: 1.6em 0 !important;
	padding: .2em 0 .2em 1.2em !important;
	border-left: 3px solid var(--pio-rust) !important;
	font-size: 1.25rem;
	font-style: italic;
}
.pio-prose.pio-prose figure { margin: 1.6em 0 !important; }
.pio-prose.pio-prose figcaption { margin-top: 8px; color: var(--c-muted); font: 500 13.5px/1.4 var(--pio-display); }
.pio-prose.pio-prose hr { margin: 2em 0; border: 0; border-top: 1px solid var(--c-line); }

/* ---------------------------------------------------------------- motion */

@keyframes pio-rise { from { transform: translateY(.35em); opacity: 0; clip-path: inset(0 0 100% 0); } to { transform: none; opacity: 1; clip-path: inset(0 0 -10% 0); } }
@keyframes pio-unveil { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes pio-bar { from { transform: scaleX(0); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pio-pop { from { transform: scale(0); } to { transform: none; } }
@keyframes pio-grow { from { transform: scaleX(0); } }
@keyframes pio-fill { from { width: 0; } to { width: 100%; } }
@keyframes pio-ring { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(1.8); opacity: 0; } }
@keyframes pio-tick { 0% { transform: translateY(-35%); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes pio-ticket { from { transform: translateY(24px) rotate(-2.5deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pio-flash { 0%, 100% { background: transparent; } 20%, 60% { background: rgba(219, 165, 98, .22); } }
@keyframes pio-in { from { transform: translateY(18px); } to { transform: none; } }
@keyframes pio-zoom { from { scale: 1.14; } to { scale: 1; } }

/* Scroll-driven reveal: progressive enhancement, content is visible without it. */
@supports (animation-timeline: view()) {
	.pio-story.pio-story:not(.pio-story--lead),
	.pio-ev.pio-ev,
	.pio-next.pio-next,
	.pio-now__item.pio-now__item,
	.pio-events__more.pio-events__more {
		animation: pio-in linear both;
		animation-timeline: view();
		animation-range: entry 0% entry 55%;
	}
	.pio-story.pio-story:not(.pio-story--lead) .pio-frame__img,
	.pio-next.pio-next .pio-frame__img {
		animation: pio-zoom linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 45%;
	}
}

/* View transitions for the category filter. */
::view-transition-group(*) { animation-duration: .45s; animation-timing-function: cubic-bezier(.2, .7, .1, 1); }

@media (prefers-reduced-motion: reduce) {
	.pio.pio *,
	.pio.pio *::before,
	.pio.pio *::after {
		animation: none !important;
		transition: none !important;
	}
	.pio-frame.pio-frame > img { transform: none !important; }
}

/* ---------------------------------------------------------------- calendar pages (list, month, day) */

.pio-cal-page.pio-cal-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 3vw, 36px); min-width: 0; }
.pio-cal-page.pio-cal-page .pio-archive-hero { margin-bottom: 0; }
.pio-cal-page.pio-cal-page .pio-calbar__cats { margin-top: -4px; }
.pio-cal-page.pio-cal-page a:visited { color: inherit; }
@media (max-width: 700px) {
	/* Phones: no day box, straight to the calendar (as on the homepage). */
	.pio-cal-page.pio-cal-page .pio-mast__day { display: none; }
	.pio-cal-page.pio-cal-page .pio-mast__top { padding-bottom: 0; border-bottom: 0; }
}

.pio-calbar__sub.pio-calbar__sub { position: relative; }
.pio-calbar__sub.pio-calbar__sub summary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 16px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	color: var(--c-fg);
	font: 650 14px/1 var(--pio-display);
	list-style: none;
	cursor: pointer;
}
.pio-calbar__sub.pio-calbar__sub summary::-webkit-details-marker { display: none; }
.pio-calbar__sub.pio-calbar__sub summary .pio-i { width: 16px; height: 16px; }
.pio-calbar__sub.pio-calbar__sub[open] summary { border-color: var(--pio-ink); }
.pio-calbar__sub.pio-calbar__sub ul {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 30;
	min-width: 230px;
	padding: 6px;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	background: var(--pio-paper);
	box-shadow: 0 18px 40px -18px rgba(20, 22, 27, .35);
	list-style: none;
}
.pio-calbar__sub.pio-calbar__sub a { display: block; padding: 10px 12px; border-radius: 6px; font: 600 14px/1.2 var(--pio-display); }
.pio-calbar__sub.pio-calbar__sub a:hover { background: var(--pio-mist); color: var(--pio-rust); }

/* heading shared by month and day */
.pio-cal__head.pio-cal__head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 24px; min-width: 0; }
.pio-cal__title.pio-cal__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 .28em;
	margin: 0 !important;
	font: 800 clamp(2.3rem, 5.4vw, 4.2rem)/.92 var(--pio-display) !important;
	font-stretch: 75% !important;
	letter-spacing: var(--pio-track-xl) !important;
}
.pio-cal__wd.pio-cal__wd { flex-basis: 100%; margin-bottom: 10px; color: var(--pio-rust); font: 800 13px/1 var(--pio-display); font-stretch: 100%; letter-spacing: .14em; text-transform: uppercase; }
.pio-cal__sum.pio-cal__sum { padding-bottom: .35em; color: var(--c-muted); font: 650 14px/1 var(--pio-display); letter-spacing: .02em; }
.pio-cal__nav.pio-cal__nav { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.pio-cal__step.pio-cal__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--pio-paper);
	color: var(--c-fg) !important;
	font: 650 14px/1 var(--pio-display);
	transition: background-color .25s, border-color .25s, color .25s;
}
.pio-cal__step.pio-cal__step .pio-i { width: 16px; height: 16px; }
.pio-cal__step.pio-cal__step:hover { border-color: var(--pio-ink); background: var(--pio-ink); color: #fff !important; }
.pio-cal__step.pio-cal__step.is-today { border-color: transparent; background: var(--c-chip); color: var(--pio-rust) !important; }
.pio-cal__step.pio-cal__step.is-today:hover { background: var(--pio-rust); color: #fff !important; }

/* month grid */
.pio-cal.pio-cal {
	--pio-cal-bar: 25px;
	--pio-cal-min: 70px;
	container: cal / inline-size;
	display: grid;
	gap: 18px;
	min-width: 0;
}
.pio-cal__grid.pio-cal__grid { position: relative; min-width: 0; border: 1px solid var(--c-line); border-radius: 12px; background: var(--pio-paper); }
.pio-cal__wds.pio-cal__wds {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	border-bottom: 1px solid var(--c-line);
	border-radius: 12px 12px 0 0;
	background: var(--pio-mist);
}
.pio-cal__wds.pio-cal__wds span { padding: 11px 12px; color: var(--c-muted); font: 750 11.5px/1 var(--pio-display); letter-spacing: .12em; text-transform: uppercase; }
.pio-cal__wds.pio-cal__wds span.is-sunday { color: var(--pio-rust); }
.pio-cal__wds.pio-cal__wds abbr { border: 0; text-decoration: none; cursor: default; }
.pio-cal__week.pio-cal__week {
	position: relative;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	row-gap: 3px;
	padding-bottom: 8px;
}
.pio-cal__week.pio-cal__week + .pio-cal__week { border-top: 1px solid var(--c-line); }
.pio-cal__week.pio-cal__week:hover,
.pio-cal__week.pio-cal__week:focus-within { z-index: 5; }
.pio-cal__cell.pio-cal__cell { grid-row: 1 / -1; margin-bottom: -8px; border-left: 1px solid var(--c-line); transition: background-color .25s; }
.pio-cal__cell.pio-cal__cell.is-c1 { border-left: 0; }
.pio-cal__cell.pio-cal__cell.is-sunday { background: rgba(193, 78, 0, .025); }
.pio-cal__cell.pio-cal__cell.is-out { background: repeating-linear-gradient(135deg, transparent 0 7px, rgba(28, 29, 33, .025) 7px 8px); }
.pio-cal__cell.pio-cal__cell.is-today { background: rgba(193, 78, 0, .06); box-shadow: inset 0 3px 0 var(--pio-rust); }
.pio-cal__week.pio-cal__week:last-child .pio-cal__cell.is-c1 { border-bottom-left-radius: 12px; }
.pio-cal__week.pio-cal__week:last-child .pio-cal__cell.is-c7 { border-bottom-right-radius: 12px; }
.pio-cal__dhead.pio-cal__dhead {
	position: relative;
	z-index: 1;
	grid-row: 1;
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	padding: 8px 10px 4px 8px;
}
.pio-cal__num.pio-cal__num {
	display: inline-grid;
	flex: none;
	place-items: center;
	min-width: 30px;
	height: 30px;
	border-radius: 50%;
	color: var(--c-fg) !important;
	font: 750 15px/1 var(--pio-display);
	font-variant-numeric: tabular-nums;
	transition: background-color .2s, color .2s;
}
a.pio-cal__num:hover { background: var(--pio-ink); color: #fff !important; }
.pio-cal__dhead.pio-cal__dhead.is-sunday .pio-cal__num { color: var(--pio-rust) !important; }
.pio-cal__dhead.pio-cal__dhead.is-out .pio-cal__num { color: var(--c-muted) !important; opacity: .55; }
.pio-cal__dhead.pio-cal__dhead.is-today .pio-cal__num { background: var(--pio-rust); color: #fff !important; }
.pio-cal__lit.pio-cal__lit { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.pio-cal__feast.pio-cal__feast { min-width: 0; overflow: hidden; color: var(--c-muted); font: 600 11.5px/1.2 var(--pio-display); text-overflow: ellipsis; white-space: nowrap; }
.pio-cal__dots.pio-cal__dots,
.pio-cal__tap.pio-cal__tap { display: none; }
.pio-cal__items.pio-cal__items {
	position: relative;
	z-index: 1;
	display: grid;
	align-content: start;
	gap: 3px;
	min-width: 0;
	margin: 0 !important;
	padding: 0 6px !important;
	list-style: none !important;
}
.pio-cal__items.pio-cal__items li { margin: 0; padding: 0; min-width: 0; }
.pio-cal__items.pio-cal__items li::before { content: none !important; }
.pio-cal__ev.pio-cal__ev {
	position: relative;
	display: flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
	padding: 5px 7px;
	border-left: 3px solid var(--cat);
	border-radius: 4px 6px 6px 4px;
	background: color-mix(in srgb, var(--cat) 9%, var(--pio-paper));
	color: var(--c-fg) !important;
	font: 600 12.5px/1.25 var(--pio-display);
	transition: background-color .2s;
}
.pio-cal__ev.pio-cal__ev:hover,
.pio-cal__ev.pio-cal__ev:focus-visible { background: color-mix(in srgb, var(--cat) 18%, var(--pio-paper)); }
.pio-cal__ev.pio-cal__ev time { flex: none; color: var(--cat); font-weight: 800; font-variant-numeric: tabular-nums; }
.pio-cal__ev.pio-cal__ev.is-allday { border-left-width: 6px; }
.pio-cal.pio-cal .pio-cal__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pio-cal.pio-cal .is-past { opacity: .5; }
.pio-cal__more.pio-cal__more { display: inline-block; padding: 2px 7px; color: var(--pio-rust) !important; font: 750 12px/1.4 var(--pio-display); }
.pio-cal__more.pio-cal__more:hover { text-decoration: underline; }
.pio-cal__bar.pio-cal__bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-width: 0;
	height: calc(var(--pio-cal-bar) - 3px);
	margin: 0 5px;
	padding: 0 10px;
	border-radius: 6px;
	background: var(--cat);
	color: #fff !important;
	font: 700 12px/1 var(--pio-display);
	box-shadow: 0 6px 14px -10px var(--cat);
	transition: filter .2s, transform .2s var(--pio-ease);
}
.pio-cal__bar.pio-cal__bar:hover,
.pio-cal__bar.pio-cal__bar:focus-visible { filter: brightness(1.1); }
.pio-cal__bar.pio-cal__bar.is-left { margin-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.pio-cal__bar.pio-cal__bar.is-right { margin-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.pio-cal__bar.pio-cal__bar.is-left::before { content: "←"; margin-right: 6px; opacity: .7; }
.pio-cal__bar.pio-cal__bar.is-right::after { content: "→"; margin-left: auto; padding-left: 6px; opacity: .7; }

/* hover card */
.pio-cal__pop.pio-cal__pop {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 40;
	display: grid;
	gap: 5px;
	width: 270px;
	padding: 12px;
	border-radius: 10px;
	background: var(--pio-night);
	color: #f4f1ea;
	font-family: var(--pio-display);
	text-align: left;
	white-space: normal;
	box-shadow: 0 22px 44px -18px rgba(20, 22, 27, .6);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .18s, transform .18s var(--pio-ease), visibility .18s;
	pointer-events: none;
}
.pio-cal__pop.pio-cal__pop.is-right { right: 0; left: auto; }
.pio-cal__ev.pio-cal__ev:hover .pio-cal__pop,
.pio-cal__ev.pio-cal__ev:focus-visible .pio-cal__pop,
.pio-cal__bar.pio-cal__bar:hover .pio-cal__pop,
.pio-cal__bar.pio-cal__bar:focus-visible .pio-cal__pop { opacity: 1; visibility: visible; transform: none; }
.pio-cal__pop-img.pio-cal__pop-img { display: block; overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: 5px; border-radius: 6px; background: var(--pio-night-2); }
.pio-cal__pop-img.pio-cal__pop-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pio-cal__pop-cat.pio-cal__pop-cat { color: var(--pio-gold); font: 750 10.5px/1.2 var(--pio-display); letter-spacing: .12em; text-transform: uppercase; }
.pio-cal__pop-t.pio-cal__pop-t { font: 750 15px/1.25 var(--pio-display); }
.pio-cal__pop-when.pio-cal__pop-when,
.pio-cal__pop-where.pio-cal__pop-where { color: rgba(244, 241, 234, .72); font: 550 13px/1.35 var(--pio-display); }
@media (hover: none) { .pio-cal__pop.pio-cal__pop { display: none; } }

.pio-cal__agenda.pio-cal__agenda { display: none; }

/* narrow: compact month + agenda */
@container cal (max-width: 719px) {
	.pio-cal__items.pio-cal__items,
	.pio-cal__bar.pio-cal__bar,
	.pio-cal__feast.pio-cal__feast { display: none; }
	.pio-cal__week.pio-cal__week { grid-template-rows: auto !important; padding-bottom: 0; }
	.pio-cal__cell.pio-cal__cell { margin-bottom: 0; }
	.pio-cal__dhead.pio-cal__dhead { flex-direction: column; gap: 5px; min-height: 58px; padding: 7px 2px 8px; }
	.pio-cal__num.pio-cal__num { min-width: 30px; height: 30px; font-size: 14px; }
	.pio-cal__lit.pio-cal__lit { position: absolute; top: 6px; right: 6px; width: 6px; height: 6px; }
	.pio-cal__dots.pio-cal__dots { display: flex; gap: 3px; }
	.pio-cal__dots.pio-cal__dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--cat); }
	.pio-cal__tap.pio-cal__tap { position: absolute; inset: 0; z-index: 2; display: block; }
	.pio-cal__wds.pio-cal__wds span { padding: 9px 2px; font-size: 10.5px; letter-spacing: .06em; text-align: center; }
	.pio-cal__nav.pio-cal__nav { width: 100%; margin-left: 0; }
	.pio-cal__step.pio-cal__step { flex: 1 1 auto; }
	.pio-cal__agenda.pio-cal__agenda { display: grid; gap: 16px; }
}
.pio-cal__aday.pio-cal__aday {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--c-line);
	scroll-margin-top: calc(var(--pio-top, 0px) + 16px);
}
.pio-cal__aday.pio-cal__aday:target .pio-cal__adate b { color: var(--pio-rust); }
.pio-cal__adate.pio-cal__adate { display: grid; align-content: start; gap: 4px; font-family: var(--pio-display); }
.pio-cal__adate.pio-cal__adate b { font-size: 2rem; font-weight: 800; font-stretch: 80%; line-height: 1; transition: color .3s; }
.pio-cal__adate.pio-cal__adate span { color: var(--c-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pio-cal__adate.pio-cal__adate.is-sunday b { color: var(--pio-rust); }
.pio-cal__aday.pio-cal__aday ul { display: grid; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.pio-cal__aday.pio-cal__aday li { margin: 0; padding: 0; }
.pio-cal__aday.pio-cal__aday li::before { content: none !important; }
.pio-cal__arow.pio-cal__arow {
	display: grid;
	gap: 3px;
	padding: 10px 12px;
	border-left: 3px solid var(--cat);
	border-radius: 4px 8px 8px 4px;
	background: color-mix(in srgb, var(--cat) 8%, var(--pio-paper));
	color: var(--c-fg) !important;
	font-family: var(--pio-display);
}
.pio-cal__atime.pio-cal__atime { color: var(--cat); font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.pio-cal__arow.pio-cal__arow .pio-cal__t { overflow: visible; font-size: 15.5px; font-weight: 700; line-height: 1.3; white-space: normal; }
.pio-cal__arow.pio-cal__arow small { color: var(--c-muted); font-size: 12.5px; }

/* list & day */
.pio-cal-list.pio-cal-list,
.pio-cal-day.pio-cal-day { display: grid; gap: 14px; min-width: 0; }
.pio-cal-list.pio-cal-list .pio-month { margin-bottom: 0 !important; }
.pio-cal-list__rows.pio-cal-list__rows { display: grid; min-width: 0; }
.pio-cal-note.pio-cal-note { color: var(--c-muted); font: 550 15px/1.4 var(--pio-display); }
.pio-cal-note.pio-cal-note a,
.pio-cal-empty__text.pio-cal-empty__text a { color: var(--pio-rust) !important; text-decoration: underline; text-underline-offset: 3px; }
.pio-cal-lit.pio-cal-lit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: start;
	padding: 8px 16px 8px 10px;
	border-radius: 999px;
	background: var(--pio-mist);
	font: 600 14px/1.3 var(--pio-display);
}
.pio-cal-lit.pio-cal-lit i { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.pio-cal-empty.pio-cal-empty {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: clamp(28px, 5vw, 56px) 20px;
	border: 1px dashed var(--c-line);
	border-radius: 12px;
	background: var(--pio-mist);
	text-align: center;
}
.pio-cal-empty--inline.pio-cal-empty--inline {
	grid-template-columns: auto minmax(0, 1fr);
	justify-items: start;
	align-items: center;
	gap: 2px 16px;
	padding: 16px 20px;
	text-align: left;
}
.pio-cal-empty--inline.pio-cal-empty--inline .pio-cal-empty__icon { grid-row: span 2; }
.pio-cal-empty__icon.pio-cal-empty__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--pio-paper); color: var(--pio-rust); }
.pio-cal-empty__icon.pio-cal-empty__icon .pio-i { width: 22px; height: 22px; }
.pio-cal-empty__title.pio-cal-empty__title { font: 750 1.2rem/1.3 var(--pio-display); }
.pio-cal-empty__text.pio-cal-empty__text { color: var(--c-muted); font: 500 15px/1.5 var(--pio-display); }
.pio-cal-more.pio-cal-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding-top: 8px; }

/* ---------------------------------------------------------------- single views: width */

/* "Site Width" option: never wider than Avada's site width, even inside a 100% width container or layout. */
.pio-w-site.pio-w-site { width: 100%; max-width: var(--pio-max, var(--site_width, 1200px)); margin-inline: auto; }
.pio-ticket.pio-ticket.is-unstuck,
.pio-post__rail.pio-post__rail.is-unstuck { position: relative; top: auto; }
.pio-single.pio-single,
.pio-post.pio-post { scroll-margin-top: calc(var(--pio-top, 0px) + 16px); }

/* ---------------------------------------------------------------- news archive: category / tag view */

.pio-archive--term.pio-archive--term { --c-accent: var(--cat); }
.pio-term.pio-term {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	min-width: 0;
	padding-bottom: 22px;
}
/* Ribbon in the category colour fading into the hairline. */
.pio-term.pio-term::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--cat) 0 min(28%, 320px), var(--c-line) min(28%, 320px));
	transform-origin: left;
	animation: pio-fill-x 1s .15s var(--pio-ease) both;
}
.pio-term__top.pio-term__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 12px 40px;
}
.pio-term__title.pio-term__title { display: grid; gap: 10px; min-width: 0; }
.pio-term__kicker.pio-term__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--cat);
	font: 800 14px/1 var(--pio-display);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.pio-term__kicker.pio-term__kicker i { width: 11px; height: 11px; border-radius: 3px; background: var(--cat); }
.pio-term__name.pio-term__name {
	display: block;
	overflow-wrap: anywhere;
	font-size: clamp(3rem, 8vw, 7rem);
	font-weight: 800;
	font-stretch: 75%;
	line-height: .86;
	letter-spacing: var(--pio-track-xl);
	animation: pio-up .7s var(--pio-ease) both;
}
.pio-term__stat.pio-term__stat { display: flex; align-items: flex-end; gap: 12px; padding-bottom: .4em; font-family: var(--pio-display); }
.pio-term__stat.pio-term__stat b {
	color: transparent;
	font-size: clamp(3rem, 6vw, 5.4rem);
	font-weight: 800;
	font-stretch: 75%;
	line-height: .8;
	font-variant-numeric: tabular-nums;
	-webkit-text-stroke: 1.5px var(--cat);
}
.pio-term__stat.pio-term__stat span { display: grid; gap: 3px; color: var(--c-fg); font-size: 14px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.pio-term__stat.pio-term__stat small { color: var(--c-muted); font-size: 12.5px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.pio-term__desc.pio-term__desc { max-width: 68ch; color: var(--c-muted); font-size: 1.15rem; line-height: 1.6; }
.pio-term__desc.pio-term__desc p + p { margin-top: .6em; }
.pio-term__tools.pio-term__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; min-width: 0; }
.pio-term__tools.pio-term__tools .pio-mast__bar { flex: 1 1 420px; min-width: 0; margin: 0; padding: 0; border: 0; }
.pio-term__tools.pio-term__tools .pio-search { flex: 0 1 320px; min-width: 0; }
.pio-archive--term.pio-archive--term .pio-chip.is-active { border-color: var(--cat); background: var(--cat); color: #fff; }
.pio-archive--term.pio-archive--term .pio-chip.is-active::before { background: #fff; }
@media (max-width: 700px) {
	.pio-term__top.pio-term__top { grid-template-columns: minmax(0, 1fr); }
	.pio-term__stat.pio-term__stat { padding-bottom: 0; }
	.pio-term__stat.pio-term__stat span { grid-auto-flow: column; justify-content: start; align-items: baseline; gap: 10px; }
	.pio-term__tools.pio-term__tools .pio-search { flex-basis: 100%; }
}
