/*
Theme Name: PSC Official Theme
Theme URI: https://pensacolastate.edu/
Update URI: https://webhub.pensacolastate.edu/
Author: Pensacola State College Marketing & Web
Author URI: https://pensacolastate.edu/
Description: A native, accessible WordPress block theme built for the long-term Pensacola State College web system.
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.6.38
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: psc-permanent-theme
Tags: block-patterns, block-styles, custom-colors, custom-logo, editor-style, full-site-editing, wide-blocks
*/

/* --------------------------------------------------------------------------
   Foundation
   -------------------------------------------------------------------------- */

/* Rubik registration, local font files, and default assignments live in
   theme.json so WordPress can apply and override them through Global Styles. */

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* WordPress applies the body, heading, navigation, and block font families from
   theme.json. Do not restate those choices here: generated Global Styles and
   saved block settings must remain authoritative. */

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

/* Prevent long links and file names from escaping content areas. */
p,
li,
td,
th,
figcaption {
	overflow-wrap: anywhere;
}

/* Match migrated/classic WordPress captions to the native caption settings in
   theme.json. Modern block captions continue to use Global Styles. */
.wp-caption-text,
.gallery-caption {
	color: var(--wp--preset--color--slate, #4a5568);
	font-size: 0.8125rem;
	line-height: 1.45;
	margin-block-start: 0.5rem;
}

/* --------------------------------------------------------------------------
   Accessibility
   -------------------------------------------------------------------------- */

.psc-skip-link {
	background: var(--psc-brand-accent, #f3d03e);
	color: var(--psc-brand-accent-text, #00205c);
	font-weight: 800;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: fixed;
	top: -10rem;
	z-index: 100000;
}

.psc-skip-link:focus {
	top: 1rem;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--custom--psc--semantic--focus, var(--wp--preset--color--brand-highlight, #2a9fdc));
	outline-offset: 3px;
}

.psc-visually-hidden,
.has-custom-logo .psc-site-brand .wp-block-site-title {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* --------------------------------------------------------------------------
   Header and navigation
   -------------------------------------------------------------------------- */

/* The editable full Header remains in normal page flow. The compact scroll-state
   header is rendered separately on the front end and becomes visible only after
   the full Header leaves the viewport. */
.psc-floating-header-shell {
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: var(--psc-admin-offset, var(--wp-admin--admin-bar--height, 0px));
	transform: translateY(-110%);
	transition: opacity 160ms ease, transform 180ms ease, visibility 180ms step-end;
	visibility: hidden;
	z-index: 1000;
}

.psc-floating-header-shell.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: none;
	transition: opacity 160ms ease, transform 180ms ease;
	visibility: visible;
}

.psc-site-header--floating-minimal {
	box-shadow: 0 4px 18px rgba(0, 32, 92, 0.14);
}

.psc-site-header--floating-minimal .psc-floating-minimal-row,
.psc-site-header--floating-minimal .psc-primary-nav-shell--minimal {
	height: 68px;
	min-height: 68px;
}

.psc-site-header--floating-minimal .psc-brand-lockup__text {
	display: flex;
}

.psc-site-header--floating-minimal .psc-brand-lockup__logo img {
	max-height: 44px;
	max-width: min(220px, 34vw);
}

.psc-site-header--floating-minimal .psc-primary-navigation .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	font-size: 0.95rem;
	min-height: 44px;
}

.psc-site-header--floating-minimal .psc-minimal-nav-tools {
	gap: 0.5rem;
}

.psc-minimal-nav-tools {
	margin-left: auto;
}

.psc-primary-nav-shell > .wp-block-search,
.psc-minimal-nav-tools > .wp-block-search {
	min-width: 44px;
}

.psc-primary-nav-shell .wp-block-search__button,
.psc-minimal-nav-tools .wp-block-search__button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

.psc-primary-nav-shell .wp-block-search__button-only .wp-block-search__input,
.psc-minimal-nav-tools .wp-block-search__button-only .wp-block-search__input {
	transition: opacity 160ms ease, width 180ms ease;
}

.psc-primary-nav-shell .wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input,
.psc-minimal-nav-tools .wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
	border-width: 0;
	opacity: 0;
	padding-left: 0;
	padding-right: 0;
	pointer-events: none;
	width: 0;
}

.psc-primary-nav-shell .wp-block-search__button-only.is-psc-search-open .wp-block-search__input,
.psc-minimal-nav-tools .wp-block-search__button-only.is-psc-search-open .wp-block-search__input {
	background: var(--psc-base, #ffffff);
	border: 1px solid var(--psc-ui-border, #d6dce5);
	color: var(--psc-contrast, #17212b);
	opacity: 1;
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	pointer-events: auto;
	width: clamp(180px, 24vw, 320px);
}

.psc-floating-actions:empty,
.psc-floating-actions[hidden] {
	display: none !important;
}

.psc-floating-actions .psc-header-actions,
.psc-floating-actions .wp-block-buttons {
	flex-wrap: nowrap;
	gap: 0.5rem;
}

.psc-floating-actions .psc-header-action,
.psc-floating-actions .wp-block-button__link {
	font-size: 0.875rem;
	min-height: 44px;
	padding: 0.55rem 0.85rem;
	white-space: nowrap;
}


.psc-utility-bar a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.psc-site-header {
	box-shadow: 0 2px 12px rgba(0, 32, 92, 0.12);
	position: relative;
	z-index: 20;
}

.psc-brand-lockup {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	justify-content: flex-start;
	max-width: 720px;
	text-align: left;
}

.psc-brand-lockup__logo {
	display: block;
	flex: 0 1 auto;
	line-height: 0;
	text-decoration: none;
}

.psc-brand-lockup__logo img {
	display: block;
	height: auto;
	max-height: 78px;
	max-width: min(300px, 48vw);
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.psc-brand-lockup__text {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	line-height: 1.18;
}

.psc-brand-lockup__department {
	color: var(--psc-brand-primary, #00205c);
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: clamp(1rem, 1.65vw, 1.35rem);
	font-weight: 600;
}

.psc-brand-lockup__tagline {
	color: #4a5568;
	font-size: 0.9rem;
}

.psc-brand-lockup--expanded {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.65rem;
}

.psc-brand-lockup--compact .psc-brand-lockup__logo img {
	max-height: 72px;
	max-width: min(320px, 48vw);
}

.psc-brand-lockup--expanded .psc-brand-lockup__logo img {
	max-height: 94px;
	max-width: min(370px, 54vw);
}

.psc-brand-lockup--expanded .psc-brand-lockup__department {
	font-size: clamp(1.25rem, 2.25vw, 1.85rem);
}

.psc-brand-lockup--dark .psc-brand-lockup__department,
.psc-brand-lockup--dark .psc-brand-lockup__tagline {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-utility-bar {
	font-size: 0.82rem;
}

.psc-utility-bar:not(:has(.wp-block-navigation-item)) {
	display: none;
}

.psc-primary-navigation .wp-block-navigation-item__content {
	align-items: center;
	border-radius: var(--wp--preset--border-radius--small, 4px);
	display: inline-flex;
	gap: 0.55rem;
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.015em;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}

.psc-primary-navigation .wp-block-navigation-item__content:hover,
.psc-primary-navigation .wp-block-navigation-item__content:focus-visible {
	text-decoration: none;
}

.psc-primary-nav-shell,
.psc-primary-navigation,
.psc-primary-navigation > .wp-block-navigation__container {
	position: static;
}

.psc-primary-navigation > .wp-block-navigation__container {
	column-gap: clamp(0.35rem, 1vw, 1.1rem);
}

.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	min-height: 44px;
	padding: 0.55rem 0.7rem;
}

.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	background: var(--psc-brand-accent, #f3d03e);
	bottom: 0.2rem;
	content: "";
	height: 3px;
	left: 0.7rem;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 180ms ease;
	width: calc(100% - 1.4rem);
}

.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item.is-psc-open > .wp-block-navigation-item__content::after,
.psc-primary-navigation > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.psc-primary-navigation > .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item.is-psc-open > .wp-block-navigation-item__content,
.psc-primary-navigation > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.psc-primary-navigation > .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content {
	background: color-mix(in srgb, currentColor 12%, transparent);
}

.psc-primary-navigation .wp-block-navigation__submenu-icon {
	transition: transform 180ms ease;
}

.psc-primary-navigation .wp-block-navigation-submenu.is-psc-open > .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon,
.psc-primary-navigation .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon {
	transform: rotate(180deg);
}

@media (min-width: 1201px) {
.psc-primary-navigation .wp-block-navigation__submenu-container {
	background: var(--psc-base, #ffffff) !important;
	border: 1px solid var(--psc-ui-border, #d6dce5) !important;
	border-radius: 0 0 var(--wp--preset--border-radius--medium, 8px) var(--wp--preset--border-radius--medium, 8px);
	border-top: 4px solid var(--psc-brand-accent, #f3d03e) !important;
	box-shadow: var(--psc-card-shadow-elevated, 0 16px 40px rgba(0, 32, 92, 0.16));
	color: var(--psc-contrast, #17212b) !important;
	display: flex !important;
	flex-direction: column;
	gap: 0.15rem;
	height: auto !important;
	min-width: clamp(320px, 28vw, 380px) !important;
	opacity: 0 !important;
	overflow: visible !important;
	padding: 0.85rem !important;
	pointer-events: none !important;
	top: 100% !important;
	transform: translateY(10px) !important;
	transition: opacity 160ms ease, transform 180ms ease, visibility 180ms step-end !important;
	visibility: hidden !important;
	width: auto !important;
	z-index: 30;
}

.psc-primary-navigation .wp-block-navigation-submenu.is-psc-open > .wp-block-navigation__submenu-container,
.psc-primary-navigation .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
	transition: opacity 160ms ease, transform 180ms ease !important;
	visibility: visible !important;
}

.psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--psc-contrast, #17212b) !important;
	font-size: 0.95rem;
	font-weight: 500;
	justify-content: flex-start;
	letter-spacing: 0;
	line-height: 1.35;
	min-height: 44px;
	padding: 0.7rem 0.8rem;
	text-transform: none;
	width: 100%;
}

.psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: color-mix(in srgb, var(--psc-brand-highlight, #2a9fdc) 13%, transparent);
	color: var(--psc-brand-primary, #00205c) !important;
}

.psc-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content::after {
	color: var(--psc-brand-secondary, #036636);
	content: "›";
	font-size: 1.3em;
	font-weight: 600;
	margin-left: auto;
	transform: translateX(0);
	transition: transform 160ms ease;
}

.psc-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content:hover::after,
.psc-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content:focus-visible::after {
	transform: translateX(4px);
}

}

@media (min-width: 1201px) {
	.psc-primary-nav-shell {
		position: relative;
	}

	.psc-primary-navigation,
	.psc-primary-navigation .wp-block-navigation__responsive-container,
	.psc-primary-navigation .wp-block-navigation__responsive-close,
	.psc-primary-navigation .wp-block-navigation__responsive-dialog,
	.psc-primary-navigation .wp-block-navigation__responsive-container-content,
	.psc-primary-navigation > .wp-block-navigation__container {
		position: static !important;
	}

	.psc-primary-navigation .wp-block-navigation-submenu.is-psc-mega-menu-item,
	.psc-primary-navigation .wp-block-navigation-submenu.is-style-psc-mega-menu:not(.is-psc-simple-menu-item) {
		position: static !important;
	}

	.psc-primary-navigation .wp-block-navigation-submenu.is-psc-mega-menu-item > .wp-block-navigation__submenu-container,
	.psc-primary-navigation .wp-block-navigation-submenu.is-style-psc-mega-menu:not(.is-psc-simple-menu-item) > .wp-block-navigation__submenu-container {
		background: var(--psc-brand-primary, #00205c) !important;
		border: 0 !important;
		border-radius: 0 !important;
		border-top: 4px solid var(--psc-brand-accent, #f3d03e) !important;
		box-shadow: 0 22px 42px rgba(0, 20, 60, 0.3);
		color: var(--psc-brand-primary-text, #ffffff) !important;
		display: grid !important;
		gap: clamp(1.25rem, 2.4vw, 2.5rem);
		grid-template-columns: minmax(220px, 0.9fr) repeat(3, minmax(150px, 1fr));
		left: 50% !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: var(--psc-viewport-width, 100%) !important;
		overflow: visible !important;
		padding: clamp(1.75rem, 3vw, 3rem) max(1.5rem, calc((100vw - var(--psc-wide-width, 1280px)) / 2)) !important;
		right: auto !important;
		top: 100% !important;
		transform: translate(-50%, 0.75rem) !important;
		width: var(--psc-viewport-width, 100%) !important;
		z-index: 100;
	}

	.psc-primary-navigation .wp-block-navigation-submenu.is-psc-mega-menu-item.is-psc-open > .wp-block-navigation__submenu-container,
	.psc-primary-navigation .wp-block-navigation-submenu.is-psc-mega-menu-item > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container,
	.psc-primary-navigation .wp-block-navigation-submenu.is-style-psc-mega-menu:not(.is-psc-simple-menu-item).is-psc-open > .wp-block-navigation__submenu-container {
		transform: translate(-50%, 0) !important;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		align-self: start;
		min-width: 0;
		width: 100%;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		background: transparent;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		color: var(--psc-brand-primary-text, #ffffff) !important;
		font-weight: 600;
		padding: 0.65rem 0.25rem;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
		background: transparent;
		color: var(--psc-brand-accent, #f3d03e) !important;
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.28em;
	}

	.psc-primary-navigation .is-psc-mega-menu-item .wp-block-navigation-item__content::after {
		color: var(--psc-brand-accent, #f3d03e) !important;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu {
		display: block;
		position: static !important;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
		border: 0;
		color: var(--psc-brand-accent, #f3d03e) !important;
		font-size: 0.82rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		min-height: 40px;
		padding: 0.35rem 0.25rem 0.65rem;
		text-transform: uppercase;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon {
		display: none;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none;
		display: flex !important;
		gap: 0.2rem;
		min-width: 0 !important;
		opacity: 1 !important;
		padding: 0 !important;
		pointer-events: auto !important;
		position: static !important;
		transform: none !important;
		visibility: visible !important;
		width: 100% !important;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		border: 0;
		color: var(--psc-brand-primary-text, #ffffff) !important;
		font-size: 0.92rem;
		font-weight: 400;
		min-height: 40px;
		padding: 0.5rem 0.25rem;
	}

	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.psc-primary-navigation .is-psc-mega-menu-item > .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: rgba(255, 255, 255, 0.1);
		color: var(--psc-brand-accent, #f3d03e) !important;
	}

	.psc-mega-menu-introduction {
		align-self: stretch !important;
		border-right: 1px solid rgba(255, 255, 255, 0.28);
		display: block !important;
		grid-column: 1;
		list-style: none;
		padding: 0 clamp(1.25rem, 2.5vw, 2.5rem) 0 0 !important;
	}

	.psc-mega-menu-introduction__content {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}

	.psc-mega-menu-introduction__title {
		color: var(--psc-brand-primary-text, #ffffff);
		font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
		font-size: clamp(1.45rem, 2vw, 2rem);
		font-weight: 700;
		line-height: 1.15;
		margin: 0;
	}

	.psc-mega-menu-introduction__description {
		color: var(--psc-brand-primary-text, #ffffff);
		font-size: 0.95rem;
		line-height: 1.55;
		margin: 0;
		opacity: 0.9;
	}

	.psc-mega-menu-introduction__link {
		align-items: center;
		align-self: flex-start;
		color: var(--psc-brand-accent, #f3d03e) !important;
		display: inline-flex;
		font-weight: 700;
		gap: 0.45rem;
		text-decoration: none;
	}

	.psc-mega-menu-introduction__link:hover,
	.psc-mega-menu-introduction__link:focus-visible {
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.3em;
	}

	.psc-primary-navigation .is-style-psc-menu-introduction > .wp-block-navigation-item__content {
		border-left: 4px solid var(--psc-brand-accent, #f3d03e);
		font-weight: 600;
		padding-left: 0.85rem;
	}
}

.psc-menu-item-icon {
	fill: none;
	flex: 0 0 auto;
	height: 1.2em;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1.2em;
}

.psc-navigation-heading {
	cursor: default;
	user-select: none;
}

.psc-navigation-heading::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 1201px) {
	.psc-navigation-style-wordpress .psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		background: transparent;
		border-radius: 0;
		font: inherit;
		letter-spacing: inherit;
		min-height: auto;
		padding: 0.5rem;
		text-transform: none;
	}

	.psc-navigation-style-wordpress .psc-primary-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.wp-block-navigation-submenu) > .wp-block-navigation-item__content::after {
		display: none;
	}

	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation__submenu-container {
		background: #ffffff !important;
		border: 1px solid #000000 !important;
		border-radius: 0;
		border-top-width: 1px !important;
		box-shadow: none;
		gap: 0;
		min-width: 200px !important;
		padding: 0 !important;
		top: 100% !important;
		transform: none !important;
		transition: none !important;
	}

	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container,
	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		pointer-events: auto !important;
		visibility: visible !important;
	}

	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		background: transparent;
		color: #000000 !important;
		font: inherit;
		min-height: auto;
		padding: 0.5rem 1rem;
		text-transform: none;
	}

	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.psc-navigation-style-wordpress .psc-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: #eeeeee;
		color: #000000 !important;
	}
}

.psc-header-buttons {
	gap: 0.5rem;
}

.psc-header-buttons .wp-block-button__link {
	font-size: 0.82rem;
	min-height: 44px;
	padding: 0.6rem 0.9rem;
}

.psc-header-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
}

.psc-header-action {
	align-items: center;
	border: 2px solid var(--psc-brand-primary, #00205c);
	border-radius: var(--wp--preset--border-radius--pill, 999px);
	color: var(--psc-brand-primary, #00205c);
	display: inline-flex;
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 0.82rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1.1;
	min-height: 44px;
	padding: 0.55rem 0.85rem;
	text-decoration: none;
}

.psc-header-action:hover,
.psc-header-action:focus-visible {
	background: var(--psc-brand-primary, #00205c);
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-header-action--primary {
	background: var(--psc-brand-button, var(--psc-brand-secondary, #036636));
	border-color: var(--psc-brand-button, var(--psc-brand-secondary, #036636));
	color: var(--psc-brand-button-text, #ffffff);
}

.psc-header-action--primary:hover,
.psc-header-action--primary:focus-visible {
	background: var(--psc-brand-primary, #00205c);
	border-color: var(--psc-brand-primary, #00205c);
}

.psc-header-action--secondary {
	background: transparent;
	border-color: var(--psc-brand-primary, #00205c);
	color: var(--psc-brand-primary, #00205c);
}

.psc-header-action--text {
	background: transparent;
	border-color: transparent;
	color: var(--psc-brand-primary, #00205c);
	padding-left: 0.45rem;
	padding-right: 0.45rem;
}

.psc-header-action--text:hover,
.psc-header-action--text:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--psc-brand-link, var(--psc-brand-primary, #00205c));
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.psc-header-actions--compact {
	flex-wrap: nowrap;
}

.psc-header-actions--compact .psc-header-action {
	font-size: 0.875rem;
	min-height: 44px;
	padding: 0.55rem 0.85rem;
	white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Global alert
   -------------------------------------------------------------------------- */

.psc-alert {
	font-weight: 700;
	text-align: center;
}

.psc-alert p {
	margin-bottom: 0;
	margin-top: 0;
}

.psc-alert .wp-block-buttons {
	margin: 0;
}

.psc-alert a {
	color: inherit;
	margin-left: 0.4rem;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

/* --------------------------------------------------------------------------
   Page titles and content
   -------------------------------------------------------------------------- */

.psc-page-title-band {
	background-color: #00205c;
	background-image: linear-gradient(115deg, rgba(0, 32, 92, 0.78) 0%, rgba(0, 32, 92, 0.48) 62%, rgba(3, 102, 54, 0.18) 88%, rgba(3, 102, 54, 0.3) 100%), url("assets/brand/psc-page-header-water.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	color: var(--psc-brand-primary-text, #ffffff);
	display: flex;
	flex-direction: column;
}

/* Older saved title-band patterns may not yet contain the native Dimensions
   value. This zero-specificity fallback preserves their height while allowing
   any Global Style or saved block value to take precedence. */
:where(.psc-page-title-band) {
	min-height: clamp(230px, 22vw, 320px);
}

.psc-page-title-band__inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
}

/* Automatic PSC Breadcrumbs block, styled to match the approved interior-page
   treatment while retaining accessible navigation markup. */
.psc-breadcrumbs {
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: clamp(0.94rem, 1vw, 1.06rem);
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.4;
	margin: 0;
}

.psc-page-title-band .psc-breadcrumbs {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 2.4vw, 2.25rem);
	width: 100%;
}

.psc-page-title-band .psc-breadcrumbs::after {
	background: rgba(205, 225, 239, 0.34);
	content: "";
	flex: 1 1 5rem;
	height: 1px;
	min-width: 3rem;
}

.psc-breadcrumbs ol {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.psc-breadcrumbs li,
.psc-breadcrumbs a,
.psc-breadcrumbs li > span:not(.psc-breadcrumbs__separator) {
	align-items: center;
	display: inline-flex;
	gap: 0.35rem;
}

.psc-breadcrumbs__home-icon {
	fill: none;
	height: 1rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1rem;
}

.psc-breadcrumbs__separator {
	opacity: 0.72;
}

.psc-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.psc-breadcrumbs a:hover,
.psc-breadcrumbs a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.psc-breadcrumbs--inverse {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-breadcrumbs--inverse li:not(:last-child),
.psc-breadcrumbs--inverse a {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-breadcrumbs--article {
	color: var(--wp--preset--color--slate, #4a5568);
}

.psc-page-title-band__title-group {
	margin-top: auto;
}

.psc-page-title-band__title-group > * {
	margin-bottom: 0;
	margin-top: 0;
}

.psc-page-title-band__title-group > * + * {
	margin-top: 0.85rem;
}

:where(
	.psc-page-title-band .wp-block-post-title,
	.psc-page-title-band__inner > .wp-block-query-title,
	.psc-page-title-band__inner > .wp-block-heading
) {
	line-height: 1.05;
	margin-bottom: 0;
	margin-top: auto;
	max-width: 24ch;
	text-shadow: 0 2px 14px rgba(0, 18, 52, 0.28);
}

.psc-page-title-band .wp-block-term-description {
	font-size: clamp(1rem, 1.25vw, 1.2rem);
	line-height: 1.55;
	margin-bottom: 0;
	max-width: 68ch;
}

.psc-page-title-band__rule {
	display: none !important;
}

@media (max-width: 600px) {
	.psc-page-title-band .psc-breadcrumbs {
		gap: 0.85rem;
	}

	.psc-page-title-band .psc-breadcrumbs::after {
		min-width: 1.75rem;
	}
}



.psc-utility-title-band {
	background: var(--psc-brand-primary, #00205c);
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-utility-title-band__inner {
	width: 100%;
}

:where(.psc-utility-title-band .wp-block-post-title, .psc-utility-page-title) {
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.05;
	margin-bottom: 0;
	margin-top: 0;
	max-width: 28ch;
}

.psc-local-navigation {
	background: var(--wp--preset--color--mist, #eef2f6);
	border-top: 4px solid var(--psc-brand-secondary, #036636);
}

.psc-local-navigation .wp-block-heading {
	color: var(--psc-brand-primary, #00205c);
	margin: 0;
}

.psc-local-navigation .wp-block-navigation,
.psc-local-navigation .wp-block-navigation__container,
.psc-local-navigation .wp-block-navigation-item {
	width: 100%;
}

.psc-local-navigation .wp-block-navigation-item__content {
	border-bottom: 1px solid var(--wp--preset--color--ui-border, #d6dce5);
	color: var(--psc-brand-primary, #00205c);
	display: block;
	padding: 0.7rem 0;
	text-decoration: none;
	width: 100%;
}

.psc-local-navigation .wp-block-navigation-item__content:hover,
.psc-local-navigation .wp-block-navigation-item__content:focus-visible,
.psc-local-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--psc-brand-secondary, #036636);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

/* Editor-only guidance is revealed in editor.css. */
.psc-template-editor-note {
	display: none;
}

.psc-article-header {
	background: var(--psc-base, #ffffff);
	border-bottom: 1px solid var(--wp--preset--color--ui-border, #d6dce5);
}

.psc-article-category a:hover,
.psc-article-category a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.psc-article-featured-image {
	overflow: hidden;
}

.psc-interior-hero a {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-interior-hero__image {
	border-radius: 10px;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
	overflow: hidden;
	width: 100%;
}

.psc-interior-hero__image img {
	width: 100%;
}

.psc-page-title-band a {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-entry-content > :where(h2, h3, h4) {
	scroll-margin-top: 3rem;
}


/* Preserve the reading rhythm intended for ordinary core List blocks without
   leaking into Latest Posts, Query Loop, Navigation, Categories, Archives, RSS,
   Social Icons, or other native blocks that also render lists. Zero selector
   specificity makes this a fallback beneath Global Styles and saved settings. */
:where(.psc-entry-content .wp-block-list > li + li) {
	margin-top: 0.35em;
}

/* Post Content owns the full layout canvas. Keep its width automatic so
   WordPress can extend both sides through the root padding. A forced 100%
   width combines badly with alignfull's negative margins and leaves a blank
   strip equal to two root paddings on the right side of the page. */
.psc-entry-content-shell > .wp-block-post-content.alignfull {
	max-width: none;
	width: auto;
}

/* A Wide constrained Group is an intentional layout boundary. WordPress
   normally sends every unaligned direct child back to Content width, which
   makes headings appear detached from the Wide section below them. Direct
   headings inherit the Wide Group's usable width. Editors who need a narrow
   reading measure can place that heading in an inner Content-width Group. */
:where(.psc-entry-content, .editor-styles-wrapper) .wp-block-group.alignwide.is-layout-constrained > .wp-block-heading:not(.alignfull) {
	max-width: none !important;
	width: 100%;
}

/* Section width is owned by the section block itself. Structural children use
   normal block sizing so WordPress can preserve content, wide, and full
   alignment in both the editor and the published page. */

/* --------------------------------------------------------------------------
   Patterns and components
   -------------------------------------------------------------------------- */

.psc-announcements__heading {
	overflow-wrap: normal;
	word-break: normal;
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1;
	margin: 0;
}

/* The 42/58 split also corrects untouched Announcements instances already
   inserted from the older 32/68 pattern without rewriting page content. */
.psc-announcements__layout > .wp-block-column:first-child {
	flex-basis: 42% !important;
}

.psc-announcements__layout > .psc-announcements__items {
	flex-basis: 58% !important;
}

.psc-announcements__items {
	border-left: 6px solid var(--wp--preset--color--brand-secondary);
	padding-left: clamp(1.25rem, 3vw, 2.5rem);
}

.psc-announcements__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.psc-announcements__list li {
	padding-left: 1.35rem;
	position: relative;
}

.psc-announcements__list li + li {
	margin-top: 1rem;
}

.psc-announcements__list li::before {
	background: var(--wp--preset--color--brand-secondary);
	content: "";
	height: 0.55rem;
	left: 0;
	position: absolute;
	top: 0.55em;
	width: 0.55rem;
}

.psc-announcements__list a {
	color: var(--wp--preset--color--brand-primary);
	font-weight: 600;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.psc-linked-feature {
	color: var(--wp--preset--color--ink);
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.psc-permanent-theme .psc-linked-feature:hover {
	border-color: var(--wp--preset--color--brand-secondary) !important;
	box-shadow: var(--psc-card-shadow-elevated, 0 16px 40px rgba(0, 32, 92, 0.16));
	transform: translateY(-2px);
}

.psc-linked-feature__image,
.psc-linked-feature__image img {
	margin: 0;
	width: 100%;
}

/* The editable action URL can optionally make the complete panel clickable.
   Remove the psc-linked-feature__button class to keep a button-only link. */
.psc-permanent-theme .psc-linked-feature__button .wp-block-button__link::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.psc-permanent-theme .psc-linked-feature:focus-within {
	outline: 3px solid var(--wp--preset--color--brand-accent);
	outline-offset: 3px;
}

@media (max-width: 781px) {
	.psc-announcements__layout > .wp-block-column:first-child,
	.psc-announcements__layout > .psc-announcements__items {
		flex-basis: 100% !important;
	}

	.psc-announcements__items {
		border-left: 0;
		border-top: 6px solid var(--wp--preset--color--brand-secondary);
		padding-left: 0;
		padding-top: 1.5rem;
	}

	.psc-linked-feature__action .wp-block-buttons {
		justify-content: flex-start;
	}
}

.psc-hero {
	isolation: isolate;
	min-height: clamp(430px, 62vh, 680px);
}

.psc-hero::before {
	background: linear-gradient(90deg, color-mix(in srgb, var(--psc-brand-primary, #00205c) 96%, transparent) 0%, color-mix(in srgb, var(--psc-brand-primary, #00205c) 86%, transparent) 22%, color-mix(in srgb, var(--psc-brand-primary, #00205c) 46%, transparent) 38%, transparent 55%, transparent 100%);
}

.psc-hero .wp-block-cover__inner-container {
	width: 100%;
}

.psc-hero-copy {
	max-width: 680px;
}

.psc-card,
.is-style-psc-card {
	background: var(--wp--preset--color--base, #ffffff);
	border: var(--wp--custom--psc--border--width--thin, 1px) solid var(--psc-ui-border, #d6dce5);
	border-radius: var(--psc-card-radius, 8px);
	box-shadow: var(--psc-card-shadow, 0 8px 24px rgba(0, 32, 92, 0.10));
	overflow: hidden;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.psc-permanent-theme .psc-card:hover,
.psc-permanent-theme .is-style-psc-card:hover {
	box-shadow: var(--psc-card-shadow-elevated, 0 16px 40px rgba(0, 32, 92, 0.16));
	transform: translateY(-2px);
}

.psc-card .wp-block-image img,
.is-style-psc-card .wp-block-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}

/* Open, equal-height card patterns. Editors may add or remove any inner block;
   these classes preserve the visual grid without locking the content. */
.psc-equal-card-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.psc-equal-card-grid > .wp-block-column {
	display: flex;
}

.psc-equal-card-grid > .wp-block-column > .psc-card,
.psc-flexible-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}


.psc-equal-card-grid > .wp-block-column > .psc-card,
.psc-news-grid > li > .psc-card {
	height: 100%;
}

.psc-flexible-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.psc-flexible-card__content > :last-child {
	margin-top: auto;
}

/* Manual event cards are theme-owned editable content, not live event data. */
.psc-manual-event-cards__heading {
	color: var(--psc-brand-primary, #00205c);
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	text-align: center;
}

.psc-manual-event-cards__grid {
	display: grid;
	gap: var(--psc-manual-event-gap, 32px);
	grid-template-columns: repeat(var(--psc-manual-event-columns, 2), minmax(0, 1fr));
}

.psc-manual-event-card {
	background: var(--wp--preset--color--base, #ffffff);
	border: var(--wp--custom--psc--border--width--thin, 1px) solid var(--psc-ui-border, #d6dce5);
	border-radius: var(--psc-card-radius, 8px);
	box-shadow: var(--psc-card-shadow, 0 8px 24px rgba(0, 32, 92, 0.10));
	min-width: 0;
	overflow: hidden;
}

.psc-manual-event-cards.is-equal-height .psc-manual-event-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.psc-manual-event-card > .wp-block-image,
.psc-manual-event-card > .psc-manual-event-card__media {
	margin: 0;
}

.psc-manual-event-card > .wp-block-image img {
	aspect-ratio: var(--psc-manual-event-ratio, 8 / 3) !important;
	display: block;
	height: auto;
	object-fit: cover !important;
	width: 100%;
}

.psc-manual-event-card__media {
	aspect-ratio: var(--psc-manual-event-ratio, 8 / 3) !important;
	min-height: 0 !important;
}

.psc-manual-event-card__media .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.psc-manual-event-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.psc-manual-event-card__content .wp-block-buttons:last-child {
	margin-top: auto;
	padding-top: 1rem;
}

.psc-manual-event-card__date {
	font-weight: 600;
}

.psc-quick-link,
.is-style-psc-quick-link {
	border-left: 5px solid var(--psc-brand-secondary, #036636);
	height: auto;
}

.psc-quick-links-column {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* WordPress flow-layout margins must not be added on top of this flex gap. */
.psc-quick-links-column > .psc-quick-link {
	margin-block: 0;
}

.psc-stat-number {
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: clamp(2.4rem, 6vw, 4.5rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.psc-section-kicker {
	color: var(--psc-brand-secondary, #036636);
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.psc-contact-band a {
	color: var(--psc-brand-primary-text, #ffffff);
}

.psc-faq .wp-block-details {
	border-bottom: 1px solid #b7c1cf;
	padding: 1rem 0;
}

.psc-faq summary {
	color: var(--psc-brand-primary, #00205c);
	cursor: pointer;
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 1.1rem;
	font-weight: 600;
}

/* Centrally managed and block-specific social-media rows. */
.psc-social-accounts {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.psc-social-accounts--left {
	justify-content: flex-start;
}

.psc-social-accounts--right {
	justify-content: flex-end;
}

.psc-social-accounts__intro {
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-weight: 600;
	margin: 0;
}

.psc-social-accounts ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--psc-social-gap, 11px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.psc-social-accounts a {
	align-items: center;
	background: var(--psc-social-circle, #ffffff);
	border: 2px solid var(--psc-social-circle, #ffffff);
	border-radius: var(--wp--preset--border-radius--pill, 999px);
	color: var(--psc-social-symbol, var(--wp--preset--color--psc-green));
	display: inline-flex;
	height: var(--psc-social-icon-box, 48px);
	justify-content: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
	width: var(--psc-social-icon-box, 48px);
}

.psc-permanent-theme .psc-social-accounts a:hover,
.psc-permanent-theme .psc-social-accounts a:focus-visible {
	background: var(--psc-social-circle, #ffffff);
	border-color: var(--psc-social-symbol, var(--wp--preset--color--psc-green));
	color: var(--psc-social-symbol, var(--wp--preset--color--psc-green));
	transform: translateY(-2px);
}

.psc-social-accounts svg {
	fill: currentColor;
	height: 23px;
	stroke: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 23px;
}

.psc-social-accounts .psc-social-icon-fill {
	fill: currentColor;
	stroke: none;
}

.psc-social-accounts--icon-only a {
	background: transparent;
	border-color: transparent;
	color: var(--psc-brand-primary, #00205c);
}

.psc-social-accounts--light a {
	background: var(--psc-base, #ffffff);
	border-color: var(--psc-base, #ffffff);
	color: var(--psc-social-symbol, var(--wp--preset--color--psc-green));
}

.psc-social-accounts--dark a {
	background: var(--psc-contrast, #17212b);
	border-color: var(--psc-contrast, #17212b);
	color: var(--psc-base, #ffffff);
}

.psc-social-accounts--color-band {
	background: var(--psc-brand-primary, #00205c);
	color: var(--psc-brand-primary-text, #ffffff);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.psc-social-accounts--color-band a {
	background: var(--psc-base, #ffffff);
	border-color: var(--psc-base, #ffffff);
	color: var(--psc-brand-primary, #00205c);
}

.psc-social-accounts--empty {
	border: 1px dashed #8b97a6;
	color: #4a5568;
	justify-content: flex-start;
	padding: 1rem;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.psc-site-footer a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.psc-site-footer a:hover {
	text-decoration-thickness: 2px;
}

.psc-site-footer a:focus-visible {
	outline: 3px solid var(--psc-brand-highlight, #2a9fdc);
	outline-offset: 3px;
	text-decoration-thickness: 2px;
}

.psc-footer-contact {
	display: grid;
	gap: 0.3rem;
}

.psc-footer-contact p {
	margin: 0;
}

.psc-footer-legal {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
}

/* --------------------------------------------------------------------------
   WordPress blocks
   -------------------------------------------------------------------------- */

.wp-block-button .wp-block-button__link {
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: var(--psc-brand-primary, #00205c);
	border-color: var(--psc-brand-primary, #00205c);
	color: var(--psc-brand-primary-text, #ffffff);
}

/* --------------------------------------------------------------------------
   PSC section patterns
   -------------------------------------------------------------------------- */

.psc-testimonial-wide .psc-testimonial-portrait {
	border: 6px solid rgba(255, 255, 255, 0.22);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.psc-testimonial-wide .psc-testimonial-quote::before {
	color: var(--psc-brand-accent, #f3d03e);
	content: "\201C";
	display: block;
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: clamp(5rem, 11vw, 9rem);
	line-height: 0.55;
	margin: 0 0 0.5rem;
}

.psc-testimonial-wide .psc-testimonial-quote,
.psc-testimonials-stacked .psc-testimonial-quote {
	border: 0;
	margin: 0;
	padding: 0;
}

.psc-testimonial-wide .psc-testimonial-quote p,
.psc-testimonials-stacked .psc-testimonial-quote p {
	font-family: var(--psc-font-body, "Rubik", Arial, sans-serif);
	font-size: clamp(1.35rem, 2.8vw, 2.35rem);
	line-height: 1.35;
}

.psc-testimonial-wide .psc-testimonial-quote cite,
.psc-testimonials-stacked .psc-testimonial-quote cite {
	display: block;
	font-family: var(--psc-font-body, "Rubik", Arial, sans-serif);
	font-size: 0.95rem;
	font-style: normal;
	font-weight: 600;
	margin-top: 1rem;
}

.psc-testimonials-stacked .psc-testimonial-card {
	border: var(--wp--custom--psc--border--width--thin, 1px) solid var(--psc-ui-border, #d6dce5);
	border-radius: var(--psc-card-radius, 8px);
	box-shadow: var(--psc-card-shadow, 0 8px 24px rgba(0, 32, 92, 0.10));
}

.psc-testimonials-stacked .psc-testimonial-card .psc-testimonial-quote p {
	font-size: clamp(1.1rem, 2vw, 1.5rem);
}

.psc-testimonials-stacked .psc-testimonial-avatar {
	border: 4px solid var(--psc-brand-accent, #f3d03e);
	border-radius: var(--wp--preset--border-radius--pill, 999px);
	flex: 0 0 120px;
	min-height: 120px;
	overflow: hidden;
	width: 120px;
}

.psc-process-list {
	display: grid;
	gap: 1rem;
	margin-top: 2rem;
}

/* The grid gap is the only vertical spacing between numbered steps. */
.psc-process-list > .psc-process-item {
	margin-block: 0;
}

.psc-process-item {
	border-bottom: 1px solid #d6dce5;
	gap: 1.25rem;
	padding: 1rem 0 1.5rem;
}

.psc-process-number {
	align-items: center;
	background: var(--psc-brand-primary, #00205c);
	border-radius: var(--wp--preset--border-radius--pill, 999px);
	color: var(--psc-brand-primary-text, #ffffff);
	display: inline-flex;
	flex: 0 0 48px;
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 1.15rem;
	font-weight: 700;
	height: 48px;
	justify-content: center;
	margin: 0;
	width: 48px;
}

.psc-check-list {
	list-style: none;
	padding-left: 0;
}

.psc-check-list li {
	padding-left: 2rem;
	position: relative;
}

.psc-check-list li::before {
	color: var(--psc-brand-secondary, #036636);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
}

.psc-list-icon {
	list-style: none !important;
	padding-left: 0 !important;
}

.psc-list-icon > li,
.editor-styles-wrapper .psc-list-icon .wp-block-list > li {
	padding-left: calc(var(--psc-list-icon-size, 20px) + var(--psc-list-icon-gap, 12px));
	position: relative;
}

.psc-list-icon > li::before,
.editor-styles-wrapper .psc-list-icon .wp-block-list > li::before {
	color: var(--psc-list-icon-color, var(--psc-brand-secondary, #036636));
	font-size: var(--psc-list-icon-size, 20px);
	font-weight: 700;
	left: 0;
	line-height: 1;
	position: absolute;
	top: 0.1em;
}

.psc-list-icon--check > li::before,
.editor-styles-wrapper .psc-list-icon--check .wp-block-list > li::before { content: "✓"; }
.psc-list-icon--arrow > li::before,
.editor-styles-wrapper .psc-list-icon--arrow .wp-block-list > li::before { content: "→"; }
.psc-list-icon--chevron > li::before,
.editor-styles-wrapper .psc-list-icon--chevron .wp-block-list > li::before { content: "›"; }
.psc-list-icon--plus > li::before,
.editor-styles-wrapper .psc-list-icon--plus .wp-block-list > li::before { content: "+"; }
.psc-list-icon--star > li::before,
.editor-styles-wrapper .psc-list-icon--star .wp-block-list > li::before { content: "★"; }
.psc-list-icon--circle > li::before,
.editor-styles-wrapper .psc-list-icon--circle .wp-block-list > li::before { content: "●"; }
.psc-list-icon--square > li::before,
.editor-styles-wrapper .psc-list-icon--square .wp-block-list > li::before { content: "■"; }
.psc-list-icon--bullet > li::before,
.editor-styles-wrapper .psc-list-icon--bullet .wp-block-list > li::before { content: "•"; }
.psc-list-icon--none > li,
.editor-styles-wrapper .psc-list-icon--none .wp-block-list > li { padding-left: 0; }
.psc-list-icon--none > li::before,
.editor-styles-wrapper .psc-list-icon--none .wp-block-list > li::before { content: none; }

.psc-list-icon-picker {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 18px;
}

.psc-list-icon-picker .psc-list-icon-picker__button {
	align-items: center;
	border: 1px solid #d6dce5;
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	min-height: 64px;
	padding: 7px 4px;
}

.psc-list-icon-picker .psc-list-icon-picker__button.is-selected {
	border-color: #3858e9;
	box-shadow: inset 0 0 0 1px #3858e9;
}

.psc-list-icon-picker__button span {
	font-size: 24px;
	line-height: 1;
}

.psc-list-icon-picker__button small {
	font-size: 10px;
	margin-top: 4px;
}

.psc-date-value {
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	margin-bottom: 0.4rem;
}

.psc-resource-item h3,
.psc-resource-item p {
	margin-bottom: 0;
	margin-top: 0;
}

.psc-mosaic .wp-block-cover,
.psc-exhibitions .wp-block-cover,
.psc-profile-grid .wp-block-cover,
.psc-mosaic img,
.psc-exhibitions img,
.psc-profile-grid img {
	border-radius: 8px;
}

.psc-mosaic .wp-block-cover,
.psc-exhibitions .wp-block-cover,
.psc-profile-grid .wp-block-cover {
	overflow: hidden;
}

.psc-site-footer .psc-brand-lockup__logo img {
	max-height: 72px;
	max-width: min(320px, 100%);
}

.psc-footer-links {
	list-style: none;
	padding-left: 0;
}

.psc-footer-links li + li {
	margin-top: 0.55rem;
}

/* Shared-content plugins can adopt the theme without duplicating templates. */
.psc-network-feed {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.psc-news-query {
	margin-top: var(--wp--preset--spacing--50);
}

.psc-news-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Grid and card gaps replace inherited WordPress flow-layout margins. */
.psc-news-grid > li,
.psc-news-grid .psc-card > *,
.psc-flexible-card-section .psc-card > *,
.psc-news-query-vertical__item > *,
.psc-news-list__item > * {
	margin-block-start: 0;
}

.psc-news-grid > li {
	margin-block-end: 0;
}

.psc-news-grid__image,
.psc-card__media {
	aspect-ratio: 16 / 9;
	margin: 0;
	min-height: 0 !important;
}

.psc-news-grid__image .wp-block-cover__image-background,
.psc-card__media .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* Native vertical Query Loop with consistent images and automatic post data. */
.psc-news-query-vertical {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.psc-news-query-vertical__items {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.psc-news-query-vertical__items > li {
	margin: 0;
}

.psc-news-query-vertical__item {
	align-items: start;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
}

.psc-news-query-vertical__image {
	aspect-ratio: 4 / 3;
	margin: 0;
	min-height: 0 !important;
	overflow: hidden;
}

.psc-news-query-vertical__image a {
	display: block;
	height: 100%;
}

.psc-news-query-vertical__image img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100%;
}

.psc-news-query-vertical__content {
	min-width: 0;
}

.psc-news-query-vertical__title {
	font-size: clamp(1.2rem, 2.2vw, 1.65rem);
	margin-bottom: 0.65rem;
	margin-top: 0;
}

.psc-news-query-vertical__title a,
.psc-news-query-vertical .wp-block-post-excerpt__more-link {
	color: var(--psc-brand-primary, #00205c);
}

.psc-news-query-vertical__date {
	font-size: 0.95rem;
	margin-bottom: 0.85rem;
}

.psc-news-query-vertical__excerpt {
	font-size: clamp(1rem, 1.7vw, 1.18rem);
	line-height: 1.65;
}

.psc-news-query-vertical .wp-block-post-excerpt__more-link {
	font-weight: 700;
	text-decoration: none;
}

/* Legacy custom news block retained only for existing saved pages. */
.psc-news-list__heading {
	color: var(--psc-brand-primary, #00205c);
	text-align: center;
}

.psc-news-list__items {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.psc-news-list__item {
	align-items: start;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
}

.psc-news-list__media {
	display: block;
}

.psc-news-list__image,
.psc-news-list__image-placeholder {
	aspect-ratio: var(--psc-news-image-ratio, 4 / 3);
	background: var(--wp--preset--color--mist, #eef2f6);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.psc-news-list__content {
	min-width: 0;
}

.psc-news-list__title {
	font-size: clamp(1.2rem, 2.2vw, 1.65rem);
	margin-bottom: 0.65rem;
	margin-top: 0;
}

.psc-news-list__title a,
.psc-news-list__read-more a {
	color: var(--psc-brand-primary, #00205c);
}

.psc-news-list__date {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 0.85rem;
}

.psc-news-list__excerpt {
	font-size: clamp(1rem, 1.7vw, 1.18rem);
	line-height: 1.65;
}

.psc-news-list__read-more a {
	font-weight: 700;
	text-decoration: none;
}

.psc-news-list__view-all {
	margin-top: 2rem;
	text-align: center;
}

.psc-news-list__empty {
	border: 1px dashed #8b97a6;
	padding: 1rem;
}

.psc-manual-news-item .wp-block-media-text__media img {
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.psc-manual-news-image {
	aspect-ratio: 4 / 3;
	margin: 0;
	min-height: 0 !important;
}

.psc-manual-news-image .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* Ordinary image-and-text sections start both columns at the same top edge.
   Split heroes and testimonials keep their intentional centered alignment. */
.psc-section-shell > .wp-block-media-text {
	align-items: start;
}

.psc-section-shell > .wp-block-media-text > .wp-block-media-text__content > :first-child {
	margin-block-start: 0;
}

.psc-manual-news-item,
.psc-center-resources > .wp-block-columns {
	align-items: flex-start;
}

.psc-manual-news-item > .wp-block-column,
.psc-center-resources > .wp-block-columns > .wp-block-column {
	align-self: flex-start;
}

.psc-manual-news-item > .wp-block-column > :first-child,
.psc-center-resources > .wp-block-columns > .wp-block-column > :first-child {
	margin-block-start: 0;
}

/* Flexible two-panel rows can hold complete nested layouts in either side. */
.psc-split-content-row > .wp-block-column,
.psc-content-panel {
	min-width: 0;
}

.psc-content-panel {
	height: 100%;
}

/* Middle-page hero patterns deliberately omit breadcrumb markup. */
.psc-section-hero {
	isolation: isolate;
	overflow: hidden;
}

.psc-section-hero .wp-block-buttons {
	margin-top: 1.5rem;
}

.psc-section-hero--cover {
	min-height: clamp(340px, 48vw, 560px);
}

.psc-section-hero__content {
	width: min(680px, 100%);
}

.psc-section-hero__content--left {
	margin-left: 0;
	margin-right: auto;
}

.psc-section-hero__content--center {
	margin-left: auto;
	margin-right: auto;
}

.psc-section-hero__content--right {
	margin-left: auto;
	margin-right: 0;
}

.psc-section-hero--split .wp-block-columns {
	align-items: stretch;
}

.psc-section-hero--split .psc-section-hero__media,
.psc-section-hero--split .psc-section-hero__media img {
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	width: 100%;
}

/* Theme presentation for live PSC Events blocks. The Events plugin remains
   responsible for querying, filtering, ordering, and rendering event data. */
.psc-live-dates .psc-events-block-header {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
}

.psc-live-dates--vertical .is-presentation-dates-deadlines .psc-events-list {
	display: grid;
	grid-template-columns: 1fr;
}

.psc-live-dates--featured .wp-block-columns {
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

.psc-network-card {
	background: var(--wp--preset--color--base, #ffffff);
	border: var(--wp--custom--psc--border--width--thin, 1px) solid var(--psc-ui-border, #d6dce5);
	border-radius: var(--psc-card-radius, 8px);
	box-shadow: var(--psc-card-shadow, 0 8px 24px rgba(0, 32, 92, 0.10));
	overflow: hidden;
}

.psc-network-card__source {
	color: var(--psc-brand-secondary, #036636);
	font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.psc-data-table .wp-block-table {
	max-width: 100%;
	overflow: visible;
}

/* Query Pagination's editable gap and link presentation are native theme.json
   defaults. These structural fallbacks cover the non-link current-page marker
   and the 44px minimum target size without overriding saved block styles. */
:where(.wp-block-query-pagination a, .wp-block-query-pagination .current) {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 44px;
	text-align: center;
}

:where(.wp-block-query-pagination .current) {
	border: 1px solid #718096;
	padding: 0.55rem 0.75rem;
}

/* --------------------------------------------------------------------------
   Gallery, sponsor, responsive-table, and impact pattern refinements
   -------------------------------------------------------------------------- */

/* Current PSC gallery patterns remain native core Gallery blocks containing
   native core Image blocks so WordPress owns selection, replacement, List View,
   and lightbox behavior. The theme composes only those public block roots into
   intentional mosaics. No Gutenberg-private editor wrappers are targeted. */
.psc-native-gallery .wp-block-image {
	border-radius: 6px;
	overflow: hidden;
}

.psc-native-gallery .wp-block-image img {
	display: block;
	max-width: 100%;
}

figure.wp-block-gallery.psc-gallery-composition {
	--psc-gallery-gap: clamp(0.5rem, 1vw, 0.9rem);
	align-items: stretch;
	display: grid;
	gap: var(--psc-gallery-gap);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-block: 0;
	width: 100%;
}

figure.wp-block-gallery.psc-gallery-composition > figure.wp-block-image.psc-gallery-item {
	align-self: stretch;
	box-sizing: border-box;
	height: 100%;
	margin: 0;
	max-width: none;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
	width: auto !important;
}

figure.wp-block-gallery.psc-gallery-composition > figure.wp-block-image.psc-gallery-item img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	width: 100% !important;
}

/* Original Gallery – Image Mosaic: one large feature image plus two stacked. */
figure.wp-block-gallery.psc-gallery-mosaic-composition {
	aspect-ratio: 2 / 1;
	grid-template-rows: repeat(4, minmax(0, 1fr));
}

.psc-gallery-mosaic-composition > .psc-gallery-item--mosaic-feature { grid-column: 1 / 8; grid-row: 1 / 5; }
.psc-gallery-mosaic-composition > .psc-gallery-item--mosaic-top { grid-column: 8 / 13; grid-row: 1 / 3; }
.psc-gallery-mosaic-composition > .psc-gallery-item--mosaic-bottom { grid-column: 8 / 13; grid-row: 3 / 5; }

/* Portrait feature plus two landscape images. */
figure.wp-block-gallery.psc-gallery-feature-stack-composition {
	aspect-ratio: 9 / 5;
	grid-template-rows: repeat(4, minmax(0, 1fr));
}

.psc-gallery-feature-stack-composition > .psc-gallery-item--feature-portrait { grid-column: 1 / 6; grid-row: 1 / 5; }
.psc-gallery-feature-stack-composition > .psc-gallery-item--feature-top { grid-column: 6 / 13; grid-row: 1 / 3; }
.psc-gallery-feature-stack-composition > .psc-gallery-item--feature-bottom { grid-column: 6 / 13; grid-row: 3 / 5; }

/* Asymmetric editorial layout. */
figure.wp-block-gallery.psc-gallery-editorial-composition {
	aspect-ratio: 6 / 5;
	grid-template-rows: repeat(6, minmax(0, 1fr));
}

.psc-gallery-editorial-composition > .psc-gallery-item--editorial-1 { grid-column: 1 / 8; grid-row: 1 / 4; }
.psc-gallery-editorial-composition > .psc-gallery-item--editorial-2 { grid-column: 8 / 13; grid-row: 1 / 5; }
.psc-gallery-editorial-composition > .psc-gallery-item--editorial-3 { grid-column: 1 / 5; grid-row: 4 / 7; }
.psc-gallery-editorial-composition > .psc-gallery-item--editorial-4 { grid-column: 5 / 8; grid-row: 4 / 7; }
.psc-gallery-editorial-composition > .psc-gallery-item--editorial-5 { grid-column: 8 / 13; grid-row: 5 / 7; }

/* Landscape + portrait composition with a panoramic anchor. */
figure.wp-block-gallery.psc-gallery-landscape-portrait-composition {
	aspect-ratio: 2 / 1;
	grid-template-rows: repeat(6, minmax(0, 1fr));
}

.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-1 { grid-column: 1 / 4; grid-row: 1 / 5; }
.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-2 { grid-column: 4 / 9; grid-row: 1 / 3; }
.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-3 { grid-column: 9 / 13; grid-row: 1 / 4; }
.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-4 { grid-column: 4 / 9; grid-row: 3 / 5; }
.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-5 { grid-column: 1 / 9; grid-row: 5 / 7; }
.psc-gallery-landscape-portrait-composition > .psc-gallery-item--lp-6 { grid-column: 9 / 13; grid-row: 4 / 7; }

/* Panoramic feature above a varied supporting strip. */
figure.wp-block-gallery.psc-gallery-feature-strip-composition {
	aspect-ratio: 7 / 6;
	grid-template-rows: repeat(6, minmax(0, 1fr));
}

.psc-gallery-feature-strip-composition > .psc-gallery-item--strip-1 { grid-column: 1 / 13; grid-row: 1 / 4; }
.psc-gallery-feature-strip-composition > .psc-gallery-item--strip-2 { grid-column: 1 / 5; grid-row: 4 / 7; }
.psc-gallery-feature-strip-composition > .psc-gallery-item--strip-3 { grid-column: 5 / 10; grid-row: 4 / 7; }
.psc-gallery-feature-strip-composition > .psc-gallery-item--strip-4 { grid-column: 10 / 13; grid-row: 4 / 7; }

/* At narrower widths, switch from the editorial composition to a stable native
   two-column sequence. This still uses the same Image blocks and therefore
   keeps replacement and lightbox behavior unchanged. */
@media (max-width: 1200px) {
	figure.wp-block-gallery.psc-gallery-composition {
		aspect-ratio: auto;
		grid-auto-rows: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
	}

	figure.wp-block-gallery.psc-gallery-composition > figure.wp-block-image.psc-gallery-item {
		align-self: start;
		aspect-ratio: 4 / 3;
		grid-column: auto !important;
		grid-row: auto !important;
		height: auto;
		width: 100% !important;
	}
}

@media (max-width: 600px) {

	.psc-side-navigation-layout {
		gap: var(--wp--preset--spacing--40) !important;
	}

	.psc-side-navigation-layout__nav,
	.psc-side-navigation-layout__content {
		flex-basis: 100% !important;
	}

	.psc-local-navigation {
		margin-bottom: var(--wp--preset--spacing--20);
	}
	figure.wp-block-gallery.psc-gallery-composition {
		grid-template-columns: 1fr;
	}

	.psc-gallery-composition > .psc-gallery-item--portrait { aspect-ratio: 3 / 4; }
	.psc-gallery-composition > .psc-gallery-item--square { aspect-ratio: 1 / 1; }
	.psc-gallery-composition > .psc-gallery-item--landscape { aspect-ratio: 16 / 9; }
	.psc-gallery-composition > .psc-gallery-item--panorama { aspect-ratio: 16 / 9; }
}

/* Legacy 0.6.1 gallery layouts are retained on the published site only so an
   administrator-modified copy keeps its existing appearance. They deliberately
   do not run in Gutenberg, where forcing layout onto editor wrappers caused the
   selection jump fixed in 0.6.2. */
.psc-permanent-theme .psc-mosaic > .wp-block-columns {
	align-items: stretch;
}

.psc-permanent-theme .psc-mosaic > .wp-block-columns > .wp-block-column:first-child {
	display: flex;
}

.psc-permanent-theme .psc-mosaic > .wp-block-columns > .wp-block-column:first-child > .wp-block-cover {
	aspect-ratio: auto !important;
	flex: 1 1 auto;
	height: 100%;
	min-height: 100%;
}

.psc-permanent-theme .psc-mosaic > .wp-block-columns > .wp-block-column:last-child > .wp-block-cover {
	width: 100%;
}

.psc-permanent-theme .psc-gallery-grid {
	--psc-gallery-gap: clamp(0.5rem, 1vw, 0.9rem);
	--psc-gallery-row: clamp(82px, 7.4vw, 118px);
	display: grid;
	gap: var(--psc-gallery-gap);
	grid-auto-rows: var(--psc-gallery-row);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile {
	aspect-ratio: auto !important;
	border-radius: 6px;
	height: 100%;
	margin-block: 0 !important;
	min-height: 0 !important;
	overflow: hidden;
}

.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.psc-permanent-theme .psc-gallery-feature-stack .psc-gallery-tile--feature { grid-column: 1 / 8; grid-row: 1 / 5; }
.psc-permanent-theme .psc-gallery-feature-stack .psc-gallery-tile--stack-top { grid-column: 8 / 13; grid-row: 1 / 3; }
.psc-permanent-theme .psc-gallery-feature-stack .psc-gallery-tile--stack-bottom { grid-column: 8 / 13; grid-row: 3 / 5; }
.psc-permanent-theme .psc-gallery-editorial .psc-gallery-tile--editorial-1 { grid-column: 1 / 8; grid-row: 1 / 4; }
.psc-permanent-theme .psc-gallery-editorial .psc-gallery-tile--editorial-2 { grid-column: 8 / 13; grid-row: 1 / 5; }
.psc-permanent-theme .psc-gallery-editorial .psc-gallery-tile--editorial-3 { grid-column: 1 / 5; grid-row: 4 / 7; }
.psc-permanent-theme .psc-gallery-editorial .psc-gallery-tile--editorial-4 { grid-column: 5 / 8; grid-row: 4 / 7; }
.psc-permanent-theme .psc-gallery-editorial .psc-gallery-tile--editorial-5 { grid-column: 8 / 13; grid-row: 5 / 7; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-1 { grid-column: 1 / 4; grid-row: 1 / 5; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-2 { grid-column: 4 / 9; grid-row: 1 / 3; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-3 { grid-column: 9 / 13; grid-row: 1 / 4; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-4 { grid-column: 4 / 9; grid-row: 3 / 5; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-5 { grid-column: 1 / 9; grid-row: 5 / 7; }
.psc-permanent-theme .psc-gallery-landscape-portrait .psc-gallery-tile--lp-6 { grid-column: 9 / 13; grid-row: 4 / 7; }
.psc-permanent-theme .psc-gallery-feature-strip .psc-gallery-tile--strip-1 { grid-column: 1 / 13; grid-row: 1 / 4; }
.psc-permanent-theme .psc-gallery-feature-strip .psc-gallery-tile--strip-2 { grid-column: 1 / 5; grid-row: 4 / 7; }
.psc-permanent-theme .psc-gallery-feature-strip .psc-gallery-tile--strip-3 { grid-column: 5 / 10; grid-row: 4 / 7; }
.psc-permanent-theme .psc-gallery-feature-strip .psc-gallery-tile--strip-4 { grid-column: 10 / 13; grid-row: 4 / 7; }

/* Keep the 4- and 5-across versions on the same Wide boundaries. Logo sizes
   remain consistent while the available space is distributed between fixed
   tracks, so the 8-logo version no longer appears narrower than the 10-logo
   version. */
.psc-sponsor-logos--native {
	display: grid !important;
	gap: clamp(1.25rem, 2vw, 2rem) !important;
	justify-content: space-between;
}

.psc-sponsor-logos--native.psc-sponsor-logos--4 {
	grid-template-columns: repeat(4, minmax(0, 180px)) !important;
}

.psc-sponsor-logos--native.psc-sponsor-logos--5 {
	grid-template-columns: repeat(5, minmax(0, 180px)) !important;
}

.psc-sponsor-logos--native > .wp-block-image {
	margin: 0;
	min-width: 0;
	width: 100%;
}

@media (max-width: 980px) {
	.psc-sponsor-logos--native.psc-sponsor-logos--4,
	.psc-sponsor-logos--native.psc-sponsor-logos--5 {
		grid-template-columns: repeat(2, minmax(0, 180px)) !important;
		justify-content: space-evenly;
	}
}

@media (max-width: 480px) {
	.psc-sponsor-logos--native.psc-sponsor-logos--4,
	.psc-sponsor-logos--native.psc-sponsor-logos--5 {
		grid-template-columns: minmax(0, 180px) !important;
		justify-content: center;
	}
}

.psc-sponsor-logos--native > .wp-block-image img {
	display: block;
	height: clamp(110px, 12vw, 180px) !important;
	margin-inline: auto;
	max-width: 180px;
	object-fit: contain;
	width: min(100%, 180px) !important;
}

/* Preserve published layout for administrator-modified 0.6.1 sponsor copies
   that predate the core Grid conversion. */
.psc-permanent-theme .psc-sponsor-logos:not(.psc-sponsor-logos--native) {
	--psc-sponsor-gap: clamp(1.25rem, 3vw, 3rem);
	align-items: center;
	display: grid;
	gap: var(--psc-sponsor-gap);
	justify-items: center;
}

.psc-permanent-theme .psc-sponsor-logos--4:not(.psc-sponsor-logos--native) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.psc-permanent-theme .psc-sponsor-logos--5:not(.psc-sponsor-logos--native) { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Impact Mosaic now gets its grid and vertical tile layout from core Group
   layout support. Theme CSS supplies only shape and interaction styling. */
.psc-impact-tile {
	aspect-ratio: 1 / 1;
	margin-block: 0 !important;
	min-height: 0 !important;
}

.psc-impact-tile--image {
	overflow: hidden;
}

.psc-impact-tile--image .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.psc-impact-tile--stat {
	position: relative;
	text-align: center;
	transition: box-shadow 180ms ease, filter 180ms ease, transform 180ms ease;
}

.psc-impact-tile__icon {
	margin-bottom: clamp(1rem, 2vw, 2rem);
}

.psc-impact-tile__icon img {
	display: block;
	margin-inline: auto;
}

.psc-impact-tile--stat h3,
.psc-impact-tile--stat p {
	margin-block-end: 0;
}

.psc-impact-tile__link-wrap {
	font-size: 0.92rem;
	font-weight: 700;
	margin-top: 1rem;
}

.psc-impact-tile__link {
	color: inherit;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.psc-permanent-theme .psc-impact-tile__link-wrap a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 2;
}

.psc-permanent-theme .psc-impact-tile--stat:has(.psc-impact-tile__link-wrap a):hover,
.psc-permanent-theme .psc-impact-tile--stat:has(.psc-impact-tile__link-wrap a):focus-within {
	box-shadow: 0 16px 34px rgba(0, 32, 92, 0.2);
	filter: brightness(1.08);
	transform: translateY(-3px);
}

.psc-permanent-theme .psc-impact-tile--stat:has(.psc-impact-tile__link-wrap a):focus-within {
	outline: 3px solid var(--psc-brand-accent, #f3d03e);
	outline-offset: 3px;
}

/* Responsive Table enhancement. JavaScript adds header-derived labels only on
   the published page. Without JavaScript it remains a normal semantic table. */
.psc-data-table table {
	width: 100%;
}

.psc-data-table th,
.psc-data-table td {
	overflow-wrap: anywhere;
}

@media (max-width: 1200px) {
	.psc-permanent-theme .psc-sponsor-logos--4:not(.psc-sponsor-logos--native) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.psc-permanent-theme .psc-sponsor-logos--5:not(.psc-sponsor-logos--native) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.psc-permanent-theme .psc-gallery-grid {
		grid-auto-rows: auto;
		grid-template-columns: 1fr;
	}

	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile {
		grid-column: auto !important;
		grid-row: auto !important;
		height: auto;
	}

	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile--portrait { aspect-ratio: 3 / 4 !important; }
	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile--square { aspect-ratio: 1 / 1 !important; }
	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile--landscape,
	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile--feature { aspect-ratio: 16 / 9 !important; }
	.psc-permanent-theme .psc-gallery-grid > .psc-gallery-tile--panorama { aspect-ratio: 21 / 9 !important; }

	.psc-impact-tile--stat {
		aspect-ratio: auto;
		min-height: 300px !important;
	}

	.psc-impact-tile--image {
		aspect-ratio: 4 / 3;
	}

	.psc-data-table table.psc-responsive-table--ready,
	.psc-data-table table.psc-responsive-table--ready tbody {
		display: block;
		width: 100%;
	}

	.psc-data-table table.psc-responsive-table--ready thead {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.psc-data-table table.psc-responsive-table--ready tbody {
		display: grid;
		gap: 1rem;
	}

	.psc-data-table table.psc-responsive-table--ready tbody tr {
		background: var(--psc-base, #ffffff) !important;
		border: 1px solid var(--wp--preset--color--ui-border, #d6dce5);
		border-radius: var(--psc-card-radius, 8px);
		box-shadow: var(--psc-card-shadow, 0 8px 24px rgba(0, 32, 92, 0.10));
		display: block;
		padding: 0.35rem 1rem;
	}

	.psc-data-table table.psc-responsive-table--ready tbody th,
	.psc-data-table table.psc-responsive-table--ready tbody td {
		align-items: start;
		background: transparent !important;
		border: 0;
		border-bottom: 1px solid var(--wp--preset--color--ui-border, #d6dce5);
		display: grid;
		gap: 1rem;
		grid-template-columns: minmax(7.5rem, 34%) minmax(0, 1fr);
		padding: 0.8rem 0;
		text-align: left !important;
		width: 100%;
	}

	.psc-data-table table.psc-responsive-table--ready tbody tr > :last-child {
		border-bottom: 0;
	}

	.psc-data-table table.psc-responsive-table--ready tbody th::before,
	.psc-data-table table.psc-responsive-table--ready tbody td::before {
		color: var(--psc-brand-primary, #00205c);
		content: attr(data-psc-label);
		font-family: var(--psc-font-heading, "Rubik", Arial, sans-serif);
		font-weight: 700;
	}
}

@media (max-width: 560px) {
	.psc-permanent-theme .psc-sponsor-logos--4:not(.psc-sponsor-logos--native),
	.psc-permanent-theme .psc-sponsor-logos--5:not(.psc-sponsor-logos--native) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 430px) {
	.psc-data-table table.psc-responsive-table--ready tbody th,
	.psc-data-table table.psc-responsive-table--ready tbody td {
		gap: 0.3rem;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 360px) {
	.psc-permanent-theme .psc-sponsor-logos--4:not(.psc-sponsor-logos--native),
	.psc-permanent-theme .psc-sponsor-logos--5:not(.psc-sponsor-logos--native) {
		grid-template-columns: 1fr;
	}
}


/* --------------------------------------------------------------------------
   Article/post reading flow
   -------------------------------------------------------------------------- */

/* The wide article shell is the containing canvas for native left/right Image
   alignment while Post Content retains the theme's constrained reading width. */
.psc-article-shell {
	width: 100%;
}

.psc-article-content {
	display: flow-root;
}

:where(.psc-article-content > .alignleft) {
	margin-bottom: 1.25rem;
	margin-right: clamp(1.25rem, 3vw, 2.5rem);
}

:where(.psc-article-content > .alignright) {
	margin-bottom: 1.25rem;
	margin-left: clamp(1.25rem, 3vw, 2.5rem);
}

/* --------------------------------------------------------------------------
   Responsive behavior
   -------------------------------------------------------------------------- */

@media (max-width: 1200px) {
	.psc-equal-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.psc-header-actions {
		justify-content: flex-start;
	}

	.psc-primary-nav-shell {
		justify-content: flex-end !important;
	}

	.psc-primary-navigation {
		flex: 0 0 auto;
		justify-content: flex-end;
		margin-left: auto;
		order: 2;
	}

	.psc-primary-nav-shell > .wp-block-search,
	.psc-minimal-nav-tools > .wp-block-search {
		order: 1;
	}

	.psc-header-buttons {
		justify-content: flex-start !important;
	}


	/* Native Navigation controls retain focus management and dismissal.
	   Only the PSC drawer's responsive layout is customized here. */
	.psc-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
		padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 3rem;
		gap: 0;
		align-items: stretch;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation__container {
		width: 100%;
		gap: 0;
		align-items: stretch;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item {
		width: 100%;
		position: relative;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		border-bottom: 1px solid #d6dce5;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item__content {
		color: inherit;
		font-size: 1rem;
		min-height: 44px;
		padding: .6rem 3rem .6rem .5rem;
		width: 100%;
		text-transform: none;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item__content::after {
		content: none;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle:not(.wp-block-navigation-item__content) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 0;
		top: 0;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent;
		color: inherit;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-submenu__toggle svg {
		width: 18px;
		height: 18px;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
		transform: rotate(180deg);
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		display: none;
		position: static;
		transform: none;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		box-shadow: none;
		background: transparent;
		color: inherit;
		border: 0;
		border-left: 1px solid #d6dce5;
		border-radius: 0;
		margin: 0 0 .5rem .75rem;
		padding: 0 0 0 .5rem;
		min-width: 0;
		width: calc(100% - .75rem);
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: flex;
	}
	.psc-primary-navigation .is-menu-open .wp-block-navigation-item__content:hover {
		text-decoration: underline;
	}
	.psc-primary-navigation .psc-mega-menu-introduction {
		display: none;
	}

	.psc-hero::before {
		background: linear-gradient(90deg, color-mix(in srgb, var(--psc-brand-primary, #00205c) 94%, transparent) 0%, color-mix(in srgb, var(--psc-brand-primary, #00205c) 84%, transparent) 22%, color-mix(in srgb, var(--psc-brand-primary, #00205c) 46%, transparent) 38%, transparent 55%, transparent 100%);
	}

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

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

	.psc-manual-event-cards__grid {
		grid-template-columns: repeat(min(2, var(--psc-manual-event-columns, 2)), minmax(0, 1fr));
	}
}

@media (max-width: 600px) {

	.psc-side-navigation-layout {
		gap: var(--wp--preset--spacing--40) !important;
	}

	.psc-side-navigation-layout__nav,
	.psc-side-navigation-layout__content {
		flex-basis: 100% !important;
	}

	.psc-local-navigation {
		margin-bottom: var(--wp--preset--spacing--20);
	}

	.psc-article-content > :where(.alignleft, .alignright) {
		float: none;
	}

	:where(.psc-article-content > .alignleft, .psc-article-content > .alignright) {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
	}

	.psc-equal-card-grid {
		grid-template-columns: 1fr;
	}

	.psc-brand-lockup,
	.psc-brand-lockup--expanded {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.6rem;
	}

	.psc-brand-lockup__logo img,
	.psc-brand-lockup--expanded .psc-brand-lockup__logo img {
		max-height: 94px;
		max-width: 132px;
	}

	.psc-brand-lockup__department {
		font-size: 1.05rem;
	}

	.psc-brand-lockup__tagline {
		font-size: 0.82rem;
	}

	.psc-header-action {
		font-size: 0.76rem;
		min-height: 44px;
		padding: 0.45rem 0.65rem;
	}

	.psc-hero {
		min-height: 520px;
	}

	.psc-hero-copy {
		max-width: none;
	}

	.psc-testimonials-stacked .psc-testimonial-card {
		align-items: flex-start !important;
		flex-direction: column;
	}

	.psc-network-feed {
		grid-template-columns: 1fr;
	}

	.psc-news-grid {
		grid-template-columns: 1fr;
	}

	.psc-news-list__item {
		grid-template-columns: 1fr;
	}

	.psc-news-query-vertical__item {
		grid-template-columns: 1fr;
	}

	.psc-news-list__media {
		max-width: none;
	}

	.psc-manual-event-cards__grid {
		grid-template-columns: 1fr;
	}

	.psc-section-hero--split .psc-section-hero__media,
	.psc-section-hero--split .psc-section-hero__media img {
		min-height: 240px;
	}

}


/* Mobile density: reduce desktop whitespace while retaining readable type and
   touch targets. These rules target public theme components, not Gutenberg's
   internal editor wrappers. */
@media (max-width: 782px) {
	.psc-site-footer {
		--wp--style--block-gap: var(--wp--preset--spacing--40);
	}

	:where(.psc-site-footer .wp-block-columns) {
		gap: var(--wp--preset--spacing--40);
	}

	:where(.psc-footer-legal) {
		gap: var(--wp--preset--spacing--20);
	}

	.psc-section-shell,
	.psc-page-content-shell,
	.psc-entry-content-shell,
	.psc-utility-content-shell {
		--psc-mobile-section-gap: var(--wp--preset--spacing--50);
	}

	.psc-utility-bar { display: none; }

}

@media (max-width: 600px) {
	.psc-hero {
		min-height: 400px;
	}

	.psc-campaign-cta {
		min-height: 320px !important;
	}

	.psc-section-hero--cover {
		min-height: 360px !important;
	}

	.psc-section-hero--split .psc-section-hero__media,
	.psc-section-hero--split .psc-section-hero__media img {
		min-height: 210px;
	}


}

/* Respect the visitor's motion preference. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

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

/* Provide a clean print view for schedules, policies, and reference pages. */
@media print {
	.psc-site-header,
	.psc-floating-header-shell,
	.psc-site-footer,
	.psc-alert,
	.psc-header-actions,
	.psc-primary-navigation {
		display: none !important;
	}

	a {
		color: #000000 !important;
		text-decoration: underline !important;
	}

	body {
		background: #ffffff !important;
		color: #000000 !important;
	}
}


/* Visual Arts remains PSC-led and uses Anna Red only where it has accessible
   contrast: light surfaces, white text on red, and decorative accents. */
.psc-brand-profile-visual-arts .psc-article-category a,
.psc-brand-profile-visual-arts .psc-page-content-shell .psc-section-kicker,
.psc-brand-profile-visual-arts .psc-entry-content-shell .psc-section-kicker,
.psc-brand-profile-visual-arts .psc-utility-content-shell .psc-section-kicker {
	color: var(--psc-site-accent, #a7252d);
}

.psc-brand-profile-visual-arts .psc-section-shell:not(.psc-section-hero):not(.has-background) > .wp-block-heading:first-of-type::after,
.psc-brand-profile-visual-arts .psc-section-shell.has-mist-background-color > .wp-block-heading:first-of-type::after {
	background: var(--psc-site-accent, #a7252d);
	content: "";
	display: block;
	height: 4px;
	margin-top: 0.45em;
	width: 46px;
}

.psc-brand-profile-visual-arts .psc-section-shell > .wp-block-heading.has-text-align-center:first-of-type::after {
	margin-left: auto;
	margin-right: auto;
}

.psc-brand-profile-visual-arts .is-style-psc-card,
.psc-brand-profile-visual-arts .psc-resource-item,
.psc-brand-profile-visual-arts .psc-manual-news-item {
	border-top-color: var(--psc-site-accent, #a7252d);
	border-top-width: 4px;
}

/* On ordinary light article/page surfaces, Anna Red becomes a visible accent
   without replacing PSC navy/green as the structural brand colors. */
.psc-brand-profile-visual-arts :where(.psc-page-content-shell, .psc-entry-content-shell, .psc-utility-content-shell) h2.wp-block-heading:not(.has-text-color)::after {
	background: var(--psc-site-accent, #a7252d);
	content: "";
	display: block;
	height: 4px;
	margin-top: 0.4em;
	width: 46px;
}

.psc-brand-profile-visual-arts :where(.psc-page-content-shell, .psc-entry-content-shell, .psc-utility-content-shell) h2.wp-block-heading.has-text-align-center:not(.has-text-color)::after {
	margin-left: auto;
	margin-right: auto;
}

.psc-brand-profile-visual-arts :where(.psc-page-content-shell, .psc-entry-content-shell, .psc-utility-content-shell) a:not(.wp-element-button) {
	color: var(--psc-site-accent, #a7252d);
	text-decoration-color: var(--psc-site-accent, #a7252d);
}

.psc-brand-profile-visual-arts :where(.psc-page-content-shell, .psc-entry-content-shell, .psc-utility-content-shell) .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background) {
	background: var(--psc-site-accent, #a7252d);
	border-color: var(--psc-site-accent, #a7252d);
	color: var(--psc-site-accent-text, #ffffff);
}

.psc-brand-profile-visual-arts .psc-process-number {
	background: var(--psc-site-accent, #a7252d);
	color: var(--psc-site-accent-text, #ffffff);
}

.psc-brand-profile-visual-arts .psc-site-header--floating-minimal .current-menu-item > .wp-block-navigation-item__content,
.psc-brand-profile-visual-arts .psc-site-header--floating-minimal .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--psc-site-accent, #a7252d);
	text-decoration-color: var(--psc-site-accent, #a7252d);
	text-decoration-line: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.35em;
}

/* Dark PSC surfaces retain gold/white accents instead of red-on-navy or
   red-on-green combinations that do not meet the intended contrast. */
.psc-brand-profile-visual-arts :where(.psc-hero, .psc-section-hero--cover, .psc-section-hero--band, .has-brand-primary-background-color, .has-brand-secondary-background-color, .psc-site-footer) .psc-section-kicker {
	color: var(--psc-brand-accent, #f3d03e);
}

.psc-brand-profile-visual-arts :where(.has-brand-primary-background-color, .has-brand-secondary-background-color, .psc-site-footer) h2.wp-block-heading::after {
	display: none;
}

.psc-brand-profile-visual-arts :where(.has-brand-primary-background-color, .has-brand-secondary-background-color, .psc-site-footer) a:not(.wp-element-button):not(:hover):not(:focus-visible) {
	color: inherit;
	text-decoration-color: currentColor;
}

.psc-brand-profile-visual-arts :where(.has-brand-primary-background-color, .has-brand-secondary-background-color) .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background) {
	background: var(--psc-brand-button, #036636);
	border-color: var(--psc-brand-button, #036636);
	color: var(--psc-brand-button-text, #ffffff);
}

.psc-brand-profile-visual-arts .has-site-accent-background-color,
.psc-brand-profile-visual-arts .wp-block-button__link.has-site-accent-background-color {
	color: var(--psc-site-accent-text, #ffffff);
}

/* Charter Academy has an approved full-color horizontal logo but no bundled
   reversed variant. Keep the official artwork intact and place it on a white
   surface when the standardized navy footer requires a dark background. */
.psc-brand-profile-charter-academy .psc-site-footer .psc-brand-lockup__logo {
	background: #ffffff;
	border-radius: 4px;
	display: inline-flex;
	padding: 8px 10px;
}

.psc-brand-profile-charter-academy .psc-site-footer .psc-brand-lockup__logo img {
	max-height: 52px;
	width: auto;
}
