/**
 * Site layout — header, footer, content shell.
 */

.vm-header,
.vm-header.wp-block-group {
	--vm-header-ink: #231f20;
	--vm-header-gold: #d5b129;
	--vm-header-gold-start: #f3d76a;
	--vm-header-search-expand: var(--vm-default-transition);
	--vm-header-search-input-inset: 16px;
	position: relative;
	z-index: 200;
	overflow: visible;
	width: 100%;
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
}

.vm-header .wp-block-group {
	margin-block-start: 0;
}

/*
 * Horizontal layer padding (Westeck method, VM gutter tokens).
 *
 * Root .wp-site-blocks horizontal padding stays 0 (avoids scrollbar /
 * 100vw right-gap with header/footer). Layer pads live on .site-main;
 * alignfull sections break out, then restore the same inset so full-bleed
 * backgrounds keep inner content aligned — same pattern as Westeck’s
 * --wp--style--root--padding-* restore, using --vm-layer-pad-*.
 *
 * Always keep at least the page gutter. Above wideSize, pad grows with
 * viewport centering math so 1361px–~1408px is not a flush-edge dead zone
 * (pads used to flip to 0 at 1361 while wideSize still filled the screen).
 *
 * Keep these tokens ONLY here (not re-declared later in style.css).
 */
:root {
	--vm-page-gutter: var(--wp--preset--spacing--gutter, clamp(1.25rem, 4vw, 1.5rem));
	--vm-layer-pad-left: var(--vm-page-gutter);
	--vm-layer-pad-right: var(--vm-page-gutter);
	/*
	 * Fluid vertical spacing (theme.json spacingSizes). Reinforce so layer
	 * padding (spacing|50–70) compresses on mobile even if a cache serves
	 * older fixed rem tokens.
	 */
	--wp--preset--spacing--30: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
	--wp--preset--spacing--40: clamp(1.125rem, 1rem + 0.7vw, 1.5rem);
	--wp--preset--spacing--50: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
	--wp--preset--spacing--60: clamp(2.5rem, 0.9rem + 4.5vw, 4rem);
	--wp--preset--spacing--70: clamp(3rem, 1rem + 6.5vw, 6rem);
}

@media (min-width: 1361px) {
	:root {
		--vm-layer-pad-left: max(
			var(--vm-page-gutter),
			calc((100vw - var(--wp--style--global--wide-size, 1360px)) / 2)
		);
		--vm-layer-pad-right: max(
			var(--vm-page-gutter),
			calc((100vw - var(--wp--style--global--wide-size, 1360px)) / 2)
		);
	}
}

.wp-site-blocks.has-global-padding,
body .wp-site-blocks.has-global-padding {
	padding-right: 0;
	padding-left: 0;
}

.wp-site-blocks > .alignfull,
.wp-site-blocks .alignfull {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/*
 * Content shell: page gutter on main (not .wp-site-blocks).
 * Post-content fills the shell; alignfull children break out below.
 */
.site-main.wp-block-group,
.site-main {
	box-sizing: border-box;
	padding-left: var(--vm-layer-pad-left);
	padding-right: var(--vm-layer-pad-right);
}

/*
 * Alignfull breakout (Westeck: width expansion + negative margins).
 * Padding is on .site-main; break out of that shell. Also match
 * .has-global-padding > .alignfull (constrained layouts get that class).
 * Never 100vw. !important beats section rules that reset width/margin.
 * Post-content itself must stay inside the shell (excluded from main >).
 */
.site-main > .alignfull:not(.wp-block-post-content):not(.entry-content),
.site-main.has-global-padding > .alignfull:not(.wp-block-post-content):not(.entry-content),
.wp-block-post-content > .alignfull,
.wp-block-post-content.has-global-padding > .alignfull,
.entry-content > .alignfull,
.entry-content.has-global-padding > .alignfull {
	box-sizing: border-box;
	max-width: none !important;
	width: calc(100% + var(--vm-layer-pad-left) + var(--vm-layer-pad-right)) !important;
	margin-left: calc(-1 * var(--vm-layer-pad-left)) !important;
	margin-right: calc(-1 * var(--vm-layer-pad-right)) !important;
}

.is-layout-constrained > .alignfull {
	max-width: none;
}

/*
 * Full-width core layout blocks — restore layer side padding after breakout.
 * Beats Site Editor global “Group padding: 0” via specificity; inline 0 still
 * opts out.
 *
 * NEVER restore on header/footer chrome: those sit outside .site-main, so they
 * never get the breakout selectors — restore-without-breakout = side gaps on
 * the background. They already inset via alignwide inners (.vm-header__*-inner,
 * .vm-footer__inner / logos).
 *
 * Edge-to-edge content sections and site-main (shell) are also excluded.
 */
:is(.wp-block-group, .wp-block-columns, .wp-block-media-text).alignfull:is(
		.is-layout-constrained,
		.is-layout-flow
	):not(.site-main):not(.vm-header):not(.vm-header__utility):not(
		.vm-header__main
	):not(.vm-footer):not(.vm-footer__main):not(.vm-footer__sponsors):not(
		.vm-home-wayfinding
	):not(.vm-indoor-outdoor):not(.vm-scores-strip):not(.vm-half-capsule):not(
		:is(.is-layout-grid, .wp-block-grid) > .alignfull
	) {
	padding-left: var(--vm-layer-pad-left);
	padding-right: var(--vm-layer-pad-right);
}

:is(.wp-block-cover, .wp-block-cover-image).alignfull:not(.home-hero):not(
		.vm-hero-style-1
	)
	.wp-block-cover__inner-container:is(.is-layout-constrained, .is-layout-flow) {
	padding-left: var(--vm-layer-pad-left);
	padding-right: var(--vm-layer-pad-right);
}

/* No stacked layer padding on nested full-width layout blocks.
 * Exclude .site-main so top-level sections under main still restore. */
.alignfull:is(.wp-block-group, .wp-block-columns, .wp-block-media-text):not(
		.site-main
	)
	:is(.wp-block-group, .wp-block-columns, .wp-block-media-text).alignfull {
	padding-left: 0;
	padding-right: 0;
}

/*
 * Nested alignfull inside a restored parent must escape that parent's
 * layer-pad so backgrounds stay full-bleed, then re-restore the same pad
 * so headings / alignwide content stay inset (Safe Sport black banner).
 * Skip edge-to-edge section parents (wayfinding, etc.) — their nested
 * alignfull columns must remain pad-free.
 * Skip .is-layout-grid / .wp-block-grid — children are tracks (e.g. Report a
 * Complaint Maltreatment / Non-Maltreatment cards), not nested full-bleed layers.
 * No-op margins when parent pad is 0.
 */
.site-main
	.alignfull:is(.wp-block-group, .wp-block-columns, .wp-block-media-text):not(
		.site-main
	):not(.vm-home-wayfinding):not(.vm-indoor-outdoor):not(.vm-scores-strip):not(
		.vm-half-capsule
	):not(.is-layout-grid):not(.wp-block-grid)
	> .alignfull {
	box-sizing: border-box;
	max-width: none !important;
	width: calc(100% + var(--vm-layer-pad-left) + var(--vm-layer-pad-right)) !important;
	margin-left: calc(-1 * var(--vm-layer-pad-left)) !important;
	margin-right: calc(-1 * var(--vm-layer-pad-right)) !important;
	/* Re-restore — beat generic restore :not() specificity + nested zeroing. */
	padding-left: var(--vm-layer-pad-left) !important;
	padding-right: var(--vm-layer-pad-right) !important;
}

.editor-styles-wrapper
	.is-root-container
	.alignfull:is(.wp-block-group, .wp-block-columns, .wp-block-media-text):not(
		.vm-home-wayfinding
	):not(.vm-indoor-outdoor):not(.vm-scores-strip):not(.vm-half-capsule):not(
		.is-layout-grid
	):not(.wp-block-grid)
	> .alignfull {
	box-sizing: border-box;
	max-width: none !important;
	width: calc(100% + var(--vm-layer-pad-left) + var(--vm-layer-pad-right)) !important;
	margin-left: calc(-1 * var(--vm-layer-pad-left)) !important;
	margin-right: calc(-1 * var(--vm-layer-pad-right)) !important;
	padding-left: var(--vm-layer-pad-left) !important;
	padding-right: var(--vm-layer-pad-right) !important;
}

/*
 * Grid tracks with alignfull: fill the cell only. Never re-breakout with
 * layer-pad width/margin (would overflow 50/50 columns). Leave horizontal
 * padding to the block (inline / custom CSS), not --vm-layer-pad-*.
 * Primary guard is :not(.is-layout-grid):not(.wp-block-grid) above; this
 * safety net mirrors nested-breakout specificity (+ grid class) so width /
 * margin still win if an older sheet lacks those exclusions.
 */
.site-main
	.alignfull:is(.is-layout-grid, .wp-block-grid):is(
		.wp-block-group,
		.wp-block-columns,
		.wp-block-media-text
	):not(.site-main):not(.vm-home-wayfinding):not(.vm-indoor-outdoor):not(
		.vm-scores-strip
	):not(.vm-half-capsule)
	> .alignfull,
.editor-styles-wrapper
	.alignfull:is(.is-layout-grid, .wp-block-grid):is(
		.wp-block-group,
		.wp-block-columns,
		.wp-block-media-text
	):not(.vm-home-wayfinding):not(.vm-indoor-outdoor):not(.vm-scores-strip):not(
		.vm-half-capsule
	)
	> .alignfull {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Cover inside an already-padded full-width section — group padding is enough. */
.alignfull:is(.wp-block-group, .wp-block-columns, .wp-block-media-text):not(
		.site-main
	)
	:is(.wp-block-cover, .wp-block-cover-image).alignfull
	.wp-block-cover__inner-container {
	padding-left: 0;
	padding-right: 0;
}

/* Hard-zero chrome horizontals if any restore/specificity slips through. */
.vm-header.alignfull,
.vm-header__utility.alignfull,
.vm-header__main.alignfull,
.vm-footer.alignfull,
.vm-footer__main.alignfull,
.vm-footer__sponsors.alignfull {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.vm-footer .has-global-padding:not(.alignfull):not(.vm-footer__sponsors):not(.vm-footer__inner) {
	padding-right: 0;
	padding-left: 0;
}

header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-template-part.alignfull,
.wp-block-volleyball-manitoba-site-footer.alignfull {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
}

/*
 * theme.json blockGap (1.5rem) is applied as margin-block-start on
 * .wp-site-blocks children (and as gap when the root is flex). Header and
 * footer already zero that margin; main is the second child so it still
 * got the 1.5rem gap above it. Keep site-main padding and chrome inner
 * padding unchanged.
 */
.wp-site-blocks {
	gap: 0;
}

.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > header,
.wp-site-blocks > main.site-main,
.wp-site-blocks > .site-main,
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > footer,
header.wp-block-template-part,
header.wp-block-template-part.alignfull,
footer.wp-block-template-part,
footer.wp-block-template-part.alignfull,
.wp-block-template-part:has(.vm-header),
.wp-block-template-part:has(.vm-footer) {
	margin-top: 0;
	margin-bottom: 0;
	margin-block-start: 0;
	margin-block-end: 0;
}

.vm-header__utility {
	position: relative;
	z-index: 5;
	background: var(--vm-header-ink);
	min-height: 45px;
	overflow: visible;
}

.vm-header__utility-inner {
	min-height: 45px;
	padding-block: 0;
	box-sizing: border-box;
}

.vm-header__utility-nav {
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-size: 12.75px;
	font-weight: 700;
	line-height: 1.2;
	overflow: visible;
}

.vm-header__utility a,
.vm-header__utility-nav a,
.vm-header__utility-nav a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation__submenu-container a,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
	line-height: 1.2;
}

.vm-header__utility-nav a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--vm-white, #ffffff);
	padding: 3px 7px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-size: 12.75px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-decoration: none;
	text-transform: none;
	transform: none;
}

.vm-header__utility-nav .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .vm-header__contact.has-child > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .vm-header__contact.has-child > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .vm-header__contact.has-child > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .vm-header__contact.has-child > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .vm-header__contact.has-child > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .vm-header__contact.has-child > .wp-block-navigation-item__content:focus-visible {
	color: var(--vm-header-gold-start, #f3d76a);
	font-size: 12.75px;
	font-weight: 700;
	font-style: normal;
	text-decoration: none;
}

/* Theme CSS triangles — hide on every utility item, including leaves. */
.vm-header__utility-nav .wp-block-navigation-item .wp-block-navigation-item__content::after,
.vm-header__utility-nav .wp-block-navigation-item:not(.has-child):not(.wp-block-navigation-submenu) .wp-block-navigation-item__content::after,
.vm-header__utility-nav .vm-header__contact .wp-block-navigation-item__content::after {
	content: none;
	display: none;
}

.vm-header__utility-nav .wp-block-navigation-item:not(.has-child):not(.wp-block-navigation-submenu) .wp-block-navigation__submenu-icon,
.vm-header__utility-nav .wp-block-navigation-item:not(.has-child):not(.wp-block-navigation-submenu) .wp-block-navigation-submenu__toggle {
	display: none;
}

.vm-header__utility-nav .wp-block-navigation-item.has-child,
.vm-header__utility-nav .wp-block-navigation-submenu {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2px;
}

.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content,
.vm-header__utility-nav .has-child > .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item:has(> .wp-block-navigation-submenu__toggle) > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item:has(> .wp-block-navigation-submenu__toggle) > .wp-block-navigation-item__content {
	padding-right: 0;
}

.vm-header__utility-nav .has-child > .wp-block-navigation-submenu__toggle,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle,
.vm-header__utility-nav .has-child > .wp-block-navigation__submenu-icon,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation__submenu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--vm-white, #ffffff);
	line-height: 0;
	cursor: pointer;
}

.vm-header__utility-nav .wp-block-navigation-submenu__toggle svg,
.vm-header__utility-nav .wp-block-navigation__submenu-icon svg {
	display: block;
	width: 10px;
	height: 10px;
}

.vm-header__utility-nav .wp-block-navigation-submenu__toggle svg path,
.vm-header__utility-nav .wp-block-navigation__submenu-icon svg path {
	stroke: currentColor;
	stroke-width: 1.5;
	fill: none;
}

/*
 * Gold CTA only on true leaf buttons (Contact without submenu, or .wp-block-button__link).
 * Dropdown parents (.has-child) must stay as normal utility text links + caret.
 */
.vm-header__utility .wp-block-button__link,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content {
	background: linear-gradient(90deg, var(--vm-header-gold-start), var(--vm-header-gold));
	color: var(--vm-header-ink);
	border-radius: 40px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-size: 13px;
	font-weight: 800;
	font-style: normal;
	padding: 5px 10px 4px 10px;
	line-height: 1;
	text-decoration: none;
	transition: background var(--vm-default-transition), background-color var(--vm-default-transition), color var(--vm-default-transition);
}

/* Ink caret only when Contact is a leaf pill (no submenu toggle in normal use). */
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-submenu__toggle,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation__submenu-icon {
	color: var(--vm-header-ink);
}

/*
 * Strip button / wp-element-button chrome from utility dropdown parents
 * (Registration, Scores, Get Involved, Contact-with-submenu, etc.).
 */
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content,
.vm-header__utility-nav .has-child > .wp-block-navigation-item__content,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content.wp-element-button,
.vm-header__utility-nav .has-child > a.wp-block-button__link,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > .wp-block-navigation-item__content {
	background: transparent;
	background-image: none;
	background-color: transparent;
	color: var(--vm-white, #ffffff);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-size: 12.75px;
	font-weight: 700;
	font-style: normal;
	padding: 3px 0 3px 7px;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
	transform: none;
}

.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .has-child > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .has-child > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .has-child > .wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content.wp-element-button:hover,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content.wp-element-button:focus,
.vm-header__utility-nav .has-child > a.wp-block-navigation-item__content.wp-element-button:focus-visible,
.vm-header__utility-nav .has-child > a.wp-block-button__link:hover,
.vm-header__utility-nav .has-child > a.wp-block-button__link:focus,
.vm-header__utility-nav .has-child > a.wp-block-button__link:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact.has-child > .wp-block-navigation-item__content:focus-visible {
	background: transparent;
	background-image: none;
	background-color: transparent;
	color: var(--vm-header-gold-start, #f3d76a) !important;
	border-radius: 0;
	box-shadow: none;
}

/*
 * Current top-level utility page: resting label uses the same gold as hover.
 * Direct children of the utility list only — not ancestors, parents, or flyout links.
 */
.vm-header__utility-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > a.wp-block-navigation-item__content,
.vm-header__utility-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.vm-header__utility-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > a.wp-block-navigation-item__content[aria-current="page"],
.vm-header__utility-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--vm-header-gold-start, #f3d76a);
}

.vm-header__utility .wp-block-button__link:hover,
.vm-header__utility .wp-block-button__link:focus,
.vm-header__utility .wp-block-button__link:focus-visible,
.vm-header__utility a.wp-block-button__link:hover,
.vm-header__utility a.wp-block-button__link:focus,
.vm-header__utility a.wp-block-button__link:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus-visible {
	background: var(--vm-header-gold-start, #f3d76a);
	background-color: var(--vm-header-gold-start, #f3d76a);
	color: #231F20 !important;
}

/*
 * Utility flyouts: ink bar (#231f20), 16px vertical padding, scaleY from top.
 * Override WP's width/height:0 closed state so transform can animate.
 */
.vm-header__utility-nav .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container,
.vm-header__utility-nav .has-child .wp-block-navigation__submenu-container,
.vm-header__utility-nav .wp-block-navigation__submenu-container,
.vm-header__utility-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
	background-color: var(--vm-header-ink);
	background: var(--vm-header-ink);
	color: var(--vm-white, #ffffff);
	border-color: transparent;
	box-shadow: 0 8px 20px rgba(35, 31, 32, 0.28);
	border-radius: 10px;
	padding: 16px 0;
	width: auto;
	height: auto;
	min-width: 200px;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 6;
	transform: scaleY(0);
	transform-origin: top center;
	transition: opacity 180ms cubic-bezier(0.3, 0, 0.14, 1),
		transform 180ms cubic-bezier(0.3, 0, 0.14, 1),
		visibility 180ms cubic-bezier(0.3, 0, 0.14, 1);
}

@media (hover: hover) {
	.vm-header__utility-nav .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
		opacity: 1;
		visibility: visible;
		overflow: hidden;
		border-radius: 10px;
		pointer-events: auto;
		transform: scaleY(1);
		width: auto;
		height: auto;
		min-width: 200px;
	}
}

.vm-header__utility-nav .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container,
.vm-header__utility-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	overflow: hidden;
	border-radius: 10px;
	pointer-events: auto;
	transform: scaleY(1);
	width: auto;
	height: auto;
	min-width: 200px;
}

@media (prefers-reduced-motion: reduce) {
	.vm-header__utility-nav .has-child .wp-block-navigation__submenu-container,
	.vm-header__utility-nav .wp-block-navigation__submenu-container {
		transform: none;
		transition: opacity 150ms ease, visibility 150ms ease;
	}
}

.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation__submenu-container a,
.vm-header__utility-nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
	color: var(--vm-white, #ffffff);
	font-size: 12.75px;
	text-wrap: balance;
	transform: translateX(0);
	transition: color var(--vm-default-transition), transform var(--vm-default-transition);
}

/*
 * Desktop utility flyout link padding. The utility bar is hidden at
 * max-width 1099px; mobile subpages use the drawer accordion. Six classes
 * beat core `.5em 1em` and the shared utility link padding (3px 7px).
 */
.vm-header__utility-nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: .5em 1.2em;
}

.vm-header__utility .wp-block-navigation__submenu-container a:hover,
.vm-header__utility .wp-block-navigation__submenu-container a:focus,
.vm-header__utility .wp-block-navigation__submenu-container a:focus-visible,
.vm-header__utility .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
.vm-header__utility .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus,
.vm-header__utility .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation__submenu-container a:hover,
.vm-header__utility-nav .wp-block-navigation__submenu-container a:focus,
.vm-header__utility-nav .wp-block-navigation__submenu-container a:focus-visible,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.vm-header__contact) a.wp-block-navigation-item__content:focus-visible {
	color: var(--vm-header-gold-start, #f3d76a);
	font-size: 12.75px;
	transform: translateX(5px);
}

/*
 * Current page inside a utility flyout: a 5px dot, 10px left of the label,
 * out of flow so the text does not shift. The link ::after is the hidden
 * theme caret, so the dot lives on the label. Ancestors are not dotted.
 * Top-level current items stay gold. The panel is ink; the dot uses the
 * label color (white) so it shows on that background.
 */
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content .wp-block-navigation-item__label,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label {
	position: relative;
}

.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content .wp-block-navigation-item__label::after,
.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label::after {
	content: "";
	position: absolute;
	left: -10px;
	top: 50%;
	z-index: 1;
	width: 5px;
	height: 5px;
	margin-top: -2.5px;
	border-radius: 50%;
	background-color: currentColor;
	pointer-events: none;
}

.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus-visible {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.vm-header__utility-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.vm-header__utility-nav .wp-block-navigation__submenu-container a,
	.vm-header__utility-nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content,
	.vm-header__utility-nav .wp-block-navigation__submenu-container a:hover,
	.vm-header__utility-nav .wp-block-navigation__submenu-container a:focus,
	.vm-header__utility-nav .wp-block-navigation__submenu-container a:focus-visible {
		transform: none;
		transition: color var(--vm-default-transition);
	}
}

.vm-header__utility .wp-block-button__link:hover,
.vm-header__utility .wp-block-button__link:focus,
.vm-header__utility .wp-block-button__link:focus-visible,
.vm-header__utility a.wp-block-button__link:hover,
.vm-header__utility a.wp-block-button__link:focus,
.vm-header__utility a.wp-block-button__link:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content:focus-visible,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:hover,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus,
.vm-header__utility-nav .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content:focus-visible {
	color: #231F20 !important;
}

.vm-header__main {
	position: relative;
	z-index: 1;
	background: var(--vm-white, #ffffff);
	min-height: 110px;
}

.vm-header__main-inner {
	min-height: 110px;
	gap: 1.5rem;
	box-sizing: border-box;
}

.vm-header__logo {
	margin: 0;
	flex: 0 0 auto;
}

.vm-header__logo a {
	display: block;
	line-height: 0;
	font-style: normal;
	text-decoration: none;
	opacity: 1;
	transition: opacity var(--vm-default-transition);
}

.vm-header__logo a:hover,
.vm-header__logo a:focus-visible {
	opacity: 0.6;
}

.vm-header__logo img {
	display: block;
	width: 225px;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

.vm-header__tools {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	justify-content: flex-end;
}

.vm-header .vm-header__tools.wp-block-group,
.vm-header .wp-block-group.vm-header__tools.is-layout-flex {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	grid-template-rows: minmax(0, auto);
	align-items: center;
	column-gap: 12px;
	justify-content: stretch;
}

.vm-header__main-nav {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	z-index: 1;
	min-width: 0;
	font-family: var(--font-source-sans);
	font-optical-sizing: auto;
	font-size: 18px;
	font-weight: 700;
	font-style: italic;
	letter-spacing: -0.18px;
	line-height: 1;
	opacity: 1;
	visibility: visible;
	transition: opacity var(--vm-header-search-expand, var(--vm-default-transition)),
		visibility var(--vm-header-search-expand, var(--vm-default-transition));
}

.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content,
.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content.wp-element-button,
.vm-header__main-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--vm-header-ink);
	padding: 10px;
	font-family: var(--font-source-sans);
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: italic;
	font-size: inherit;
	letter-spacing: -0.18px;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	text-transform: none;
}

.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content:hover,
.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content:focus,
.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content:focus-visible,
.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content.wp-element-button:hover,
.vm-header__main-nav.wp-block-navigation a.wp-block-navigation-item__content.wp-element-button:focus,
.vm-header__main-nav.wp-block-navigation .current-menu-item > a.wp-block-navigation-item__content,
.vm-header__main-nav.wp-block-navigation .current-menu-item > a.wp-block-navigation-item__content:hover,
.vm-header__main-nav.wp-block-navigation .current-menu-item > a.wp-block-navigation-item__content:focus,
.vm-header__main-nav .wp-block-navigation-item__content:hover,
.vm-header__main-nav .wp-block-navigation-item__content:focus,
.vm-header__main-nav .wp-block-navigation-item__content:focus-visible,
.vm-header__main-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--vm-header-ink);
	font-weight: 700;
	font-style: italic;
	text-decoration: none;
}

/*
 * Dropdown indicator: two stacked chevrons in a clip box.
 * Open: default slides out + fades; after that finishes, flipped fades in place.
 * Close: flipped slides out + fades; after that finishes, default fades in place.
 * Incoming opacity is delayed by --vm-default-transition-duration so the
 * second fade does not overlap the outgoing motion.
 */
.vm-header .vm-nav-caret {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 12px;
	overflow: hidden;
	flex-shrink: 0;
	pointer-events: none;
	color: currentColor;
	line-height: 0;
	vertical-align: middle;
}

.vm-header__main-nav .vm-nav-caret {
	color: var(--vm-header-ink, #231f20);
}

.vm-header .vm-nav-caret__layer {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vm-header .vm-nav-caret__layer::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 7px solid currentColor;
}

.vm-header .vm-nav-caret__layer--default {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity var(--vm-default-transition) var(--vm-default-transition-duration),
		transform 0s;
}

.vm-header .vm-nav-caret__layer--flipped {
	opacity: 0;
	transform: translateY(-100%);
	transition:
		opacity var(--vm-default-transition),
		transform var(--vm-default-transition);
}

.vm-header__main-nav .vm-nav-caret__layer--flipped {
	color: var(--vm-header-gold, #d5b129);
}

/* Utility top-level: flipped hover/open caret matches gold link text hover */
.vm-header__utility-nav .vm-nav-caret__layer--flipped {
	color: var(--vm-header-gold-start, #f3d76a);
}

.vm-header .vm-nav-caret__layer--flipped::before {
	transform: scaleY(-1);
}

.vm-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content .vm-nav-caret__layer--default,
.vm-header .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle .vm-nav-caret__layer--default,
.vm-header .wp-block-navigation-item > .wp-block-navigation-item__content.is-active .vm-nav-caret__layer--default,
.vm-header .wp-block-navigation-item > .wp-block-navigation-item__content[aria-expanded="true"] .vm-nav-caret__layer--default,
.vm-header .wp-block-navigation-submenu__toggle[aria-expanded="true"] .vm-nav-caret__layer--default {
	opacity: 0;
	transform: translateY(100%);
	transition: opacity var(--vm-default-transition), transform var(--vm-default-transition);
}

.vm-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content .vm-nav-caret__layer--flipped,
.vm-header .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle .vm-nav-caret__layer--flipped,
.vm-header .wp-block-navigation-item > .wp-block-navigation-item__content.is-active .vm-nav-caret__layer--flipped,
.vm-header .wp-block-navigation-item > .wp-block-navigation-item__content[aria-expanded="true"] .vm-nav-caret__layer--flipped,
.vm-header .wp-block-navigation-submenu__toggle[aria-expanded="true"] .vm-nav-caret__layer--flipped {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity var(--vm-default-transition) var(--vm-default-transition-duration),
		transform 0s;
}

.vm-header .wp-block-navigation-submenu__toggle:has(.vm-nav-caret),
.vm-header .wp-block-navigation__submenu-icon:has(.vm-nav-caret) {
	position: relative;
}

.vm-header .wp-block-navigation-submenu__toggle:has(.vm-nav-caret) svg,
.vm-header .wp-block-navigation__submenu-icon:has(.vm-nav-caret) svg {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.vm-header .vm-nav-caret__layer,
	.vm-header .vm-nav-caret__layer--default,
	.vm-header .vm-nav-caret__layer--flipped {
		transition: none !important;
	}
}

.vm-header__search {
	margin: 0;
	grid-column: 1 / -1;
	grid-row: 1;
	z-index: 2;
	pointer-events: none;
}

.vm-header__search.wp-block-search,
.vm-header__search.wp-block-search.wp-block-search__button-only,
.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	overflow: visible;
	align-self: stretch;
}

.vm-header__search.wp-block-search .wp-block-search__label {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.vm-header__search.wp-block-search .wp-block-search__inside-wrapper,
.vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper,
.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	grid-template-rows: minmax(0, auto);
	align-items: center;
	column-gap: 12px;
	width: 100%;
	min-width: 0 !important;
	max-width: none;
	height: 100%;
	overflow: visible;
	transition: none;
}

.vm-header__search.wp-block-search .wp-block-search__button {
	grid-column: 2;
	grid-row: 1;
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
	width: 20px;
	min-width: 20px;
	max-width: 20px;
	height: 20px;
	padding: 0;
	margin: 0;
	background: var(--vm-white, #ffffff);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--vm-header-ink, #231f20);
	position: relative;
	z-index: 4;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto;
	transition: color var(--vm-default-transition), fill var(--vm-default-transition),
		opacity var(--vm-default-transition);
}

.vm-header__search.wp-block-search .wp-block-search__button:hover,
.vm-header__search.wp-block-search .wp-block-search__button:focus-visible {
	color: var(--vm-header-gold, #d5b129);
	opacity: 1 !important;
}

.vm-header__search.wp-block-search .wp-block-search__button:hover svg,
.vm-header__search.wp-block-search .wp-block-search__button:focus-visible svg,
.vm-header__search.wp-block-search .wp-block-search__button:hover svg path,
.vm-header__search.wp-block-search .wp-block-search__button:focus-visible svg path {
	fill: var(--vm-header-gold, #d5b129);
}

.vm-header__search.wp-block-search .wp-block-search__button svg {
	display: block;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	flex: 0 0 20px;
	object-fit: contain;
	opacity: 1;
	visibility: visible;
	fill: var(--vm-header-ink, #231f20);
	transition: fill var(--vm-default-transition);
}

.vm-header__search.wp-block-search .wp-block-search__button svg path {
	fill: var(--vm-header-ink, #231f20);
	transition: fill var(--vm-default-transition);
}

/*
 * Search field layers over the primary nav in column 1. The icon lives in
 * column 2 so it cannot be covered, moved, or faded. Width is set from JS to
 * the main-nav items’ occupied width (--vm-header-search-nav-width); justify
 * end + scaleX from the right so the bar grows leftward over the nav only.
 */
.vm-header__search.wp-block-search .wp-block-search__input,
.vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input,
.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: var(--vm-header-search-nav-width, 100%) !important;
	min-width: 0 !important;
	max-width: 100%;
	flex-grow: 0;
	flex-basis: auto !important;
	justify-self: end;
	align-self: stretch;
	height: auto;
	margin: var(--vm-header-search-input-inset, 16px) 0;
	margin-left: auto;
	padding: 0 8px 0 32px !important;
	border: 0 !important;
	border-radius: 0;
	background: var(--vm-white, #ffffff);
	box-shadow: none;
	color: var(--vm-grey-medium, #747474);
	font-family: var(--font-raleway, var(--font-primary));
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-style: normal;
	font-size: calc(var(--text-h3, 40px) * 0.8);
	line-height: 1;
	letter-spacing: 0;
	overflow: hidden;
	opacity: 1;
	visibility: visible;
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform var(--vm-header-search-expand, var(--vm-default-transition));
}

.vm-header--search-open .vm-header__main-nav {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/*
 * Closed-state input rules include .wp-block-search__button-only (0,4,1).
 * Open-state must match that specificity or the field stays scaled shut.
 */
.vm-header--search-open .vm-header__search.wp-block-search .wp-block-search__input,
.vm-header--search-open .vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input,
.vm-header--search-open .vm-header__search.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	display: block;
	pointer-events: auto;
	z-index: 3;
	transform: scaleX(1);
}

.vm-header--search-open .vm-header__search,
.vm-header--search-open .vm-header__search .wp-block-search__button,
.vm-header--search-open .vm-header__search .wp-block-search__button svg {
	opacity: 1 !important;
	visibility: visible !important;
}

.vm-header--search-open .vm-header__search .wp-block-search__button:hover,
.vm-header--search-open .vm-header__search .wp-block-search__button:focus-visible {
	color: var(--vm-header-gold, #d5b129);
	opacity: 1 !important;
}

.vm-header--search-open .vm-header__search .wp-block-search__button:hover svg,
.vm-header--search-open .vm-header__search .wp-block-search__button:focus-visible svg,
.vm-header--search-open .vm-header__search .wp-block-search__button:hover svg path,
.vm-header--search-open .vm-header__search .wp-block-search__button:focus-visible svg path {
	fill: var(--vm-header-gold, #d5b129);
	opacity: 1 !important;
}

.vm-header__search.wp-block-search .wp-block-search__input::placeholder {
	color: var(--vm-grey-medium, #747474);
	opacity: 0;
	font-style: normal;
	font-weight: 500;
	transition: opacity var(--vm-header-search-expand, var(--vm-default-transition));
}

.vm-header--search-open .vm-header__search.wp-block-search .wp-block-search__input::placeholder {
	opacity: 0;
}

.vm-header--search-ready .vm-header__search.wp-block-search .wp-block-search__input::placeholder {
	opacity: 1;
}

.vm-header__search.wp-block-search .wp-block-search__input:focus {
	outline: none;
	box-shadow: none;
	color: var(--vm-header-ink, #231f20);
}

.vm-mega-menu-panels {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.vm-header__main-nav,
	.vm-header__search.wp-block-search .wp-block-search__button,
	.vm-header__search.wp-block-search .wp-block-search__input,
	.vm-header__search.wp-block-search .wp-block-search__input::placeholder {
		transition: none;
	}

	.vm-header--search-open .vm-header__search.wp-block-search .wp-block-search__input::placeholder {
		opacity: 1;
	}
}

.vm-header > .mega-menu-panel,
.mega-menu-panel {
	--vm-mega-panel-duration: 320ms;
	--vm-mega-panel-ease: cubic-bezier(0.3, 0, 0.14, 1);
	position: absolute;
	left: 0;
	right: 0;
	/* Flush to the header bottom. JS appends panels as .vm-header children,
	 * so WP flow blockGap (1.5rem / ~24px) would otherwise add
	 * margin-block-start and sit the panel in the closed header–main gap. */
	top: 100%;
	margin: 0;
	margin-block-start: 0;
	z-index: 199;
	padding: 0;
	background: var(--vm-header-gold-start, #f3d76a);
	border-bottom: 0 solid var(--vm-header-gold-start, #f3d76a);
	box-shadow: none;
	height: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	min-height: 0;
	transition-property: height, opacity, visibility, box-shadow, border-bottom-width;
	transition-duration: var(--vm-mega-panel-duration), 200ms, 200ms, var(--vm-mega-panel-duration), var(--vm-mega-panel-duration);
	transition-timing-function: var(--vm-mega-panel-ease);
	/* Visibility waits for height collapse so the panel stays in the tree while extending shut. */
	transition-delay: 0s, 0s, var(--vm-mega-panel-duration), 0s, 0s;
}

.mega-menu-panel::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -16px;
	height: 16px;
	background: transparent;
}

.mega-menu-panel.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	border-bottom-width: 1px;
	box-shadow: 0 16px 32px rgba(35, 31, 32, 0.08);
	transition-delay: 0s, 0s, 0s, 0s, 0s;
	/* Height is set in px by mega-menu.js so the panel can extend to content size. */
}

.mega-menu-panel.is-closing {
	pointer-events: none;
	transition-property: height, opacity, visibility, box-shadow, border-bottom-width;
	transition-duration: var(--vm-mega-panel-duration), 200ms, 200ms, var(--vm-mega-panel-duration), var(--vm-mega-panel-duration);
	transition-delay: 0s, 0s, var(--vm-mega-panel-duration), 0s, 0s;
}

.mega-menu-panel.is-closing * {
	transition: none !important;
	animation: none !important;
}

.mega-menu-panel.is-instant-hide {
	transition: none !important;
	height: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	box-shadow: none !important;
	border-bottom-width: 0 !important;
}

.mega-menu-panel.is-instant-show {
	transition: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	/* Height still applied inline by JS for the open content size. */
}

.mega-menu-panel__clip {
	overflow: hidden;
	min-height: 0;
	min-width: 0;
}

.mega-menu-panel__inner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1360px);
	margin: 0 auto;
	padding: 32px 1.25rem;
	box-sizing: border-box;
	min-height: 233px;
}

.mega-menu-panel__inner > :last-child,
.mega-menu-panel__inner .wp-block-columns:last-child,
.mega-menu-panel__inner .wp-block-group:last-child {
	margin-bottom: 0;
	margin-block-end: 0;
}

.mega-menu-panel__inner > :last-child,
.mega-menu-panel__inner .wp-block-group.is-layout-constrained:last-child,
.mega-menu-panel__inner .wp-block-columns:last-child {
	margin-bottom: 0;
	margin-block-end: 0;
}

.mega-menu-panel .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column {
	opacity: 0;
	transform: translateY(-16px);
	transition: none;
}

.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1), transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.mega-menu-panel.is-closing .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column {
	opacity: 1;
	transform: translateY(0);
	transition: none !important;
	transition-delay: 0s !important;
}

.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(1) { transition-delay: 80ms; }
.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(2) { transition-delay: 180ms; }
.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(3) { transition-delay: 280ms; }
.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(4) { transition-delay: 380ms; }
.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(5) { transition-delay: 480ms; }
.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column:nth-child(6) { transition-delay: 580ms; }

@media (prefers-reduced-motion: reduce) {
	.mega-menu-panel,
	.mega-menu-panel.is-closing {
		--vm-mega-panel-duration: 0ms;
		transition-duration: 0ms, 0ms, 0ms, 0ms, 0ms;
		transition-delay: 0s, 0s, 0s, 0s, 0s;
	}

	.mega-menu-panel .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column,
	.mega-menu-panel.is-closing .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.mega-menu-panel.is-active .wp-block-columns:not(.wp-block-column .wp-block-columns) > .wp-block-column {
		transition-delay: 0s;
	}
}

.vm-header__main-nav .wp-block-navigation-item > a.mega-menu.is-active,
.vm-header__main-nav .wp-block-navigation-item > a[data-mega-panel].is-active {
	color: var(--vm-header-gold, #d5b129);
}

.mega-menu-panel.mega-menu-panel--utility {
	z-index: 201;
	min-height: 0;
	background: var(--vm-header-ink);
	border-bottom-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 16px 32px rgba(35, 31, 32, 0.35);
	color: var(--vm-white, #ffffff);
}

.mega-menu-panel.mega-menu-panel--utility a {
	color: var(--vm-white, #ffffff);
}

.mega-menu-panel.mega-menu-panel--utility a:hover,
.mega-menu-panel.mega-menu-panel--utility a:focus,
.mega-menu-panel.mega-menu-panel--utility a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:hover,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:focus,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:hover,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:focus,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:focus-visible {
	color: var(--vm-header-gold-start, #f3d76a);
}

/*
 * Mega panel type — copied from type.css tokens, scoped only here.
 * Do not reuse .is-style-heading-4-5 / .is-style-eyebrow / .is-style-small.
 *
 * h2  = Heading 4.5 (Myriad 900 italic, 28px, lh 1, ls -0.02em)
 * h3  = Eyebrow (Raleway 900, 16px, lh 1.2, ls 0.35px, uppercase)
 * Nested h2 a / h3 a use the same type as the heading (not text-link 600 italic).
 * .vm-header prefix: panels are moved into the header by mega-menu.js.
 * li  = Small link (Raleway 500, 16px primary / 16px utility, lh 1)
 * p   = Small (Raleway 500, 17px, lh 1.3, ls 0)
 */
.vm-header .mega-menu-panel h2,
.vm-header .mega-menu-panel h2.wp-block-heading,
.vm-header .mega-menu-panel .wp-block-heading[level="2"],
.mega-menu-panel h2,
.mega-menu-panel h2.wp-block-heading,
.mega-menu-panel .wp-block-heading[level="2"],
.vm-header .mega-menu-panel h2 a,
.vm-header .mega-menu-panel h2.wp-block-heading a,
.vm-header .mega-menu-panel .wp-block-heading[level="2"] a,
.mega-menu-panel h2 a,
.mega-menu-panel h2.wp-block-heading a,
.mega-menu-panel .wp-block-heading[level="2"] a,
.vm-header .mega-menu-panel ul > li h2 a,
.vm-header .mega-menu-panel ul > li > h2 a,
.vm-header .mega-menu-panel .wp-block-list > li h2 a,
.vm-header .mega-menu-panel .wp-block-list > li > h2 a,
.mega-menu-panel ul > li h2 a,
.mega-menu-panel ul > li > h2 a,
.mega-menu-panel .wp-block-list > li h2 a,
.mega-menu-panel .wp-block-list > li > h2 a {
	font-family: var(--font-myriad, "Myriad Pro", sans-serif);
	font-weight: 900;
	font-style: italic;
	font-size: var(--text-h4-5, 28px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--vm-black, #231F20);
}

.vm-header .mega-menu-panel h2 a,
.vm-header .mega-menu-panel h2.wp-block-heading a,
.vm-header .mega-menu-panel .wp-block-heading[level="2"] a,
.mega-menu-panel h2 a,
.mega-menu-panel h2.wp-block-heading a,
.mega-menu-panel .wp-block-heading[level="2"] a,
.vm-header .mega-menu-panel ul > li h2 a,
.vm-header .mega-menu-panel ul > li > h2 a,
.vm-header .mega-menu-panel .wp-block-list > li h2 a,
.vm-header .mega-menu-panel .wp-block-list > li > h2 a,
.mega-menu-panel ul > li h2 a,
.mega-menu-panel ul > li > h2 a,
.mega-menu-panel .wp-block-list > li h2 a,
.mega-menu-panel .wp-block-list > li > h2 a {
	position: relative;
	display: inline-block;
	padding: 0;
	text-decoration: none;
	text-transform: none;
	font-family: var(--font-myriad, "Myriad Pro", sans-serif);
	font-weight: 900;
	font-style: italic;
}

.vm-header .mega-menu-panel h3,
.vm-header .mega-menu-panel h3.wp-block-heading,
.vm-header .mega-menu-panel .wp-block-heading[level="3"],
.mega-menu-panel h3,
.mega-menu-panel h3.wp-block-heading,
.mega-menu-panel .wp-block-heading[level="3"],
.vm-header .mega-menu-panel h3 a,
.vm-header .mega-menu-panel h3.wp-block-heading a,
.vm-header .mega-menu-panel .wp-block-heading[level="3"] a,
.mega-menu-panel h3 a,
.mega-menu-panel h3.wp-block-heading a,
.mega-menu-panel .wp-block-heading[level="3"] a,
.vm-header .mega-menu-panel ul > li h3 a,
.vm-header .mega-menu-panel ul > li > h3 a,
.vm-header .mega-menu-panel .wp-block-list > li h3 a,
.vm-header .mega-menu-panel .wp-block-list > li > h3 a,
.mega-menu-panel ul > li h3 a,
.mega-menu-panel ul > li > h3 a,
.mega-menu-panel .wp-block-list > li h3 a,
.mega-menu-panel .wp-block-list > li > h3 a {
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 900;
	font-style: normal;
	font-size: var(--text-eyebrow, 16px);
	line-height: var(--leading-eyebrow, 1.15);
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: var(--vm-black, #231F20);
}

.mega-menu-panel h3,
.mega-menu-panel h3.wp-block-heading,
.mega-menu-panel .wp-block-heading[level="3"] {
	margin-bottom: 10px;
}

.vm-header .mega-menu-panel h3 a,
.vm-header .mega-menu-panel h3.wp-block-heading a,
.vm-header .mega-menu-panel .wp-block-heading[level="3"] a,
.mega-menu-panel h3 a,
.mega-menu-panel h3.wp-block-heading a,
.mega-menu-panel .wp-block-heading[level="3"] a,
.vm-header .mega-menu-panel ul > li h3 a,
.vm-header .mega-menu-panel ul > li > h3 a,
.vm-header .mega-menu-panel .wp-block-list > li h3 a,
.vm-header .mega-menu-panel .wp-block-list > li > h3 a,
.mega-menu-panel ul > li h3 a,
.mega-menu-panel ul > li > h3 a,
.mega-menu-panel .wp-block-list > li h3 a,
.mega-menu-panel .wp-block-list > li > h3 a {
	position: relative;
	display: inline-block;
	padding: 0;
	text-decoration: none;
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 900;
	font-style: normal;
}

/*
 * Heading links keep Heading 4.5 / Eyebrow type (not text-link Source Sans).
 * Rest: no underline. List-item links indent on hover (utility submenu translateX).
 */
.vm-header .mega-menu-panel h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel h2.wp-block-heading a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-heading[level="2"] a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel h2.wp-block-heading a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-heading[level="2"] a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel ul > li h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel ul > li > h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-list > li h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-list > li > h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel ul > li h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel ul > li > h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-list > li h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-list > li > h2 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content) {
	font-family: var(--font-myriad, "Myriad Pro", sans-serif);
	font-weight: 900;
	font-style: italic;
	font-size: var(--text-h4-5, 28px);
	line-height: 1;
	letter-spacing: -0.02em;
	position: relative;
	display: inline-block;
	padding: 0;
	text-decoration: none;
	text-transform: none;
}

.vm-header .mega-menu-panel h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel h3.wp-block-heading a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-heading[level="3"] a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel h3.wp-block-heading a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-heading[level="3"] a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel ul > li h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel ul > li > h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-list > li h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.vm-header .mega-menu-panel .wp-block-list > li > h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel ul > li h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel ul > li > h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-list > li h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-list > li > h3 a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content) {
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 900;
	font-style: normal;
	font-size: var(--text-eyebrow, 16px);
	line-height: var(--leading-eyebrow, 1.15);
	letter-spacing: 0.35px;
	text-transform: uppercase;
	position: relative;
	display: inline-block;
	padding: 0;
	text-decoration: none;
}

.mega-menu-panel p,
.mega-menu-panel p.wp-block-paragraph,
.mega-menu-panel .wp-block-paragraph {
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-style: normal;
	font-size: var(--text-small, 17px);
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--vm-black, #231F20);
}

/* Primary mega panels only — utility keeps gap/font via shared fallback below. */
.mega-menu-panel:not(.mega-menu-panel--utility) ul,
.mega-menu-panel:not(.mega-menu-panel--utility) ul.wp-block-list,
.mega-menu-panel:not(.mega-menu-panel--utility) .wp-block-list {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 4px;
	row-gap: 4px;
	--wp--style--block-gap: 4px;
	list-style: none;
	list-style-type: none;
	padding-left: 0;
	padding-inline-start: 0;
}

.mega-menu-panel.mega-menu-panel--utility ul,
.mega-menu-panel.mega-menu-panel--utility ul.wp-block-list,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 5px;
	row-gap: 5px;
	--wp--style--block-gap: 5px;
	list-style: none;
	list-style-type: none;
	padding-left: 0;
	padding-inline-start: 0;
}

.mega-menu-panel:not(.mega-menu-panel--utility) ul > li,
.mega-menu-panel:not(.mega-menu-panel--utility) .wp-block-list > li {
	display: inline;
	list-style: none;
	list-style-type: none;
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	padding: 0;
	padding-top: 0;
	padding-bottom: 0;
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	color: var(--vm-black, #231F20);
}

.mega-menu-panel.mega-menu-panel--utility ul > li,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li {
	display: inline;
	list-style: none;
	list-style-type: none;
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	padding: 0;
	padding-top: 0;
	padding-bottom: 0;
	font-family: var(--font-raleway, Raleway, sans-serif);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	color: var(--vm-black, #231F20);
}

.mega-menu-panel ul > li::marker,
.mega-menu-panel .wp-block-list > li::marker {
	content: none;
	display: none;
}

.mega-menu-panel a {
	text-wrap: balance;
}

/*
 * List-item link indent (utility submenu pattern).
 * Hover/focus MUST repeat the base :not() chain — those classes add specificity,
 * so a bare `a:hover` loses to base `transform: translateX(0)` and never indents.
 */
.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content) {
	position: relative;
	display: inline-block;
	padding: 3.5px 0;
	font-family: inherit;
	font-weight: 600;
	font-style: inherit;
	font-size: inherit;
	line-height: 1;
	letter-spacing: inherit;
	text-decoration: none;
	color: inherit;
	transform: translateX(0);
	transition:
		color var(--vm-default-transition),
		opacity var(--vm-default-transition),
		transform var(--vm-default-transition);
}

.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):hover,
.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus,
.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus-visible,
.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):hover,
.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus,
.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus-visible {
	transform: translateX(5px);
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
	.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content),
	.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):hover,
	.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus,
	.mega-menu-panel ul > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus-visible,
	.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):hover,
	.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus,
	.mega-menu-panel .wp-block-list > li > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.wp-block-navigation-item__content):focus-visible {
		transform: none;
		transition:
			color var(--vm-default-transition),
			opacity var(--vm-default-transition);
	}
}

/*
 * Current page in the open mega panel: a 5px black bullet, 10px left of the
 * link text, out of flow so the label does not shift.
 * Desktop only — hidden at the block's stack breakpoint (max-width: 781px).
 * Story titles are excluded; their ::before is the full-row hit area, and the
 * bullet lives on .vm-mega-menu__title-text::after in the mega menu block CSS.
 * Utility panels, header top-level nav, and the footer are outside this scope.
 */
@media (min-width: 782px) {
	.mega-menu-panel:not(.mega-menu-panel--utility) a.is-current:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link),
	.mega-menu-panel:not(.mega-menu-panel--utility) a[aria-current="page"]:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link),
	.mega-menu-panel:not(.mega-menu-panel--utility) .current-menu-item > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link) {
		position: relative;
	}

	.mega-menu-panel:not(.mega-menu-panel--utility) a.is-current:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link)::before,
	.mega-menu-panel:not(.mega-menu-panel--utility) a[aria-current="page"]:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link)::before,
	.mega-menu-panel:not(.mega-menu-panel--utility) .current-menu-item > a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-mega-menu__title-link)::before {
		content: "";
		position: absolute;
		left: -10px;
		top: 50%;
		width: 5px;
		height: 5px;
		margin-top: -2.5px;
		border-radius: 50%;
		background-color: var(--vm-black, #231F20);
		pointer-events: none;
	}
}

.mega-menu-panel.mega-menu-panel--utility h2,
.mega-menu-panel.mega-menu-panel--utility h2.wp-block-heading,
.mega-menu-panel.mega-menu-panel--utility h2 a,
.mega-menu-panel.mega-menu-panel--utility h2.wp-block-heading a,
.mega-menu-panel.mega-menu-panel--utility h3,
.mega-menu-panel.mega-menu-panel--utility h3.wp-block-heading,
.mega-menu-panel.mega-menu-panel--utility h3 a,
.mega-menu-panel.mega-menu-panel--utility h3.wp-block-heading a,
.mega-menu-panel.mega-menu-panel--utility ul > li,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li,
.mega-menu-panel.mega-menu-panel--utility p,
.mega-menu-panel.mega-menu-panel--utility p.wp-block-paragraph,
.mega-menu-panel.mega-menu-panel--utility .wp-block-paragraph {
	color: var(--vm-white, #ffffff);
}

.mega-menu-panel.mega-menu-panel--utility a:hover,
.mega-menu-panel.mega-menu-panel--utility a:focus,
.mega-menu-panel.mega-menu-panel--utility a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility h2 a:hover,
.mega-menu-panel.mega-menu-panel--utility h2 a:focus,
.mega-menu-panel.mega-menu-panel--utility h2 a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility h3 a:hover,
.mega-menu-panel.mega-menu-panel--utility h3 a:focus,
.mega-menu-panel.mega-menu-panel--utility h3 a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:hover,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:focus,
.mega-menu-panel.mega-menu-panel--utility ul > li > a:focus-visible,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:hover,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:focus,
.mega-menu-panel.mega-menu-panel--utility .wp-block-list > li > a:focus-visible {
	color: var(--vm-header-gold-start, #f3d76a);
}

.mega-menu-panel:not(.mega-menu-panel--utility) a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button) {
	transition:
		color var(--vm-default-transition),
		opacity var(--vm-default-transition),
		transform var(--vm-default-transition);
}

.mega-menu-panel:not(.mega-menu-panel--utility) a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):hover,
.mega-menu-panel:not(.mega-menu-panel--utility) a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):focus-visible {
	opacity: 0.66;
}

/*
 * Mega cover cards (Team MB Indoor/Beach): dark overlay for readable white titles.
 * Images crop with object-fit:cover — never stretch. Hover zooms the photo only
 * (overlay ::before stays put so white title contrast is unchanged).
 *
 * Two cards share a CSS grid row so heights match. Min height 120px; still grow
 * with copy. Override block aspectRatio (16/9) and core cover min-height (430px).
 */
.mega-menu-panel .wp-block-columns:has(> .wp-block-column > .wp-block-cover),
.mega-menu-panel .wp-block-columns:has(> .wp-block-column > .wp-block-cover-image) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	column-gap: var(--wp--preset--spacing--50, 2.5rem);
	row-gap: var(--wp--preset--spacing--50, 2.5rem);
}

.mega-menu-panel .wp-block-columns:has(> .wp-block-column > .wp-block-cover) > .wp-block-column,
.mega-menu-panel .wp-block-columns:has(> .wp-block-column > .wp-block-cover-image) > .wp-block-column {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
	min-width: 0;
}

.mega-menu-panel .wp-block-column:has(> .wp-block-cover),
.mega-menu-panel .wp-block-column:has(> .wp-block-cover-image) {
	display: grid;
	align-content: stretch;
}

.mega-menu-panel .wp-block-cover,
.mega-menu-panel .wp-block-cover-image {
	overflow: hidden;
	aspect-ratio: auto !important;
	align-self: stretch;
	width: 100%;
	height: 100%;
	min-height: 120px;
	box-sizing: border-box;
}

.mega-menu-panel .wp-block-cover .wp-block-cover__image-background,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__image-background,
.mega-menu-panel .wp-block-cover img.wp-block-cover__image-background {
	object-fit: cover;
	object-position: center;
	transform: scale(1);
	transform-origin: center;
	transition: transform 0.35s ease;
}

.mega-menu-panel .wp-block-cover:hover .wp-block-cover__image-background,
.mega-menu-panel .wp-block-cover:focus-within .wp-block-cover__image-background,
.mega-menu-panel .wp-block-cover-image:hover .wp-block-cover__image-background,
.mega-menu-panel .wp-block-cover-image:focus-within .wp-block-cover__image-background {
	transform: scale(1.05);
}

.mega-menu-panel .wp-block-cover::before,
.mega-menu-panel .wp-block-cover-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.78) 0%,
		rgba(0, 0, 0, 0.42) 42%,
		rgba(0, 0, 0, 0.22) 100%
	);
}

.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container {
	z-index: 2;
}

/* Cover-card titles: no fade on hover (opacity 0.66 fights white-on-image contrast). */
.mega-menu-panel .wp-block-cover a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):hover,
.mega-menu-panel .wp-block-cover a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):focus-visible,
.mega-menu-panel .wp-block-cover-image a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):hover,
.mega-menu-panel .wp-block-cover-image a:not(.wp-block-button__link):not(.wp-element-button):not(.vm-hero__button):not(.vm-cta__button):focus-visible {
	opacity: 1;
}

/*
 * Mega cover card type (Team MB Indoor/Beach): heavier title, smaller supporting
 * copy. Titles are often p.has-smallink-font-size > strong > a (not a heading).
 */
.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > :is(h2, h3, .wp-block-heading),
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > :is(h2, h3, .wp-block-heading),
.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > :is(h2, h3, .wp-block-heading) a,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > :is(h2, h3, .wp-block-heading) a,
.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > p:first-child,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > p:first-child,
.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > p:first-child strong,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > p:first-child strong,
.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > p:first-child a,
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > p:first-child a,
.mega-menu-panel .wp-block-cover .has-smallink-font-size,
.mega-menu-panel .wp-block-cover-image .has-smallink-font-size,
.mega-menu-panel .wp-block-cover .has-smallink-font-size strong,
.mega-menu-panel .wp-block-cover-image .has-smallink-font-size strong,
.mega-menu-panel .wp-block-cover .has-smallink-font-size a,
.mega-menu-panel .wp-block-cover-image .has-smallink-font-size a {
	font-weight: 800;
}

.mega-menu-panel .wp-block-cover .wp-block-cover__inner-container > p:not(:first-child),
.mega-menu-panel .wp-block-cover-image .wp-block-cover__inner-container > p:not(:first-child),
.mega-menu-panel .wp-block-cover .has-eyebrow-font-size,
.mega-menu-panel .wp-block-cover-image .has-eyebrow-font-size {
	font-size: var(--text-footer-button, 15px);
}

/* News mega — Latest news nested featured (left) + list (right), like homepage .vm-latest-news. */
.mega-menu-panel .vm-mega-news {
	align-items: stretch !important;
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--30, 1.5rem);
}

.mega-menu-panel .vm-mega-news > .wp-block-column {
	opacity: 1 !important;
	transform: none !important;
}

.mega-menu-panel .vm-mega-news__featured,
.mega-menu-panel .vm-mega-news__list-col {
	flex-basis: 50% !important;
	width: 50%;
	max-width: 50%;
}

.mega-menu-panel .vm-mega-news__image {
	margin: 0 0 0.75rem;
}

.mega-menu-panel .vm-mega-news__image a {
	display: block;
	line-height: 0;
}

.mega-menu-panel .vm-mega-news__image img,
.mega-menu-panel .vm-mega-news__image .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	object-position: center;
	border-radius: 4px;
	background-color: #cfcfcf;
}

.mega-menu-panel .vm-mega-news__image--empty {
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 120px;
	margin: 0 0 0.75rem;
	background-color: #cfcfcf;
	border-radius: 4px;
}

.mega-menu-panel .vm-mega-news__featured-title {
	margin: 0 0 0.25rem !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.mega-menu-panel .vm-mega-news__featured-date {
	margin: 0;
	color: #555555;
}

.mega-menu-panel .vm-mega-news__list {
	width: 100%;
}

/*
 * Beat generic mega ul > li (display:inline; padding:0) — same/higher
 * specificity via ul.vm-mega-news__list so vertical padding + borders work.
 */
.mega-menu-panel ul.vm-mega-news__list > li,
.mega-menu-panel .wp-block-list.vm-mega-news__list > li {
	display: block;
	width: 100%;
	max-width: 100%;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.mega-menu-panel ul.vm-mega-news__list > li + li,
.mega-menu-panel .wp-block-list.vm-mega-news__list > li + li {
	margin-top: 0;
	border-top: 1px solid rgba(35, 31, 32, 0.12);
}

.mega-menu-panel .vm-mega-news__list-date {
	display: inline-block;
	margin-right: 0.35em;
	font-weight: 700;
	color: #555555;
	white-space: nowrap;
}

/* News mega — Upcoming events column (dynamic via event_date meta). */
.mega-menu-panel .vm-mega-events__list {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mega-menu-panel ul.vm-mega-events__list > li,
.mega-menu-panel .wp-block-list.vm-mega-events__list > li {
	display: block;
	width: 100%;
	max-width: 100%;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.mega-menu-panel ul.vm-mega-events__list > li + li,
.mega-menu-panel .wp-block-list.vm-mega-events__list > li + li {
	margin-top: 0;
	border-top: 1px solid rgba(35, 31, 32, 0.12);
}

.mega-menu-panel .vm-mega-events__list-date {
	display: inline-block;
	margin-right: 0.35em;
	font-weight: 700;
	color: #555555;
	white-space: nowrap;
}

.mega-menu-panel .vm-mega-events__empty {
	margin: 0;
	color: #555555;
}

/* Hide desktop mega panels when the header uses the overlay drawer (≤1099px). */
@media screen and (max-width: 1099px) {
	.mega-menu-panel {
		display: none !important;
	}
}

.wp-block-volleyball-manitoba-site-footer,
.vm-footer {
	--vm-footer-bg: #0a0a0a;
	--vm-footer-gold: #d5b129;
	--vm-footer-gold-start: #f3d76a;
	--vm-footer-muted: #bebebe;
	--vm-footer-grey: #545454;
	--vm-footer-ink: #231f20;
	--vm-footer-beige: #f5f5f4;
	--vm-footer-pill: #2f2f2f;
	--vm-footer-radius: 67.531px;

	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	margin: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	color: var(--vm-white, #ffffff);
	border-top: 4.131px solid var(--vm-footer-beige);
}

.vm-footer .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.vm-footer a {
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 500 !important;
	font-style: normal !important;
	text-decoration: none !important;
	color: var(--vm-footer-muted);
	transition: color var(--vm-default-transition);
}

.vm-footer a:hover,
.vm-footer a:focus-visible {
	color: var(--vm-white, #ffffff);
}

.vm-footer__sponsors,
.wp-block-group.vm-footer__sponsors.has-global-padding.is-layout-constrained {
	background: var(--vm-white, #ffffff);
	color: var(--vm-footer-ink);
	padding: 48px 0 24px;
}

.vm-footer__sponsors-title {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1360px);
	margin: 0 auto 8px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 700;
	font-style: normal;
	font-size: var(--text-h6);
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	color: var(--vm-footer-ink);
}

/* Sponsor logos: size via figures in the container — no per-logo modifier classes. */
.vm-footer__logos,
.vm-footer .wp-block-group.vm-footer__logos {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	justify-content: center;
	align-items: center;
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}

.vm-footer__logos figure {
	max-width: 160px;
	margin: 0;
}

.vm-footer__logos figure a {
	display: block;
	line-height: 0;
}

.vm-footer__logos figure img {
	max-width: 100%;
	max-height: 110px;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
	transform: scale(1);
	transform-origin: center;
	transition: transform var(--vm-default-transition);
}

.vm-footer__logos a:hover img,
.vm-footer__logos a:focus-visible img {
	transform: scale(1.1);
}

@media (prefers-reduced-motion: reduce) {
	.vm-footer__logos figure img {
		transition: none;
	}

	.vm-footer__logos a:hover img,
	.vm-footer__logos a:focus-visible img {
		transform: none;
	}
}

.vm-footer__main {
	background-color: var(--vm-footer-bg);
	background-image:
		radial-gradient(ellipse 1630px 1090px at 288px 0, rgba(26, 79, 140, 0.28) 0%, rgba(26, 79, 140, 0) 45%),
		radial-gradient(ellipse 1833px 871px at 1296px 154px, rgba(138, 90, 0, 0.22) 0%, rgba(138, 90, 0, 0) 40%);
	padding: 60px 0 48px;
}

.vm-footer__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1360px);
	margin: 0 auto;
}

.vm-footer__top,
.vm-footer .wp-block-columns.vm-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 48px 40px;
	width: 100%;
	max-width: 100%;
	margin-bottom: 56px;
}

.vm-footer .wp-block-columns.vm-footer__top > .wp-block-column,
.vm-footer .wp-block-columns.vm-footer__nav > .wp-block-column {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.vm-footer__heading {
	margin: 0 0 12px;
	font-family: var(--font-myriad);
	font-weight: 900;
	font-style: italic;
	font-size: var(--text-h4);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--vm-white, #ffffff);
}

.vm-footer__lede {
	margin: 0 0 24px;
	max-width: 642px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-size: var(--text-small);
	line-height: 1.6;
	color: var(--vm-footer-muted);
}

.vm-footer__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 13px;
}

.vm-footer__input {
	width: 371px;
	max-width: 100%;
	margin: 0;
	padding: 14.73px 25.324px 14.35px;
	border: 1px solid var(--vm-footer-grey);
	border-radius: var(--vm-footer-radius);
	background: transparent;
	color: var(--vm-white, #ffffff);
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 600;
	font-size: 18px;
	line-height: 18px;
}

.vm-footer__input::placeholder {
	color: var(--vm-footer-muted);
	opacity: 1;
}

.vm-footer__input:focus {
	outline: 2px solid var(--vm-footer-gold);
	outline-offset: 2px;
}

.vm-footer__submit {
	margin: 0;
	padding: 14.73px 25.324px 14.35px;
	border: 0;
	border-radius: var(--vm-footer-radius);
	background: linear-gradient(90deg, var(--vm-footer-gold-start) 0%, var(--vm-footer-gold) 100%);
	color: var(--vm-footer-ink);
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 800;
	font-size: 18px;
	line-height: 18px;
	cursor: pointer;
	transition: filter var(--vm-default-transition);
}

.vm-footer__submit:hover,
.vm-footer__submit:focus-visible {
	/* Match gold-grad CTA hover (.vm-half-capsule__button). */
	filter: brightness(0.97);
}

.vm-footer__follow-row,
.vm-footer .vm-footer__follow-row.wp-block-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 24px;
	width: 100%;
	min-width: 0;
}

.vm-footer__social,
.vm-footer .vm-footer__social.wp-block-social-links {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 1;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vm-footer__social-link {
	display: block;
	width: 47.08px;
	height: 47.08px;
	line-height: 0;
	opacity: 1;
	transition: opacity var(--vm-default-transition);
}

.vm-footer__social-link:hover,
.vm-footer__social-link:focus-visible {
	opacity: 0.75;
}

.vm-footer__social-link img {
	display: block;
	width: 47.08px;
	height: 47.08px;
	object-fit: cover;
}

/* Figma Footer 191:2813 — 47px circles, padded white glyphs, 7px gap. */
.vm-footer .vm-footer__social .wp-social-link {
	width: 47.08px;
	height: 47.08px;
	margin: 0;
	overflow: visible;
	background-color: transparent !important;
	border: 1px solid var(--vm-footer-grey);
	border-radius: 50%;
	transform: none;
	transition: border-color var(--vm-default-transition);
}

.vm-footer .vm-footer__social .wp-social-link:hover,
.vm-footer .vm-footer__social .wp-social-link:focus-within {
	border-color: var(--vm-gold, #ffc805);
}

.vm-footer .vm-footer__social .wp-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 47.08px;
	height: 47.08px;
	padding: 11px;
	background-color: transparent !important;
	color: var(--vm-white, #ffffff) !important;
	transform: none;
	transition: color var(--vm-default-transition);
}

.vm-footer .vm-footer__social .wp-social-link a:hover,
.vm-footer .vm-footer__social .wp-social-link a:focus-visible {
	color: var(--vm-gold, #ffc805) !important;
}

.vm-footer .vm-footer__social .wp-social-link svg {
	width: 26.4px;
	height: 26.4px;
	flex-shrink: 0;
	fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.vm-footer .vm-footer__social .wp-social-link,
	.vm-footer .vm-footer__social .wp-social-link a {
		transition: none;
	}
}

/* Contact Us — theme default core/button; height matches social hit area (47.08px). */
.vm-footer__contact,
.vm-footer .vm-footer__contact.wp-block-buttons {
	margin: 0;
	flex-shrink: 0;
}

.vm-footer .vm-footer__contact .wp-block-button,
.vm-footer .vm-footer__contact .wp-block-button__link {
	margin: 0;
}

.vm-footer .vm-footer__contact .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* Match .vm-footer__social-link / .wp-social-link (Figma 47.08px). */
	height: 47.08px;
	min-height: 47.08px;
	padding: 0 25.324px;
	border: 0;
	border-radius: var(--vm-footer-radius);
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 800 !important;
	font-style: normal !important;
	font-size: 18px;
	line-height: 18px;
	text-transform: none;
	white-space: nowrap;
	text-decoration: none !important;
	/* Beat `.vm-footer a` muted grey; keep default gold-grad ink. */
	color: var(--vm-footer-ink, #231f20);
	transition:
		filter var(--vm-default-transition),
		color var(--vm-default-transition);
}

.vm-footer .vm-footer__contact .wp-block-button__link:hover,
.vm-footer .vm-footer__contact .wp-block-button__link:focus-visible {
	color: var(--vm-footer-ink, #231f20);
	filter: brightness(0.97);
}

.vm-footer__nav,
.vm-footer .wp-block-columns.vm-footer__nav {
	display: grid;
	grid-template-columns: minmax(0, 533px) minmax(0, 300px) minmax(0, 1fr);
	gap: 40px 48px;
	width: 100%;
	max-width: 100%;
	margin-bottom: 56px;
}

.vm-footer__label {
	margin: 0 0 16px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 800;
	font-size: var(--text-eyebrow);
	line-height: var(--leading-eyebrow, 1.15);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--vm-footer-muted);
}

.vm-footer__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Capsule lives on the <a> only — not on the Gutenberg .wp-block-button wrapper. */
.vm-footer a.vm-footer__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 13px;
	border-radius: var(--vm-footer-radius);
	background: var(--vm-footer-pill);
	color: var(--vm-footer-muted);
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-size: var(--text-footer-button);
	line-height: 1.4;
	white-space: nowrap;
	max-width: 100%;
	box-sizing: border-box;
	transition:
		color var(--vm-default-transition),
		background-color var(--vm-default-transition);
}

.vm-footer a.vm-footer__pill:hover,
.vm-footer a.vm-footer__pill:focus-visible {
	color: var(--vm-white, #ffffff);
	background: #3a3a3a;
}

.vm-footer .vm-footer__pills p {
	margin: 0;
}

.vm-footer .wp-block-button.vm-footer__pill {
	display: inline-flex;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none;
	line-height: 0;
}

.vm-footer.wp-block-group {
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
}

.vm-footer .wp-block-group {
	margin-top: 0;
	margin-bottom: 0;
}

.vm-footer .wp-block-image {
	margin: 0;
}

.vm-footer .vm-footer__heading.wp-block-heading {
	margin: 0 0 12px;
	color: var(--vm-white, #ffffff);
}

.vm-footer .vm-footer__pills.wp-block-buttons,
.vm-footer .vm-footer__pills.wp-block-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vm-footer .vm-footer__pills.wp-block-group > * {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.vm-footer .vm-footer__pill .wp-block-button__link,
.vm-footer .vm-footer__pill.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	height: auto;
	padding: 6px 13px;
	border: 0;
	border-radius: var(--vm-footer-radius);
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: var(--text-footer-button);
	line-height: 1.4;
	text-transform: none;
	text-decoration: none !important;
	transition:
		color var(--vm-default-transition),
		background-color var(--vm-default-transition);
}

.vm-footer .vm-footer__pill .wp-block-button__link:not(.has-background),
.vm-footer .vm-footer__pill.wp-block-button .wp-block-button__link:not(.has-background) {
	background-color: var(--vm-footer-pill);
	background-image: none;
}

.vm-footer .vm-footer__pill .wp-block-button__link:not(.has-text-color),
.vm-footer .vm-footer__pill.wp-block-button .wp-block-button__link:not(.has-text-color) {
	color: var(--vm-footer-muted);
}

.vm-footer .vm-footer__pill .wp-block-button__link:hover:not(.has-background):not(.has-text-color),
.vm-footer .vm-footer__pill .wp-block-button__link:focus-visible:not(.has-background):not(.has-text-color) {
	color: var(--vm-white, #ffffff);
	background-color: #3a3a3a;
	background-image: none;
}

.vm-footer .vm-footer__subscribe .wp-block-button__link {
	padding: 14.73px 25.324px 14.35px;
	border: 0;
	border-radius: var(--vm-footer-radius);
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 800 !important;
	font-style: normal !important;
	font-size: 18px;
	line-height: 18px;
	text-transform: none;
	/* Beat `.vm-footer a` muted grey; keep gold-grad ink. */
	color: var(--vm-footer-ink, #231f20);
	transition:
		filter var(--vm-default-transition),
		color var(--vm-default-transition);
}

.vm-footer .vm-footer__subscribe .wp-block-button__link:hover,
.vm-footer .vm-footer__subscribe .wp-block-button__link:focus-visible {
	color: var(--vm-footer-ink, #231f20);
	filter: brightness(0.97);
}

/*
 * Any other gold-grad core buttons in the footer (exclude nav pills —
 * those use their own bg/color hover above).
 */
.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-block-button__link,
.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-element-button {
	/* Beat `.vm-footer a` muted grey; keep gold-grad ink. */
	color: var(--vm-footer-ink, #231f20);
	transition:
		filter var(--vm-default-transition),
		color var(--vm-default-transition);
}

.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-block-button__link:hover,
.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-block-button__link:focus-visible,
.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-element-button:hover,
.vm-footer .wp-block-button:not(.vm-footer__pill) > .wp-element-button:focus-visible {
	color: var(--vm-footer-ink, #231f20);
	filter: brightness(0.97);
}

.vm-footer .vm-footer__social.wp-block-group,
.vm-footer .vm-footer__social.wp-block-social-links {
	gap: 7px;
}

.vm-footer__links {
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-wrap: anywhere;
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: var(--text-footer-button) !important;
	line-height: 1.4 !important;
	color: var(--vm-footer-muted);
}

.vm-footer__links a {
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: var(--text-footer-button) !important;
	line-height: 1.4 !important;
	color: var(--vm-footer-muted) !important;
	--vm-link-underline-color: var(--vm-footer-muted);
	text-decoration: none !important;
	transition: color var(--vm-default-transition);
}

.vm-footer__links a:hover,
.vm-footer__links a:focus-visible {
	color: var(--vm-white, #ffffff) !important;
	--vm-link-underline-color: var(--vm-white, #ffffff);
}

/* Beat reversed-surface white ::after (type.css :is() + :has chain). */
.vm-footer.wp-block-group .vm-footer__main .vm-footer__links a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-navigation-item__content):not(.wp-block-social-link-anchor):not(.wp-block-search__button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-footer__pill):not(.vm-footer__social-link)::after {
	background-color: var(--vm-link-underline-color, var(--vm-footer-muted, #bebebe)) !important;
	transition:
		background-color var(--vm-default-transition),
		transform var(--vm-default-transition),
		opacity var(--vm-default-transition);
}

/* Policies + Friends columns: hide text-link underline until hover/focus. */
.vm-footer.wp-block-group .vm-footer__main :is(.vm-footer__policies, .vm-footer__friends) .vm-footer__links a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-navigation-item__content):not(.wp-block-social-link-anchor):not(.wp-block-search__button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-footer__pill):not(.vm-footer__social-link)::after {
	opacity: 0;
}

.vm-footer.wp-block-group .vm-footer__main :is(.vm-footer__policies, .vm-footer__friends) .vm-footer__links a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-navigation-item__content):not(.wp-block-social-link-anchor):not(.wp-block-search__button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-footer__pill):not(.vm-footer__social-link):hover::after,
.vm-footer.wp-block-group .vm-footer__main :is(.vm-footer__policies, .vm-footer__friends) .vm-footer__links a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-navigation-item__content):not(.wp-block-social-link-anchor):not(.wp-block-search__button):not(.vm-hero__button):not(.vm-cta__button):not(.vm-footer__pill):not(.vm-footer__social-link):focus-visible::after {
	opacity: 1;
}

.vm-footer__copy {
	margin: 0;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 500;
	font-size: var(--text-small);
	line-height: 1.6;
	color: var(--vm-footer-grey);
	text-align: left;
}

/*
 * Match desktop selector specificity (.vm-footer .wp-block-columns…).
 * Without that, core Gutenberg footer keeps the 3-col track list through
 * tablet widths and the Friends column collapses to ~0px.
 */
@media (max-width: 1100px) {
	.vm-footer__nav,
	.vm-footer .wp-block-columns.vm-footer__nav {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.vm-footer__help,
	.vm-footer .wp-block-columns.vm-footer__nav > .wp-block-column:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.vm-footer__top,
	.vm-footer .wp-block-columns.vm-footer__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
		margin-bottom: 48px;
	}
}

@media (max-width: 781px) {
	.vm-footer__sponsors {
		padding-top: 32px;
	}

	.vm-footer__main {
		padding-top: 40px;
		padding-bottom: 36px;
	}

	.vm-footer__top,
	.vm-footer .wp-block-columns.vm-footer__top,
	.vm-footer__nav,
	.vm-footer .wp-block-columns.vm-footer__nav {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		margin-bottom: 40px;
	}

	.vm-footer__help,
	.vm-footer .wp-block-columns.vm-footer__nav > .wp-block-column:first-child {
		grid-column: auto;
	}

	.vm-footer__follow-row,
	.vm-footer .vm-footer__follow-row.wp-block-group {
		justify-content: flex-start;
	}

	.vm-footer__input,
	.vm-footer__submit,
	.vm-footer .vm-footer__subscribe,
	.vm-footer .vm-footer__subscribe .wp-block-button__link {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.vm-footer .vm-footer__form.wp-block-buttons {
		width: 100%;
	}

	.vm-footer a.vm-footer__pill,
	.vm-footer .vm-footer__pill .wp-block-button__link {
		min-height: 44px;
		padding: 10px 16px;
		white-space: normal;
		text-align: center;
	}

	.vm-footer__links a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.vm-footer .vm-footer__contact .wp-block-button__link {
		height: 47.08px;
		min-height: 47.08px;
	}

	.vm-footer__heading {
		font-size: var(--text-h5, 24px);
	}

	.vm-footer__lede,
	.vm-footer__copy {
		font-size: var(--text-small, 17px);
	}
}

.site-main {
	min-height: 50vh;
	margin-top: 0;
	margin-block-start: 0;
}

/*
 * Main is constrained; post-content without alignfull is capped at
 * contentSize (720px), so Wide groups never reach 1360px. Full-bleed
 * children span via the layer-pad breakout rules above (not 100vw).
 */
.site-main > .wp-block-post-content,
.wp-block-post-content.alignfull {
	width: 100%;
	max-width: none;
}

/*
 * Side inset for main content: --vm-layer-pad-* (always ≥ page gutter;
 * grows with viewport above wideSize). Applied on .site-main in the
 * layer-padding block at the top of this file.
 */

/*
 * Wide-aligned paragraphs (Introduction, etc.) must use theme wideSize (1360px).
 * Nested constrained groups default children to contentSize (720px); alignwide
 * on a paragraph is easy to lose visually. Force wide measure in post content.
 */
.wp-block-post-content > p.alignwide,
.wp-block-post-content > .wp-block-group.alignwide,
.wp-block-post-content .wp-block-group.alignwide > p.alignwide,
.wp-block-post-content .wp-block-group.alignwide > p.is-style-introduction,
.entry-content > p.alignwide,
.entry-content > .wp-block-group.alignwide,
.entry-content .wp-block-group.alignwide > p.alignwide,
.entry-content .wp-block-group.alignwide > p.is-style-introduction {
	max-width: var(--wp--style--global--wide-size, 1360px);
	width: 100%;
}

/*
 * Complianz legal documents (cookie policy, privacy statement, etc.).
 * Plugin CSS caps #cmplz-document at 1200px and loads after the theme, so
 * max-width needs !important. Normal content width (theme.json contentSize).
 * The node sits in .site-main, which already applies --vm-layer-pad-*.
 */
#cmplz-document {
	box-sizing: border-box;
	max-width: var(--wp--style--global--content-size, 720px) !important;
	width: 100%;
}

/*
 * Cookie overview: native <details> rows, styled like .accordion-wrapper
 * (upright title, plus on the right when closed, light rule between rows).
 * Inline border/padding on each <details> needs !important.
 */
#cmplz-cookies-overview {
	--accordion-icon-size: 1.125rem;
	--accordion-icon-pad: 2rem;
	--accordion-ink: #231f20;
}

#cmplz-cookies-overview details.cmplz-dropdown {
	border: 0 !important;
	border-bottom: 1px solid var(--vm-grey-light, #e0dede) !important;
	margin: 0;
	padding: 0 !important;
	background: transparent;
}

#cmplz-cookies-overview details.cmplz-dropdown:first-of-type {
	border-top: 1px solid var(--vm-grey-light, #e0dede) !important;
}

#cmplz-cookies-overview .cmplz-service-header {
	position: relative;
	display: block;
	cursor: pointer;
	list-style: none;
	padding: var(--wp--preset--spacing--40, 1.5rem) var(--accordion-icon-pad) var(--wp--preset--spacing--40, 1.5rem) 0;
	color: var(--accordion-ink);
	transition: opacity var(--vm-default-transition, 150ms cubic-bezier(0.3, 0, 0.14, 1));
}

#cmplz-cookies-overview .cmplz-service-header::-webkit-details-marker {
	display: none;
}

#cmplz-cookies-overview .cmplz-service-header::marker {
	content: '';
}

#cmplz-cookies-overview details.cmplz-dropdown:not([open]) > .cmplz-service-header::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: var(--accordion-icon-size);
	height: var(--accordion-icon-size);
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--accordion-ink);
	background:
		linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
}

#cmplz-cookies-overview details.cmplz-dropdown[open] > .cmplz-service-header::after {
	content: none;
	display: none;
}

#cmplz-cookies-overview .cmplz-service-header:hover,
#cmplz-cookies-overview .cmplz-service-header:focus-visible {
	opacity: 0.7;
}

#cmplz-cookies-overview .cmplz-service-header:focus-visible {
	outline: 2px solid var(--vm-gold-aa, #987028);
	outline-offset: 3px;
	opacity: 1;
}

#cmplz-cookies-overview .cmplz-service-header h3 {
	margin: 0;
	font-style: normal;
	font-weight: 600;
	font-size: var(--text-h4, 2rem);
	line-height: 1;
	letter-spacing: -0.02em;
}

#cmplz-cookies-overview .cmplz-service-header p {
	margin: 0.35rem 0 0;
	color: var(--vm-grey-medium, #747474);
	font-size: 0.875rem;
	line-height: 1.4;
}

#cmplz-cookies-overview details.cmplz-dropdown > div {
	padding: 0 0 var(--wp--preset--spacing--40, 1.5rem);
}

#cmplz-cookies-overview details.cmplz-dropdown h4 {
	margin: 1.25rem 0 0.35rem;
	font-style: normal;
	font-weight: 600;
	font-size: var(--text-h5, 1.5rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

#cmplz-cookies-overview details.cmplz-dropdown h5 {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--vm-grey-medium, #747474);
}

#cmplz-cookies-overview .cookies-per-purpose {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1.5fr);
	gap: 0.35rem 1.5rem;
	margin-top: 0.5rem;
}

#cmplz-cookies-overview .cookies-per-purpose .purpose {
	grid-column: 1 / -1;
}

@media (max-width: 600px) {
	#cmplz-cookies-overview .cookies-per-purpose {
		grid-template-columns: 1fr;
	}
}

/*
 * Default core/separator: gold-grad, 10px tall, wideSize (1360px).
 * theme.json sets gradient + minHeight; core still paints a 1px / 150px hr.
 * Dots style is left alone. Alignfull stays full-bleed if chosen.
 */
hr.wp-block-separator:not(.is-style-dots),
.wp-block-separator:not(.is-style-dots),
.wp-block-separator.has-background:not(.is-style-dots) {
	border: none;
	height: 10px;
	min-height: 10px;
	opacity: 1;
	background: var(--wp--preset--gradient--gold-grad, var(--vm-gold-grad));
	background-color: transparent;
}

hr.wp-block-separator:not(.is-style-dots):not(.alignfull),
.wp-block-separator:not(.is-style-dots):not(.alignfull),
.wp-block-separator.is-style-wide:not(.is-style-dots):not(.alignfull) {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1360px);
}

/*
 * Thin style: same gold-grad wide line as default, 3px tall.
 * Specificity matches the default rules so height wins over 10px.
 */
hr.wp-block-separator.is-style-thin,
.wp-block-separator.is-style-thin,
.wp-block-separator.has-background.is-style-thin {
	height: 3px;
	min-height: 3px;
}

/* Home hero Cover — Figma Home Hero 2137:5708 */
.wp-block-cover.alignfull.home-hero,
.home-hero.wp-block-cover.alignfull {
	width: 100%;
	max-width: 100%;
	min-height: 610px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-right: max(1.25rem, calc((100% - 1440px) / 2 + 55px));
	padding-bottom: 86px;
	padding-left: max(1.25rem, calc((100% - 1440px) / 2 + 55px));
}

.home-hero .wp-block-cover__image-background {
	object-fit: cover;
	object-position: 72% 55%;
	transform-origin: center center;
}

.home-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
	width: 100%;
}

.home-hero .wp-block-cover__inner-container > .wp-block-heading {
	margin: 0 0 6px;
	color: var(--vm-white, #ffffff);
	text-shadow: 0 4px 24px rgba(35, 31, 32, 0.45);
}

.home-hero .wp-block-cover__inner-container > p {
	margin: 0;
	color: var(--vm-white, #ffffff);
}

.home-hero .wp-block-cover__inner-container > p.is-style-introduction {
	font-weight: 600;
}

@media (max-width: 781px) {
	.wp-block-cover.alignfull.home-hero,
	.home-hero.wp-block-cover.alignfull {
		min-height: 480px;
		padding-bottom: 48px;
	}

	.home-hero .is-style-h1-home {
		font-size: clamp(48px, 12vw, 75px) !important;
	}
}

/*
 * Home hero parallax — background image only.
 * Same scrub as Westeck's homepage cover (westeck-motion.js coverParallax /
 * initHomeHeroCoverParallax): Y travels -96px → 96px with a constant scale of
 * 1.12 while the cover moves from "top bottom" to "bottom top". Linear.
 * theme.js writes translate/scale and, when the photo has spare crop, extends
 * the image (object-fit: cover) so the slide does not reveal the cover.
 * No background-attachment (broken on iOS). Text stays in the inner container.
 * Runs on small screens; reduced motion clears the transform.
 * Keep 96 / 1.12 in sync with theme.js.
 */
.wp-block-cover.alignfull.home-hero,
.home-hero.wp-block-cover.alignfull,
.wp-block-cover.home-hero {
	overflow: hidden;
}

.wp-block-cover.home-hero.is-vm-home-parallax > img.wp-block-cover__image-background {
	object-fit: cover;
	transform-origin: center center;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.home-hero > img.wp-block-cover__image-background {
		translate: none !important;
		scale: none !important;
		transform: none !important;
		will-change: auto !important;
	}
}

/* Hero Style 1 Cover — Figma 2143:5730
 * Floor shrinks on narrow viewports; height:auto lets long titles/blurbs grow the frame.
 * !important beats the pattern’s inline min-height:590px. */
.wp-block-cover.alignfull.vm-hero-style-1,
.vm-hero-style-1.wp-block-cover.alignfull {
	position: relative;
	width: 100%;
	max-width: 100%;
	/* ~300px phone → 590px desktop */
	min-height: clamp(300px, 42vw + 140px, 590px) !important;
	height: auto !important;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-right: max(1.25rem, calc((100% - 1440px) / 2 + 61px));
	padding-bottom: 50px;
	padding-left: max(1.25rem, calc((100% - 1440px) / 2 + 61px));
	box-sizing: border-box;
	overflow: hidden;
}

.vm-hero-style-1 .wp-block-cover__image-background {
	object-fit: cover;
	object-position: 45% 40%;
}

.vm-hero-style-1 .wp-block-cover__inner-container {
	position: relative;
	width: 100%;
	/* Participate in cover flex height so tall copy expands the hero. */
	flex: 0 1 auto;
	min-height: 0;
}

.vm-hero-style-1 .wp-block-cover__inner-container > .wp-block-heading {
	margin: 0 0 8px;
	color: var(--vm-white, #ffffff);
	text-shadow: 0 4px 24px rgba(35, 31, 32, 0.45);
}

.vm-hero-style-1 .wp-block-cover__inner-container > p {
	margin: 0;
	color: var(--vm-white, #ffffff);
}

.vm-hero-style-1::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	background: linear-gradient(90deg, #f3d76a 0%, #d5b129 40%, #ffffff 100%);
	pointer-events: none;
	z-index: 1;
}

@media (max-width: 781px) {
	.wp-block-cover.alignfull.vm-hero-style-1,
	.vm-hero-style-1.wp-block-cover.alignfull {
		padding-bottom: 36px;
	}
}

/*
 * Hero Style 1 parallax — image only.
 * Root scroll timeline so the lag starts at document scroll 0 (not when the
 * cover begins to exit). 140vh over 400vh is a 0.35 lag for the whole time a
 * page hero can still be on screen. No background-attachment.
 * Translate only — scale is not part of the animation. theme.js extends the
 * image upward into spare crop so edges stay covered without a zoom. If a
 * photo has no spare crop, that script sets a constant scale from scroll 0.
 * Keep 0.35 / 400vh / 140vh in sync with theme.js (PARALLAX_LAG).
 */
@supports (animation-timeline: scroll()) {
	@media (prefers-reduced-motion: no-preference) {
		.wp-block-cover.vm-hero-style-1 > img.wp-block-cover__image-background {
			transform-origin: center bottom;
			animation-name: vm-hero-style-1-parallax;
			animation-duration: auto;
			animation-timing-function: linear;
			animation-fill-mode: both;
			animation-timeline: scroll(root block);
			animation-range: 0px 400vh;
		}
	}
}

@keyframes vm-hero-style-1-parallax {
	from {
		translate: 0px 0px;
	}

	to {
		translate: 0px 140vh;
	}
}

/* JS fallback (no scroll timeline). Class is added only while that path runs. */
.wp-block-cover.vm-hero-style-1.is-vm-parallax > img.wp-block-cover__image-background {
	transform-origin: center bottom;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.vm-hero-style-1 > img.wp-block-cover__image-background {
		animation: none;
		translate: none;
		scale: none;
		transform: none;
		will-change: auto;
	}
}

.editor-styles-wrapper .wp-block-cover.vm-hero-style-1 > img.wp-block-cover__image-background {
	animation: none;
	translate: none;
	scale: none;
	transform: none;
	will-change: auto;
}

/* Home Wayfinding — Figma 2137:5707 text/colours; equal 33/33/33 full-bleed */
.vm-home-wayfinding.alignfull,
.wp-block-group.alignfull.vm-home-wayfinding {
	--vm-wayfinding-navy: linear-gradient(90deg, #002749 0%, #002e70 100%);
	--vm-wayfinding-gold: linear-gradient(90deg, #8e7306 0%, #bc9500 100%);
	--vm-wayfinding-silver: linear-gradient(90deg, #656565 0%, #868686 100%);

	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}

.vm-home-wayfinding .vm-home-wayfinding__row {
	display: flex;
	align-items: stretch;
	gap: 0 !important;
	margin: 0 !important;
}

.vm-home-wayfinding .vm-home-wayfinding__block {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	flex-grow: 1;
	flex-basis: 33.333% !important;
	min-width: 0;
	min-height: 202px;
	margin: 0;
	padding: 53px 40px;
}

.vm-home-wayfinding .vm-home-wayfinding__block--new {
	background: var(--vm-wayfinding-navy);
}

.vm-home-wayfinding .vm-home-wayfinding__block--play {
	background: var(--vm-wayfinding-gold);
}

.vm-home-wayfinding .vm-home-wayfinding__block--support {
	background: var(--vm-wayfinding-silver);
}

.vm-home-wayfinding .vm-home-wayfinding__heading {
	margin: 0 0 9px;
	color: var(--vm-white, #ffffff);
	font-size: 33px;
	line-height: 1;
	letter-spacing: -0.02em;
}

.vm-home-wayfinding .vm-home-wayfinding__copy {
	margin: 0;
	max-width: 378px;
	color: var(--vm-white, #ffffff);
}

/*
 * Inline wayfinding links: keep parent Small (Raleway / 17px) type.
 * Global text-link + theme.json force Source Sans / body size — inherit
 * family/size/line-height/weight from the Small parent.
 */
.vm-home-wayfinding .vm-home-wayfinding__copy a {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: var(--vm-white, #ffffff);
	font-weight: inherit !important;
	text-decoration: none;
	opacity: 1;
	transition: opacity var(--vm-default-transition);
}

.vm-home-wayfinding .vm-home-wayfinding__copy a:hover,
.vm-home-wayfinding .vm-home-wayfinding__copy a:focus-visible {
	opacity: 0.85;
}

@media (max-width: 781px) {
	.vm-home-wayfinding .vm-home-wayfinding__row {
		flex-direction: column;
	}

	.vm-home-wayfinding .vm-home-wayfinding__block {
		flex-basis: 100% !important;
		width: 100%;
		min-height: 0;
		padding: 40px 1.25rem;
	}
}

.entry-header {
	margin-bottom: 2rem;
}

/*
 * Single post title block — asymmetric vertical space around the header
 * (more above than below). Template sets padding-top / margin-bottom;
 * reinforce here so DB-customized templates still pick up the rhythm.
 */
.single-post .entry-header {
	padding-top: 4rem;
	margin-bottom: 3rem;
}

/* Extra breathing room before the footer on single posts only. */
.single-post .site-main {
	padding-bottom: var(--wp--preset--spacing--70, 6rem);
}

/* Single post title wrapping. Type is Heading 1 in css/type.css. */
.single-post .entry-header .wp-block-post-title,
.single-post .entry-header h1.wp-block-post-title {
	text-wrap: balance;
}

/* News & Events page surface — same as Youth Club Tournaments (#f5f5f4). */
body.blog .site-main,
body.category .site-main,
body.tag .site-main,
body.author .site-main,
body.date .site-main {
	background-color: #f5f5f4;
}

.entry-meta {
	color: var(--vm-grey-medium, #747474);
	font-size: var(--text-small, 0.875rem);
}

.archive-header {
	margin-bottom: 2.5rem;
}

.vm-news-archive-header .wp-block-query-title {
	margin: 0 0 0.5rem;
	color: #231f20;
}

/* News & Events slim hero — title + category filter under the title (black bar). */
.vm-news-hero-basic .wp-block-query-title,
.vm-news-hero-basic .wp-block-heading {
	margin: 0;
	color: var(--wp--preset--color--white, #fff);
}

.vm-news-hero-basic .vm-news-archive__filter--hero {
	margin-top: 1rem;
}

.vm-news-archive__filter--hero .vm-news-archive__filter-link,
.site-main .vm-news-archive__filter--hero .vm-news-archive__filter-link,
.wp-site-blocks .vm-news-archive__filter--hero .vm-news-archive__filter-link,
:is(.wp-site-blocks, .site-main) .vm-news-archive__filter--hero a.vm-news-archive__filter-link:not(.wp-block-button__link):not(.wp-element-button) {
	display: inline-block;
	color: rgba(255, 255, 255, 0.78) !important;
	font-family: var(--font-myriad, "Myriad Pro", sans-serif) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	font-size: var(--text-small, 17px) !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition: color var(--vm-default-transition);
}

.vm-news-archive__filter--hero .vm-news-archive__filter-item.is-active .vm-news-archive__filter-link,
.vm-news-archive__filter--hero .vm-news-archive__filter-link[aria-current="page"],
.vm-news-archive__filter--hero .vm-news-archive__filter-link:hover,
.vm-news-archive__filter--hero .vm-news-archive__filter-link:focus-visible,
.site-main .vm-news-archive__filter--hero .vm-news-archive__filter-item.is-active .vm-news-archive__filter-link,
.site-main .vm-news-archive__filter--hero .vm-news-archive__filter-link[aria-current="page"],
.site-main .vm-news-archive__filter--hero .vm-news-archive__filter-link:hover,
.site-main .vm-news-archive__filter--hero .vm-news-archive__filter-link:focus-visible,
.wp-site-blocks .vm-news-archive__filter--hero .vm-news-archive__filter-item.is-active .vm-news-archive__filter-link,
.wp-site-blocks .vm-news-archive__filter--hero .vm-news-archive__filter-link[aria-current="page"],
.wp-site-blocks .vm-news-archive__filter--hero .vm-news-archive__filter-link:hover,
.wp-site-blocks .vm-news-archive__filter--hero .vm-news-archive__filter-link:focus-visible,
:is(.wp-site-blocks, .site-main) .vm-news-archive__filter--hero .vm-news-archive__filter-item.is-active a.vm-news-archive__filter-link:not(.wp-block-button__link):not(.wp-element-button),
:is(.wp-site-blocks, .site-main) .vm-news-archive__filter--hero a.vm-news-archive__filter-link[aria-current="page"]:not(.wp-block-button__link):not(.wp-element-button),
:is(.wp-site-blocks, .site-main) .vm-news-archive__filter--hero a.vm-news-archive__filter-link:not(.wp-block-button__link):not(.wp-element-button):hover,
:is(.wp-site-blocks, .site-main) .vm-news-archive__filter--hero a.vm-news-archive__filter-link:not(.wp-block-button__link):not(.wp-element-button):focus-visible {
	color: var(--vm-gold, #ffc805) !important;
	font-weight: 600 !important;
}

.vm-news-archive__filter--hero .vm-news-archive__filter-link:focus-visible {
	outline: 2px solid var(--vm-gold, #ffc805);
	outline-offset: 4px;
}

.not-found-template {
	padding-block: 4rem;
	text-align: center;
}

/* Half Capsule — Figma 2137:5706, left-only pill crop on the photo */
.vm-half-capsule.alignfull,
.wp-block-group.alignfull.vm-half-capsule {
	--vm-half-capsule-radius: 550px;
	--vm-half-capsule-image-h: 420px;
	--vm-half-capsule-gold: linear-gradient(90deg, #f3d76a 0%, #d5b129 100%);
	--vm-half-capsule-ink: #231f20;
	--vm-half-capsule-muted: #545454;
	--vm-half-capsule-heading: #2a2a2a;

	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding: 52px 0 63px;
	background: var(--vm-white, #ffffff);
}

.vm-half-capsule .vm-half-capsule__row {
	align-items: center;
	gap: 3.625rem;
	margin: 0;
}

.vm-half-capsule .vm-half-capsule__content {
	padding-left: max(1.25rem, calc((100% - 1440px) / 2 + 60px));
	padding-right: 0.5rem;
}

.vm-half-capsule .vm-half-capsule__content > .is-style-eyebrow {
	margin: 0 0 1.45rem;
	color: var(--vm-half-capsule-muted);
	font-weight: 800;
}

.vm-half-capsule .vm-half-capsule__content > .wp-block-heading {
	margin: 0 0 9px;
	color: var(--vm-half-capsule-heading);
}

.vm-half-capsule .vm-half-capsule__content > p:not(.is-style-eyebrow) {
	margin: 0 0 30px;
	color: var(--vm-half-capsule-muted);
}

.vm-half-capsule .vm-half-capsule__actions {
	margin: 0;
	gap: 13px;
}

.vm-half-capsule .vm-half-capsule__button .wp-block-button__link,
.vm-half-capsule .vm-half-capsule__button.wp-block-button .wp-block-button__link {
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 800;
	font-style: normal;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0;
	text-transform: none;
	border: 0;
	border-radius: 67.531px;
	padding: 14.73px 25.324px 14.35px;
	transition: filter var(--vm-default-transition);
}

.vm-half-capsule .vm-half-capsule__button .wp-block-button__link:hover,
.vm-half-capsule .vm-half-capsule__button .wp-block-button__link:focus-visible {
	filter: brightness(0.97);
}

.vm-half-capsule .vm-half-capsule__media {
	padding: 0;
}

.vm-half-capsule .wp-block-image.vm-half-capsule,
.vm-half-capsule figure.vm-half-capsule,
.vm-half-capsule .vm-half-capsule__media .wp-block-image {
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
	border-top-left-radius: var(--vm-half-capsule-radius);
	border-bottom-left-radius: var(--vm-half-capsule-radius);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.vm-half-capsule .wp-block-image.vm-half-capsule img,
.vm-half-capsule figure.vm-half-capsule img,
.vm-half-capsule .vm-half-capsule__media img {
	display: block;
	width: 100% !important;
	height: var(--vm-half-capsule-image-h) !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center 38%;
	border-top-left-radius: var(--vm-half-capsule-radius);
	border-bottom-left-radius: var(--vm-half-capsule-radius);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* Swap image/content columns; do not scaleX (that would mirror letters). */
.vm-half-capsule.is-style-flipped .vm-half-capsule__row,
.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__row {
	flex-direction: row-reverse;
}

.vm-half-capsule.is-style-flipped .vm-half-capsule__content,
.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__content {
	padding-left: 0.5rem;
	padding-right: max(1.25rem, calc((100% - 1440px) / 2 + 60px));
}

.vm-half-capsule.is-style-flipped .wp-block-image.vm-half-capsule,
.vm-half-capsule.is-style-flipped figure.vm-half-capsule,
.vm-half-capsule.is-style-flipped .vm-half-capsule__media .wp-block-image,
.vm-half-capsule.vm-half-capsule--flip .wp-block-image.vm-half-capsule,
.vm-half-capsule.vm-half-capsule--flip figure.vm-half-capsule,
.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__media .wp-block-image,
.vm-half-capsule.is-style-flipped .wp-block-image.vm-half-capsule img,
.vm-half-capsule.is-style-flipped figure.vm-half-capsule img,
.vm-half-capsule.is-style-flipped .vm-half-capsule__media img,
.vm-half-capsule.vm-half-capsule--flip .wp-block-image.vm-half-capsule img,
.vm-half-capsule.vm-half-capsule--flip figure.vm-half-capsule img,
.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__media img {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: var(--vm-half-capsule-radius);
	border-bottom-right-radius: var(--vm-half-capsule-radius);
}

/*
 * Through 1800px the photo stays flush to the viewport.
 * Wider than that, stop the outer edge at the wide content width and
 * round the corners that were square against the screen edge.
 */
@media (min-width: 1801px) {
	.vm-half-capsule {
		--vm-half-capsule-wide-inset: calc(
			(100vw - var(--wp--style--global--wide-size, 1360px)) / 2
		);
	}

	.vm-half-capsule .vm-half-capsule__media {
		padding-right: var(--vm-half-capsule-wide-inset);
		padding-left: 0;
	}

	.vm-half-capsule.is-style-flipped .vm-half-capsule__media,
	.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__media {
		padding-right: 0;
		padding-left: var(--vm-half-capsule-wide-inset);
	}

	.vm-half-capsule .wp-block-image.vm-half-capsule,
	.vm-half-capsule figure.vm-half-capsule,
	.vm-half-capsule .vm-half-capsule__media .wp-block-image,
	.vm-half-capsule .wp-block-image.vm-half-capsule img,
	.vm-half-capsule figure.vm-half-capsule img,
	.vm-half-capsule .vm-half-capsule__media img {
		border-top-right-radius: var(--vm-half-capsule-radius);
		border-bottom-right-radius: var(--vm-half-capsule-radius);
	}

	.vm-half-capsule.is-style-flipped .wp-block-image.vm-half-capsule,
	.vm-half-capsule.is-style-flipped figure.vm-half-capsule,
	.vm-half-capsule.is-style-flipped .vm-half-capsule__media .wp-block-image,
	.vm-half-capsule.vm-half-capsule--flip .wp-block-image.vm-half-capsule,
	.vm-half-capsule.vm-half-capsule--flip figure.vm-half-capsule,
	.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__media .wp-block-image,
	.vm-half-capsule.is-style-flipped .wp-block-image.vm-half-capsule img,
	.vm-half-capsule.is-style-flipped figure.vm-half-capsule img,
	.vm-half-capsule.is-style-flipped .vm-half-capsule__media img,
	.vm-half-capsule.vm-half-capsule--flip .wp-block-image.vm-half-capsule img,
	.vm-half-capsule.vm-half-capsule--flip figure.vm-half-capsule img,
	.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__media img {
		border-top-left-radius: var(--vm-half-capsule-radius);
		border-bottom-left-radius: var(--vm-half-capsule-radius);
	}
}

@media (max-width: 781px) {
	.vm-half-capsule.alignfull,
	.wp-block-group.alignfull.vm-half-capsule {
		--vm-half-capsule-radius: 180px;
		--vm-half-capsule-image-h: 240px;
		padding: 2rem 0 2.5rem;
	}

	.vm-half-capsule .vm-half-capsule__row {
		gap: 1.5rem;
	}

	.vm-half-capsule .vm-half-capsule__content {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.vm-half-capsule.is-style-flipped .vm-half-capsule__row,
	.vm-half-capsule.vm-half-capsule--flip .vm-half-capsule__row {
		flex-direction: column;
	}

	.vm-half-capsule .vm-half-capsule__content > .wp-block-heading {
		font-size: var(--text-h3, 40px);
	}
}

/*
 * Half-capsule image parallax — horizontal only.
 * Same viewport progress as the homepage hero (theme.js initHalfCapsuleParallax):
 * right-hand photo travels +32px → -32px; left-hand photo
 * (.is-style-flipped, .vm-half-capsule--flip) travels -32px → +32px.
 * Constant scale (at least 1.12, larger only when the frame is narrow relative
 * to the 32px travel) supplies the bleed. The figure clips the slide. Frame
 * size, radius, flush/inset, and text are unchanged.
 * object-fit stays cover. Reduced motion clears the transform.
 * Keep 32 / 1.12 in sync with theme.js.
 */
.vm-half-capsule.is-vm-half-capsule-parallax .wp-block-image.vm-half-capsule,
.vm-half-capsule.is-vm-half-capsule-parallax figure.vm-half-capsule,
.vm-half-capsule.is-vm-half-capsule-parallax .vm-half-capsule__media .wp-block-image {
	overflow: hidden;
}

.vm-half-capsule.is-vm-half-capsule-parallax .wp-block-image.vm-half-capsule img,
.vm-half-capsule.is-vm-half-capsule-parallax figure.vm-half-capsule img,
.vm-half-capsule.is-vm-half-capsule-parallax .vm-half-capsule__media img {
	object-fit: cover;
	transform-origin: center center;
}

@media (prefers-reduced-motion: reduce) {
	.vm-half-capsule .wp-block-image.vm-half-capsule img,
	.vm-half-capsule figure.vm-half-capsule img,
	.vm-half-capsule .vm-half-capsule__media img {
		translate: none !important;
		scale: none !important;
		transform: none !important;
		will-change: auto !important;
	}
}

@media (max-width: 1360px) {
	.vm-header__utility-inner,
	.vm-header__main-inner,
	.vm-footer__sponsors,
	.wp-block-group.vm-footer__sponsors.has-global-padding.is-layout-constrained,
	.vm-footer__inner {
		padding-inline: var(--vm-page-gutter);
	}
}

@media (max-width: 1100px) {
	.vm-header__main-nav {
		font-size: 16px;
	}

	.vm-header__main-nav .wp-block-navigation-item__content {
		padding: 8px 6px;
	}
}

/*
 * Header collapse — hamburger / overlay below 1100px.
 * Primary nav uses overlayMenu:"always"; desktop restores the horizontal bar.
 * Utility bar is folded into the overlay drawer via theme.js.
 */
@media (min-width: 1100px) {
	.vm-header__main-nav .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open),
	.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default.is-menu-open,
	.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default.has-modal-open {
		display: block !important;
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		padding: 0 !important;
		overflow: visible !important;
		background-color: inherit !important;
		background: transparent !important;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.hidden-by-default
		.wp-block-navigation__responsive-container-close {
		display: none !important;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-dialog,
	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-close {
		height: auto !important;
		max-height: none !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
	}

	.vm-header__mobile-utility {
		display: none !important;
	}

	.vm-header--nav-open .vm-header__search {
		visibility: visible;
		pointer-events: auto;
	}
}

/*
 * Desktop current section marker on top-level main nav only.
 * Solid 6px bar as wide as the label text, flush with the bottom edge of
 * .vm-header__main. The label is the text only; the caret and the link's
 * horizontal padding sit outside it, so they are not part of the bar.
 * Out of flow so the label does not move. The label uses the same ink as
 * other top-level links (gold only while .is-active). This pseudo-element
 * uses the light gold (--vm-header-gold-start), including while .is-active.
 * The mega caret (.vm-nav-caret) is unchanged.
 * Utility nav, mega panels, and the mobile overlay are outside this block.
 */
@media (min-width: 1100px) {
	.vm-header .vm-header__main-inner.is-layout-flex {
		align-items: stretch;
	}

	.vm-header .vm-header__main-inner > .vm-header__logo {
		align-self: center;
	}

	.vm-header .vm-header__main-inner > .vm-header__tools {
		align-self: stretch;
	}

	/*
	 * Search stays content-sized and centered. The nav stretches to the
	 * main bar so the current-section bar's containing block reaches the header edge.
	 */
	.vm-header__search.wp-block-search,
	.vm-header__search.wp-block-search.wp-block-search__button-only,
	.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
		align-self: center;
	}

	nav.vm-header__main-nav {
		align-self: stretch;
		align-items: stretch;
	}

	nav.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open),
	nav.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default.is-menu-open,
	nav.vm-header__main-nav .wp-block-navigation__responsive-container.hidden-by-default.has-modal-open {
		display: flex !important;
		flex-direction: column;
		align-self: stretch;
		height: 100% !important;
	}

	nav.vm-header__main-nav .wp-block-navigation__responsive-close,
	nav.vm-header__main-nav .wp-block-navigation__responsive-dialog,
	nav.vm-header__main-nav .wp-block-navigation__responsive-container-content {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		height: 100%;
		min-height: 0;
	}

	nav.vm-header__main-nav .wp-block-navigation__responsive-container-content,
	nav.vm-header__main-nav .wp-block-navigation__container {
		align-items: stretch;
	}

	nav.vm-header__main-nav .wp-block-navigation__container {
		flex: 1 1 auto;
		height: 100%;
	}

	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item {
		position: relative;
		align-items: center;
	}

	/*
	 * Link fills the li (header height). Vertical padding is removed so the
	 * label's bottom edge is the header bottom; horizontal padding stays on
	 * the link. The label is shrink-wrapped to the text and stretches
	 * vertically, with the text centered. The caret stays a sibling, centered
	 * by the link, and is not inside the label box.
	 */
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		align-self: stretch;
		padding-block: 0;
	}

	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content > .wp-block-navigation-item__label {
		position: relative;
		display: flex;
		align-items: center;
		align-self: stretch;
		width: max-content;
	}

	/*
	 * Width is the label box (the text). Absolute so the label does not
	 * shift. Bottom edge matches the header bar.
	 */
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after,
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after,
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after,
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after,
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item:has(> a.wp-block-navigation-item__content[aria-current="page"]) > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after,
	nav.vm-header__main-nav .wp-block-navigation__container > .wp-block-navigation-item:has(> .wp-block-navigation-item__content[aria-current="page"]) > .wp-block-navigation-item__content > .wp-block-navigation-item__label::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 2;
		width: 100%;
		height: 6px;
		background: var(--vm-header-gold-start, #f3d76a);
		pointer-events: none;
	}
}

/* Fallback when template part still uses overlayMenu:"mobile" (core ≥600px inline). */
@media (min-width: 600px) and (max-width: 1099px) {
	.vm-header__main-nav
		.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
}

@media (max-width: 1099px) {
	.vm-header {
		/* Tighter than --vm-page-gutter (1.25rem) so logo / hamburger sit closer to edges. */
		--vm-header-chrome-gutter: 0.75rem;
		overflow-x: clip;
	}

	.vm-header__utility {
		display: none;
	}

	.vm-header__main {
		min-height: 72px;
	}

	.vm-header__utility-inner,
	.vm-header__main-inner {
		min-height: 0;
		padding-block: 10px;
		padding-inline: var(--vm-header-chrome-gutter) !important;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.vm-header__main-inner,
	.vm-header .vm-header__main-inner.is-layout-flex {
		display: flex;
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		box-sizing: border-box;
	}

	.vm-header__logo {
		flex: 0 0 auto;
		min-width: 0;
		width: min(180px, 48vw);
		max-width: min(180px, 48vw);
		opacity: 1;
		transition: opacity var(--vm-header-search-expand, var(--vm-default-transition));
	}

	/* Expanded search overlays the logo slot — fade it out so it isn’t blocked. */
	.vm-header--search-open .vm-header__logo {
		opacity: 0;
		pointer-events: none;
	}

	/* Keep hamburger visible while search is open (desktop hides main-nav under the field). */
	.vm-header--search-open .vm-header__main-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.vm-header__logo a {
		display: block;
		max-width: 100%;
	}

	.vm-header__logo img {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.vm-header .vm-header__tools.wp-block-group,
	.vm-header .wp-block-group.vm-header__tools.is-layout-flex,
	.vm-header__tools {
		flex: 0 0 auto;
		width: auto;
		min-width: 0;
		display: grid;
		/* Search icon, then hamburger — hamburger is the rightmost control. */
		grid-template-columns: 24px 40px;
		grid-template-rows: minmax(0, auto);
		align-items: center;
		column-gap: 14px;
		justify-content: end;
		position: relative;
		z-index: 3;
	}

	.vm-header__search {
		grid-column: 1;
		grid-row: 1;
		z-index: 6;
		width: 24px;
		pointer-events: auto;
	}

	.vm-header__main-nav {
		grid-column: 2;
		grid-row: 1;
		width: auto;
		max-width: 39.6px;
		min-width: 0;
		justify-self: end;
		z-index: 5;
	}

	/*
	 * Overlay lives inside .vm-header__main-nav, and WP also puts that class on
	 * the inner <ul>. The 39.6px chrome max-width must not constrain drawer items.
	 */
	.vm-header--nav-open .vm-header__main-nav,
	.vm-header__main-nav:has(.wp-block-navigation__responsive-container.is-menu-open) {
		max-width: none !important;
		width: auto !important;
	}

	.vm-header__search.wp-block-search .wp-block-search__input,
	.vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input,
	.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden
		.wp-block-search__input {
		--vm-header-search-input-inset: 8px;
		width: 0 !important;
		min-width: 0 !important;
		max-width: none;
		margin: 0 !important;
		padding: 0 !important;
		font-size: clamp(1.25rem, 5vw, calc(var(--text-h3, 40px) * 0.7));
	}

	.vm-header--search-open .vm-header__search.wp-block-search .wp-block-search__input,
	.vm-header--search-open .vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input,
	.vm-header--search-open
		.vm-header__search.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)
		.wp-block-search__input {
		position: absolute;
		/* Containing block is the 24px search control — grow left from its left edge
		 * (right:100%), not from tools/hamburger. Hamburger stays clear to the right. */
		right: 100%;
		left: auto;
		width: var(--vm-header-search-nav-width, min(70vw, 280px)) !important;
		margin: var(--vm-header-search-input-inset, 8px) 0 !important;
		padding: 0 8px 0 16px !important;
		z-index: 7;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		/* Previous 44 / 30.8 (−10%). */
		width: 39.6px;
		height: 39.6px;
		padding: 0;
		color: var(--vm-header-ink, #231f20);
		background: transparent;
		border: 0;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-open svg {
		width: 27.72px;
		height: 27.72px;
		fill: none;
		stroke: currentColor;
		flex-shrink: 0;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-open svg path {
		fill: none;
		stroke: currentColor;
		stroke-width: 1.75;
		stroke-linecap: square;
	}

	.vm-header__search.wp-block-search .wp-block-search__inside-wrapper,
	.vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper,
	.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden
		.wp-block-search__inside-wrapper {
		display: grid;
		grid-template-columns: 24px;
		grid-template-rows: minmax(0, auto);
		column-gap: 0;
		width: 24px;
		justify-content: end;
	}

	.vm-header__search.wp-block-search .wp-block-search__button {
		grid-column: 1;
		grid-row: 1;
		flex: 0 0 24px;
		width: 24px;
		min-width: 24px;
		max-width: 24px;
		height: 24px;
		z-index: 6;
	}

	.vm-header__search.wp-block-search .wp-block-search__button svg {
		width: 22px;
		height: 22px;
		min-width: 22px;
		min-height: 22px;
		flex: 0 0 22px;
	}

	/* Overlay drawer — full-viewport panel opened by core Navigation. */
	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open,
	.vm-header__main-nav .wp-block-navigation__responsive-container.has-modal-open {
		display: flex !important;
		position: fixed !important;
		inset: 0 !important;
		z-index: 100000 !important;
		width: 100% !important;
		max-width: 100vw !important;
		height: 100% !important;
		max-height: 100dvh !important;
		padding: 0 !important;
		background: var(--vm-white, #ffffff) !important;
		overflow: hidden !important;
	}

	/*
	 * Keep header chrome (search + menu slot) above the drawer so controls
	 * do not jump and search stays tappable / stacked correctly.
	 * White plate behind search + hamburger/close so scrolling menu content
	 * does not show through the icons.
	 */
	.vm-header--nav-open .vm-header__tools {
		z-index: 100001;
		isolation: isolate;
	}

	.vm-header--nav-open .vm-header__tools::before {
		content: "";
		position: absolute;
		/* Pad past the icons so scrolled list items stay fully covered. */
		top: -14px;
		right: -10px;
		bottom: -14px;
		left: -16px;
		z-index: -1;
		background: var(--vm-white, #ffffff);
		border-radius: 4px;
		pointer-events: none;
	}

	.vm-header--nav-open .vm-header__search {
		visibility: visible;
		pointer-events: auto;
		z-index: 100003;
	}

	/* Hold the open-button slot; close is fixed over the same rect via JS. */
	.vm-header--nav-open .vm-header__main-nav .wp-block-navigation__responsive-container-open {
		visibility: hidden;
		pointer-events: none;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		height: 100%;
		max-height: 100dvh;
		background: var(--vm-white, #ffffff);
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		display: flex;
		flex-direction: column;
		padding: 16px var(--vm-header-chrome-gutter, 0.75rem) 32px;
		overflow: hidden;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-close {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100002;
		display: flex;
		align-items: center;
		justify-content: center;
		/* Match open hamburger hit area. */
		width: 39.6px;
		height: 39.6px;
		margin: 0;
		padding: 0;
		color: var(--vm-header-ink, #231f20);
		/* Extra white so fixed close matches the tools plate while scrolling. */
		background: var(--vm-white, #ffffff);
		box-shadow: 0 0 0 12px var(--vm-white, #ffffff);
		border: 0;
		/* top/left/width/height synced to open button in theme.js */
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-close svg {
		width: 27.72px;
		height: 27.72px;
		fill: none;
		stroke: currentColor;
		flex-shrink: 0;
	}

	.vm-header__main-nav .wp-block-navigation__responsive-container-close svg path {
		fill: none;
		stroke: currentColor;
		stroke-width: 1.75;
		stroke-linecap: square;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 48px 0 24px;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		/* Keep scroll for long accordion lists; hide the scrollbar track. */
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content::-webkit-scrollbar {
		display: none;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.vm-nav-caret {
		display: none;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		align-self: stretch;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		margin: 0;
		box-sizing: border-box;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		a.wp-block-navigation-item__content,
	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		align-self: stretch;
		gap: 8px;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		box-sizing: border-box;
		padding: 14px 0;
		border-bottom: 1px solid rgba(35, 31, 32, 0.12);
		color: var(--vm-header-ink, #231f20);
		font-family: var(--font-source-sans);
		font-optical-sizing: auto;
		font-size: 1.25rem;
		font-weight: 700;
		font-style: italic;
		letter-spacing: -0.02em;
		line-height: 1.2;
		white-space: normal;
		text-decoration: none;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__submenu-container {
		position: static;
		display: none;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0 0 8px 12px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		overflow: visible;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container,
	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.has-child
		.wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container {
		display: flex;
		flex-direction: column;
	}

	.vm-header__main-nav
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__submenu-container
		.wp-block-navigation-item__content {
		padding: 10px 0;
		font-size: 1rem;
		font-family: var(--font-raleway);
		font-variant-numeric: lining-nums;
		font-weight: 600;
		font-style: normal;
		border-bottom-color: rgba(35, 31, 32, 0.08);
	}

	/*
	 * Dedicated mobile accordion (cloned from #vm-mobile-nav-source).
	 * Hides the core top-level-only nav list while the drawer is open.
	 */
	.wp-block-navigation__responsive-container-content.has-vm-mobile-nav
		> .wp-block-navigation__container:not(.vm-header__mobile-utility) {
		display: none !important;
	}

	.vm-mobile-nav {
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		align-self: stretch;
	}

	.vm-mobile-nav__list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.vm-mobile-nav__item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		margin: 0;
	}

	.vm-mobile-nav__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		width: 100%;
		margin: 0;
		padding: 14px 0;
		border: 0;
		border-bottom: 1px solid rgba(35, 31, 32, 0.12);
		border-radius: 0;
		background: transparent;
		color: var(--vm-header-ink, #231f20);
		font-family: var(--font-source-sans);
		font-optical-sizing: auto;
		font-size: 1.25rem;
		font-weight: 700;
		font-style: italic;
		letter-spacing: -0.02em;
		line-height: 1.2;
		text-align: left;
		text-decoration: none;
		cursor: pointer;
		box-sizing: border-box;
	}

	a.vm-mobile-nav__toggle--link {
		cursor: pointer;
	}

	.vm-mobile-nav__toggle:hover,
	.vm-mobile-nav__toggle:focus-visible {
		opacity: 0.7;
	}

	.vm-mobile-nav__toggle:focus-visible {
		outline: 2px solid var(--vm-gold-aa, #987028);
		outline-offset: 2px;
	}

	.vm-mobile-nav__toggle-label {
		flex: 1 1 auto;
		min-width: 0;
	}

	.vm-mobile-nav__item.has-children {
		--vm-mobile-nav-expand: 300ms;
	}

	/* Down-angle chevron; rotates 180° when the accordion section is open. */
	.vm-mobile-nav__toggle-icon {
		flex: 0 0 2.5rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		margin: -0.5rem -0.25rem -0.5rem 0;
		position: relative;
		color: var(--vm-header-ink, #231f20);
		transition: transform var(--vm-mobile-nav-expand, 300ms)
			var(--vm-default-transition-timing, cubic-bezier(0.3, 0, 0.14, 1));
	}

	.vm-mobile-nav__toggle-icon::before {
		content: "";
		display: block;
		width: 0.45rem;
		height: 0.45rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-15%) rotate(45deg);
		box-sizing: border-box;
	}

	.vm-mobile-nav__item.is-open > .vm-mobile-nav__toggle .vm-mobile-nav__toggle-icon {
		transform: rotate(180deg);
	}

	/*
	 * Collapse with grid-template-rows so open/close can transition.
	 * Padding lives on the inner list so it clips with the 0fr track.
	 * [hidden] stays display:none for the resting closed state (not tabbable).
	 */
	.vm-mobile-nav__panel {
		display: grid;
		grid-template-rows: 0fr;
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden;
		box-sizing: border-box;
		transition: grid-template-rows var(--vm-mobile-nav-expand, 300ms)
			var(--vm-default-transition-timing, cubic-bezier(0.3, 0, 0.14, 1));
	}

	.vm-mobile-nav__item.is-open > .vm-mobile-nav__panel {
		grid-template-rows: 1fr;
	}

	.vm-mobile-nav__panel[hidden] {
		display: none !important;
	}

	/* Grid item has no padding so 0fr can reach 0. Padding sits on the list. */
	.vm-mobile-nav__panel-inner {
		min-height: 0;
		overflow: hidden;
	}

	.vm-mobile-nav__item.is-open > .vm-mobile-nav__panel > .vm-mobile-nav__panel-inner {
		overflow: visible;
	}

	.vm-mobile-nav__links {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		margin: 0;
		padding: 16px 0;
		list-style: none;
	}

	@media (prefers-reduced-motion: reduce) {
		.vm-mobile-nav__panel,
		.vm-mobile-nav__toggle-icon {
			transition: none;
		}
	}

	/* Column/group titles inside accordion panels (e.g. Recognition). */
	.vm-mobile-nav__group-label {
		margin: 22px 0 2px;
		padding: 0;
		color: var(--vm-grey-medium, #747474);
		font-family: var(--font-raleway);
		font-variant-numeric: lining-nums;
		font-size: 0.75rem;
		font-weight: 700;
		font-style: normal;
		letter-spacing: 0.04em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	/*
	 * In-flow 5px marker, same size as current-page dots. Sits on the label's
	 * left edge (aligned with accordion links) and the heading text follows.
	 */
	.vm-mobile-nav__group-label::before {
		content: "";
		display: inline-block;
		width: 5px;
		height: 5px;
		margin-right: 5px;
		border-radius: 50%;
		background-color: currentColor;
		/* Sit on the cap-height of the uppercase label, not the x-height. */
		vertical-align: 0.15em;
	}

	/* First heading sits under panel padding — avoid stacking extra top space. */
	.vm-mobile-nav__links > .vm-mobile-nav__group-label:first-child {
		margin-top: 4px;
	}

	.vm-mobile-nav__link-item a {
		display: block;
		width: 100%;
		padding: 10px 0;
		border-bottom: 0;
		color: var(--vm-header-ink, #231f20);
		font-family: var(--font-raleway);
		font-variant-numeric: lining-nums;
		font-size: 1rem;
		font-weight: 600;
		font-style: normal;
		line-height: 1.3;
		text-decoration: none;
		box-sizing: border-box;
	}

	.vm-mobile-nav__link-item a:hover,
	.vm-mobile-nav__link-item a:focus-visible {
		opacity: 0.7;
	}

	.vm-mobile-nav__link-item a:focus-visible {
		outline: 2px solid var(--vm-gold-aa, #987028);
		outline-offset: 2px;
	}

	/*
	 * No text-link / nav ::before/::after underlines in the mobile drawer.
	 * Scoped to the open overlay + accordion + injected utility list so
	 * desktop mega / utility underlines stay intact (≥1100px).
	 */
	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open a::before,
	.vm-header__main-nav .wp-block-navigation__responsive-container.is-menu-open a::after,
	.vm-mobile-nav a::before,
	.vm-mobile-nav a::after,
	.vm-header__mobile-utility a::before,
	.vm-header__mobile-utility a::after,
	.vm-header__mobile-utility .wp-block-navigation-item__content::before,
	.vm-header__mobile-utility .wp-block-navigation-item__content::after {
		content: none !important;
		display: none !important;
		animation: none !important;
	}

	/* Utility links cloned into the drawer (theme.js). */
	.vm-header__mobile-utility {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		align-self: stretch;
		width: 100% !important;
		max-width: none !important;
		margin: 8px 0 0;
		padding: 0;
		border-top: 0;
		list-style: none;
		box-sizing: border-box;
	}

	.vm-header__mobile-utility > .wp-block-navigation-item {
		width: 100% !important;
		max-width: none !important;
	}

	.vm-header__mobile-utility > .wp-block-navigation-item > a.wp-block-navigation-item__content,
	.vm-header__mobile-utility > .wp-block-navigation-item > .wp-block-navigation-item__content,
	.vm-header__mobile-utility > .vm-mobile-nav__item > .vm-mobile-nav__toggle {
		display: flex !important;
		width: 100% !important;
		max-width: none !important;
		font-family: var(--font-raleway);
		font-variant-numeric: lining-nums;
		font-size: 0.9375rem;
		font-weight: 700;
		font-style: normal;
		letter-spacing: 0;
		text-transform: none;
	}

	.vm-header__mobile-utility .wp-block-navigation-item.vm-header__contact:not(.has-child) > a.wp-block-navigation-item__content,
	.vm-header__mobile-utility .wp-block-navigation-item.vm-header__contact:not(.has-child) > .wp-block-navigation-item__content {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: none !important;
		margin-top: 12px;
		padding: 12px 22px;
		border: 0;
		border-radius: 0;
		border-bottom: 0;
		background: linear-gradient(90deg, var(--vm-header-gold-start, #f3d76a), var(--vm-header-gold, #d5b129));
		color: var(--vm-header-ink, #231f20);
		font-style: normal;
	}

	/*
	 * Core flyout nodes stay hidden. Drawer subpages use .vm-mobile-nav__panel,
	 * the same accordion control as the primary menu.
	 */
	.vm-header__mobile-utility .wp-block-navigation__submenu-container,
	.vm-header__mobile-utility .wp-block-navigation-submenu__toggle,
	.vm-header__mobile-utility .wp-block-navigation__submenu-icon {
		display: none !important;
	}
}

@media (max-width: 781px) {
	.vm-header__logo {
		width: min(160px, 46vw);
		max-width: min(160px, 46vw);
	}

	.vm-header__search.wp-block-search .wp-block-search__input,
	.vm-header__search.wp-block-search.wp-block-search__button-only .wp-block-search__input,
	.vm-header__search.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden
		.wp-block-search__input {
		--vm-header-search-input-inset: 8px;
		height: auto;
		font-size: calc(var(--text-h3, 40px) * 0.65);
	}
}

/* Indoor or Outdoor — Figma 2137:5705
   Full-bleed rectangular 50/50 Covers with a straight vertical seam.
   Panel PNGs have diagonal alpha; overscale + clip hides that edge.
   Copy insets match wideSize (1360px). */
.vm-indoor-outdoor.alignfull,
.wp-block-group.alignfull.vm-indoor-outdoor {
	--vm-indoor-outdoor-h: 544px;
	--vm-indoor-outdoor-gold: #d5b129;
	--vm-indoor-outdoor-wide: var(--wp--style--global--wide-size, 1360px);
	--vm-indoor-outdoor-wide-inset: max(1.25rem, calc((100% - var(--vm-indoor-outdoor-wide)) / 2));
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding: 0 !important;
	overflow: hidden;
}

.vm-indoor-outdoor .vm-indoor-outdoor__split,
.vm-indoor-outdoor .vm-indoor-outdoor__split.alignfull {
	display: flex;
	align-items: stretch;
	gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	--wp--style--block-gap: 0px;
}

.vm-indoor-outdoor__col {
	display: flex;
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	flex-basis: 50% !important;
	width: 50%;
	max-width: 50%;
	overflow: hidden;
}

.vm-indoor-outdoor__col--indoor {
	z-index: 1;
}

.vm-indoor-outdoor__col--beach {
	z-index: 1;
}

.vm-indoor-outdoor .wp-block-cover.vm-indoor-outdoor__half,
.vm-indoor-outdoor__half.wp-block-cover {
	flex: 1 1 auto;
	width: 100%;
	min-height: var(--vm-indoor-outdoor-h);
	margin: 0;
	overflow: hidden;
}

/*
 * Diagonal cover overlay, 45° from bottom-left to top-right.
 * Bottom-left is 30 percentage points more opaque than the flat dim
 * (indoor 20% → 50%, beach 30% → 60%). Top-right keeps the previous dim.
 * !important beats theme.json .has-black-background-color and core dim opacity.
 */
.vm-indoor-outdoor .vm-indoor-outdoor__half .wp-block-cover__background.has-background-dim {
	opacity: 1;
	background-color: transparent !important;
}

.vm-indoor-outdoor .vm-indoor-outdoor__half--indoor .wp-block-cover__background.has-background-dim {
	background-image: linear-gradient(
		45deg,
		rgba(0, 0, 0, 0.5) 0%,
		rgba(0, 0, 0, 0.2) 100%
	) !important;
}

.vm-indoor-outdoor .vm-indoor-outdoor__half--beach .wp-block-cover__background.has-background-dim {
	background-image: linear-gradient(
		45deg,
		rgba(0, 0, 0, 0.6) 0%,
		rgba(0, 0, 0, 0.3) 100%
	) !important;
}

/* Crop panel PNG diagonal alpha outside the rectangular column. */
.vm-indoor-outdoor__half--indoor .wp-block-cover__image-background {
	left: 0;
	right: auto;
	width: calc(100% + 8%);
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: left center;
}

.vm-indoor-outdoor__half--beach .wp-block-cover__image-background {
	left: auto;
	right: 0;
	width: calc(100% + 8%);
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: right center;
}

.vm-indoor-outdoor__half .wp-block-cover__image-background {
	object-fit: cover;
}

/*
 * Indoor / beach cover parallax — same scrub as the homepage hero.
 * Both covers travel -96px → 96px at a constant scale of 1.12 while the cover
 * moves from "top bottom" to "bottom top" (theme.js initHomeHeroParallax).
 * Horizontal overscale above stays so diagonal PNG alpha remains clipped.
 * object-fit stays cover. No background-attachment. Text is not moved.
 * Keep 96 / 1.12 in sync with theme.js.
 */
.wp-block-cover.vm-indoor-outdoor__half.is-vm-home-parallax > img.wp-block-cover__image-background {
	object-fit: cover;
	transform-origin: center center;
}

.wp-block-cover.vm-indoor-outdoor__half.is-vm-home-parallax > .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.vm-indoor-outdoor__half > img.wp-block-cover__image-background {
		translate: none !important;
		scale: none !important;
		transform: none !important;
		will-change: auto !important;
	}
}

.vm-indoor-outdoor__half .wp-block-cover__inner-container {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}

.vm-indoor-outdoor__half--indoor.wp-block-cover {
	padding-top: 2rem !important;
	padding-right: 1.5rem !important;
	padding-bottom: 70px !important;
	padding-left: var(--vm-indoor-outdoor-wide-inset) !important;
}

.vm-indoor-outdoor__half--beach.wp-block-cover {
	padding-top: 2rem !important;
	padding-right: var(--vm-indoor-outdoor-wide-inset) !important;
	padding-bottom: 70px !important;
	padding-left: 1.5rem !important;
}

.vm-indoor-outdoor__card {
	gap: 0;
	align-items: flex-start;
	width: 100%;
}

.vm-indoor-outdoor__icon {
	width: 30px;
	min-width: 30px;
	height: 48px;
	margin: 0 !important;
	padding-top: 6px;
	flex-shrink: 0;
	filter: drop-shadow(0 4px 12px rgba(35, 31, 32, 0.45));
}

.vm-indoor-outdoor__icon img {
	display: block;
	width: 24px !important;
	height: 45px !important;
	max-width: none;
	object-fit: contain;
}

.vm-indoor-outdoor__copy {
	flex: 1 1 auto;
	min-width: 0;
}

.vm-indoor-outdoor__col--indoor .vm-indoor-outdoor__copy {
	max-width: 538px;
}

.vm-indoor-outdoor__col--beach .vm-indoor-outdoor__copy {
	max-width: 500px;
}

.vm-indoor-outdoor__copy .wp-block-heading,
.vm-indoor-outdoor__copy .is-style-heading-2-surface {
	margin: 0 0 22px;
	color: var(--vm-white, #ffffff);
	text-shadow: 0 4px 24px rgba(35, 31, 32, 0.45);
}

.vm-indoor-outdoor__copy > p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 2px 4px rgba(35, 31, 32, 0.25);
}

.vm-indoor-outdoor__copy > p.is-style-small-link {
	margin-top: 32px;
	color: var(--vm-white, #ffffff);
	text-shadow: none;
}

.vm-indoor-outdoor__copy > p.is-style-small-link a {
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: var(--text-small-link, 16px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.25px !important;
	text-transform: uppercase !important;
	color: var(--vm-white, #ffffff) !important;
	--vm-link-underline-color: var(--vm-indoor-outdoor-gold);
	text-decoration: none !important;
	transition: color var(--vm-default-transition);
}

.vm-indoor-outdoor__copy > p.is-style-small-link a:hover,
.vm-indoor-outdoor__copy > p.is-style-small-link a:focus-visible {
	color: var(--vm-indoor-outdoor-gold) !important;
}

@media (max-width: 781px) {
	.vm-indoor-outdoor .vm-indoor-outdoor__split {
		flex-direction: column;
	}

	.vm-indoor-outdoor__col {
		flex-basis: 100% !important;
		width: 100%;
		max-width: none;
	}

	.vm-indoor-outdoor__half--indoor .wp-block-cover__image-background,
	.vm-indoor-outdoor__half--beach .wp-block-cover__image-background {
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

	.vm-indoor-outdoor .wp-block-cover.vm-indoor-outdoor__half,
	.vm-indoor-outdoor__half.wp-block-cover {
		/*
		 * Stacked layout: width drives height.
		 * !important needed: Cover serializes inline min-height:544px and
		 * aspect-ratio:unset (block supports), which otherwise win.
		 */
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
	}

	.vm-indoor-outdoor__half--indoor.wp-block-cover,
	.vm-indoor-outdoor__half--beach.wp-block-cover {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
		padding-bottom: 1.5rem !important;
	}

	.vm-indoor-outdoor__copy .is-style-heading-2-surface {
		font-size: var(--text-h3, 40px) !important;
		line-height: 1 !important;
	}
}

/* Latest News Block — Figma 2137:5704
   Full-bleed white background; inner content is theme.json wideSize (1360px). */
.vm-latest-news.alignfull,
.wp-block-group.alignfull.vm-latest-news {
	--vm-latest-news-gold: linear-gradient(90deg, #f3d76a 0%, #d5b129 100%);
	--vm-latest-news-gold-solid: #d5b129;
	--vm-latest-news-beige: #f5f5f4;
	--vm-latest-news-ink: #0a0a0a;
	--vm-latest-news-heading: #2a2a2a;
	--vm-latest-news-muted: #555555;
	--vm-latest-news-grey: #cfcfcf;
	--vm-latest-news-image-h: 359px;
	--vm-latest-news-wide: var(--wp--style--global--wide-size, 1360px);

	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 55px;
	padding-bottom: 64px;
	/* Layer pad restore — beat pattern inline padding 0. */
	padding-left: var(--vm-layer-pad-left) !important;
	padding-right: var(--vm-layer-pad-right) !important;
	background: var(--vm-white, #ffffff);
}

.vm-latest-news .vm-latest-news__inner,
.vm-latest-news .vm-latest-news__inner.alignwide {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--vm-latest-news-wide);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0;
	padding-right: 0;
}

.vm-latest-news .vm-latest-news__heading {
	margin: 0 0 26px;
	color: var(--vm-latest-news-heading);
}

.vm-latest-news .vm-latest-news__body {
	align-items: stretch !important;
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	/* Room for .vm-latest-news__all (pulled out of list-col height). */
	margin-bottom: calc(24px + 1.6em);
}

.vm-latest-news__media-col,
.vm-latest-news__list-col {
	flex-basis: 50% !important;
	width: 50%;
	max-width: 50%;
	margin: 0;
}

.vm-latest-news__media-col {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-height: 0;
}

/* List-col height = news rows only; All News is absolutely placed below. */
.vm-latest-news__list-col {
	position: relative;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-height: 0;
}

.vm-latest-news__media {
	position: relative;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0 !important;
	overflow: hidden;
	background-color: var(--vm-latest-news-grey);
}

/* Empty / no-preview fallback so the grey frame does not collapse. */
.vm-latest-news__media.is-empty,
.vm-latest-news__media:not(:has(img:not([hidden]))) {
	min-height: var(--vm-latest-news-image-h);
	background-color: var(--vm-latest-news-grey);
}

.vm-latest-news__preview {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 1;
	transition: opacity var(--vm-default-transition, 150ms cubic-bezier(0.3, 0, 0.14, 1));
}

.vm-latest-news__preview[hidden] {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.vm-latest-news__preview {
		transition: none;
	}
}

.vm-latest-news .vm-latest-news__query,
.vm-latest-news .vm-latest-news__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vm-latest-news .wp-block-post-template.vm-latest-news__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	/* Kill theme list-item-gap on query LI rows (was ~0.5em + flex gap). */
	row-gap: 2px;
}

.vm-latest-news .wp-block-post,
.vm-latest-news .vm-latest-news__list > .wp-block-post {
	position: relative;
	display: block;
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	padding: 0;
	background: var(--vm-latest-news-beige);
	min-height: 88px;
	cursor: pointer;
}

/*
 * Kill theme list-item margins between stacked rows only.
 * Do not set background here — `li + li` is (0,3,2) and used to beat
 * `.wp-block-post.is-active` (0,3,0), so only the first row showed gold.
 */
.vm-latest-news .wp-block-post-template.vm-latest-news__list > li + li {
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Default first row + JS .is-active (mouseenter/focusin in theme.js). */
.vm-latest-news .wp-block-post:first-child,
.vm-latest-news .wp-block-post.is-active {
	background: var(--vm-latest-news-gold);
}

.vm-latest-news:has(.wp-block-post.is-active) .wp-block-post:first-child:not(.is-active) {
	background: var(--vm-latest-news-beige);
}

.vm-latest-news .vm-latest-news__thumb,
.vm-latest-news .wp-block-post-featured-image.vm-latest-news__thumb {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.vm-latest-news .vm-latest-news__item {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	align-items: center;
	min-height: 88px;
	padding: 16px 15px;
	margin: 0;
}

.vm-latest-news .vm-latest-news__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 56.2px;
	width: 56.2px;
	min-width: 56.2px;
	padding: 10px;
	margin: 0;
	background: var(--vm-white, #ffffff);
	border-radius: 10px;
	text-align: center;
}

.vm-latest-news .vm-latest-news__month,
.vm-latest-news .vm-latest-news__month time {
	margin: 0;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 400;
	font-style: normal;
	font-size: 10.9px;
	line-height: 11.42px;
	letter-spacing: 0.87px;
	text-transform: uppercase;
	color: var(--vm-latest-news-muted);
}

.vm-latest-news .vm-latest-news__day,
.vm-latest-news .vm-latest-news__day time {
	margin: 0;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 800;
	font-style: normal;
	font-size: 20px;
	line-height: 21px;
	letter-spacing: 0;
	color: var(--vm-latest-news-ink);
	text-transform: none;
}

.vm-latest-news .wp-block-post-date {
	margin: 0;
}

.vm-latest-news .vm-latest-news__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: var(--font-myriad) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	font-size: 20px !important;
	line-height: 1.11 !important;
	letter-spacing: -0.4px !important;
	color: var(--vm-latest-news-ink);
}

.vm-latest-news .vm-latest-news__title a {
	/* static so stretch ::before anchors to .wp-block-post, not the text link */
	position: static !important;
	font-family: var(--font-myriad) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	font-size: 20px !important;
	line-height: 1.11 !important;
	letter-spacing: -0.4px !important;
	color: var(--vm-latest-news-ink) !important;
	text-decoration: none !important;
}

/* Whole row is the hit zone (hover already covers .wp-block-post). */
.vm-latest-news .vm-latest-news__title a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.vm-latest-news .wp-block-post:has(.vm-latest-news__title a:focus-visible) {
	outline: 2px solid var(--vm-latest-news-ink);
	outline-offset: -2px;
}

.vm-latest-news .vm-latest-news__title a:hover,
.vm-latest-news .vm-latest-news__title a:focus-visible {
	color: var(--vm-latest-news-ink) !important;
}

.vm-latest-news .vm-latest-news__all {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin: 24px 0 0;
	color: var(--vm-latest-news-heading);
}

.vm-latest-news .vm-latest-news__all a {
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: var(--text-small-link, 16px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.25px !important;
	text-transform: uppercase !important;
	color: var(--vm-latest-news-heading) !important;
	--vm-link-underline-color: var(--vm-latest-news-gold-solid);
	text-decoration: none !important;
	transition: color var(--vm-default-transition);
}

.vm-latest-news .vm-latest-news__all a:hover,
.vm-latest-news .vm-latest-news__all a:focus-visible {
	color: var(--vm-latest-news-gold-solid) !important;
}

@media (max-width: 781px) {
	.vm-latest-news.alignfull,
	.wp-block-group.alignfull.vm-latest-news {
		--vm-latest-news-image-h: 220px;
		padding-top: 2rem;
		padding-bottom: 2.5rem;
	}
}

/* Scores Strip — Figma 2137:5703 */
.vm-scores-strip.alignfull,
.wp-block-group.alignfull.vm-scores-strip {
	--vm-scores-navy-start: #002e70;
	--vm-scores-navy-end: #002749;
	--vm-scores-ink: #231f20;
	--vm-scores-icon-size: 42px;

	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	background: linear-gradient(-83.59deg, var(--vm-scores-navy-end) 0%, var(--vm-scores-navy-start) 100%);
}

.vm-scores-strip .vm-scores-strip__inner {
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	max-width: none;
	min-height: 162.5px;
	margin: 0 !important;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: max(1.25rem, calc((100% - 1440px) / 2 + 173px));
	padding-right: max(1.25rem, calc((100% - 1440px) / 2 + 172px));
	gap: 24px 32px;
}

.vm-scores-strip .vm-scores-strip__heading {
	margin: 0;
	color: var(--vm-white, #ffffff);
	flex: 0 1 auto;
}

.vm-scores-strip .vm-scores-strip__buttons.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 13px;
	margin: 0;
}

.vm-scores-strip .vm-scores-strip__btn--premier {
	--vm-scores-icon: var(--vm-scores-icon-premier, url("../assets/scores-strip/icon-premier.svg"));
}

.vm-scores-strip .vm-scores-strip__btn--provincial {
	--vm-scores-icon: var(--vm-scores-icon-provincial, url("../assets/scores-strip/icon-provincial.svg"));
}

.vm-scores-strip .vm-scores-strip__btn--sanctioned {
	--vm-scores-icon: var(--vm-scores-icon-sanctioned, url("../assets/scores-strip/icon-sanctioned.svg"));
}

.vm-scores-strip .vm-scores-strip__btn--beach {
	--vm-scores-icon: var(--vm-scores-icon-beach, url("../assets/scores-strip/icon-beach.svg"));
}

.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link,
.vm-scores-strip .vm-scores-strip__btn.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8.73px 21.32px 8.35px 9.32px;
	border: 0;
	border-radius: 67.531px;
	font-family: var(--font-raleway);
	font-variant-numeric: lining-nums;
	font-weight: 800;
	font-style: normal;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	transition: filter var(--vm-default-transition);
}

.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link:not(.has-background),
.vm-scores-strip .vm-scores-strip__btn.wp-block-button .wp-block-button__link:not(.has-background) {
	background-color: var(--vm-white, #ffffff);
	background-image: none;
}

.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link:not(.has-text-color),
.vm-scores-strip .vm-scores-strip__btn.wp-block-button .wp-block-button__link:not(.has-text-color) {
	color: var(--vm-scores-ink);
}

.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link::before,
.vm-scores-strip .vm-scores-strip__btn.wp-block-button .wp-block-button__link::before {
	content: "";
	display: block;
	width: var(--vm-scores-icon-size);
	height: var(--vm-scores-icon-size);
	flex: 0 0 var(--vm-scores-icon-size);
	background-color: transparent;
	background-image: var(--vm-scores-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.vm-scores-strip .vm-scores-strip__btn--beach .wp-block-button__link::before {
	width: 43px;
	flex-basis: 43px;
}

.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link:hover,
.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link:focus-visible {
	filter: brightness(0.97);
}

@media (max-width: 781px) {
	.vm-scores-strip .vm-scores-strip__inner {
		min-height: 0;
		padding: 1.5rem 1.25rem;
		gap: 1rem;
	}

	.vm-scores-strip .vm-scores-strip__buttons.wp-block-buttons {
		gap: 10px;
	}

	.vm-scores-strip .vm-scores-strip__btn .wp-block-button__link,
	.vm-scores-strip .vm-scores-strip__btn.wp-block-button .wp-block-button__link {
		white-space: normal;
	}
}

/* Tournament Card + Tournaments Block — Figma 2137:5668 / 2137:5702
   Full-bleed beige background; heading + cards stay at theme.json wideSize (1360px). */
.vm-tournaments.alignfull,
.vm-tournaments-block.alignfull,
.wp-block-group.alignfull.vm-tournaments,
.wp-block-group.alignfull.vm-tournaments-block {
	--vm-tournament-gold: #d5b129;
	--vm-tournament-beige: #f5f5f4;
	--vm-tournament-ink: #231f20;
	--vm-tournament-heading: #2a2a2a;
	--vm-tournament-image-ratio: 420 / 207;
	--vm-tournament-wide: var(--wp--style--global--wide-size, 1360px);

	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 71px;
	padding-bottom: 62px;
	/* Layer pad restore — beat pattern inline padding 0. */
	padding-left: var(--vm-layer-pad-left) !important;
	padding-right: var(--vm-layer-pad-right) !important;
	background: var(--vm-tournament-beige);
}

.vm-tournaments-block .vm-tournaments-block__inner,
.vm-tournaments-block .vm-tournaments-block__inner.alignwide {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--vm-tournament-wide);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0;
	padding-right: 0;
}

.vm-tournaments-block .vm-tournaments-block__heading {
	margin: 0 0 35px;
	color: var(--vm-tournament-ink);
}

.vm-tournaments-block .vm-tournaments-block__cards {
	align-items: stretch;
	margin: 0 !important;
}

.vm-tournaments-block .vm-tournaments-block__col {
	margin: 0;
}

.vm-tournament-card,
.wp-block-group.vm-tournament-card {
	--vm-tournament-gold: #d5b129;
	--vm-tournament-gold-aa: var(--vm-gold-aa, #987028);
	--vm-tournament-heading: #2a2a2a;
	--vm-tournament-muted: #545454;
	--vm-tournament-image-ratio: 420 / 207;
	--vm-tournament-body-pad-x: 27px;
	--vm-tournament-body-pad-y: 35px;
	--vm-tournament-arrow-size: 1.5rem;
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	background: var(--vm-white, #ffffff);
	margin: 0 !important;
}

.vm-tournament-card .vm-tournament-card__image,
.vm-tournament-card figure.vm-tournament-card__image {
	display: block;
	width: 100%;
	margin: 0 !important;
}

.vm-tournament-card .vm-tournament-card__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var(--vm-tournament-image-ratio, 420 / 207);
	object-fit: cover;
	object-position: center;
}

.vm-tournament-card .vm-tournament-card__stripe,
.vm-tournament-card .wp-block-group.vm-tournament-card__stripe {
	width: 100%;
	height: 6px;
	min-height: 6px;
	max-height: 6px;
	padding: 0 !important;
	margin: 0 !important;
	background-color: var(--vm-tournament-gold, #d5b129);
	border-radius: 0;
}

.vm-tournament-card .vm-tournament-card__body,
.vm-tournament-card .wp-block-group.vm-tournament-card__body {
	margin: 0 !important;
	padding: 31px var(--vm-tournament-body-pad-x) calc(var(--vm-tournament-body-pad-y) + var(--vm-tournament-arrow-size) + 0.5rem) !important;
	background: var(--vm-white, #ffffff);
}

.vm-tournament-card__title {
	margin: 0;
	padding-right: calc(var(--vm-tournament-arrow-size) + 0.5rem);
	color: var(--vm-tournament-heading);
	font-family: var(--font-myriad, "Myriad Pro", sans-serif) !important;
	font-weight: 900 !important;
	font-style: italic !important;
	font-size: var(--text-h4-5) !important;
	transition: color var(--vm-default-transition);
}

/* Stretch link — whole card clickable (news-card pattern). */
.vm-tournament-card__card-link,
.site-main .vm-tournament-card__card-link,
.wp-site-blocks .vm-tournament-card__card-link,
:is(.wp-site-blocks, .site-main) a.vm-tournament-card__card-link:not(.wp-block-button__link):not(.wp-element-button) {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit !important;
	font: inherit !important;
	font-style: normal !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.vm-tournament-card__card-link::after {
	content: none !important;
	display: none !important;
}

.vm-tournament-card__card-link:focus-visible {
	outline: 2px solid var(--vm-tournament-gold-aa);
	outline-offset: -2px;
}

.vm-tournament-card:has(.vm-tournament-card__card-link:hover) .vm-tournament-card__title,
.vm-tournament-card:has(.vm-tournament-card__card-link:focus-visible) .vm-tournament-card__title {
	color: var(--vm-tournament-muted);
}

/* Bottom-right decorative arrow — matches news archive cards. */
.vm-tournament-card__arrow {
	position: absolute;
	right: var(--vm-tournament-body-pad-x);
	bottom: var(--vm-tournament-body-pad-y);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--vm-tournament-arrow-size);
	height: var(--vm-tournament-arrow-size);
	color: var(--vm-gold, #ffc805);
	pointer-events: none;
	transition: color var(--vm-default-transition);
}

.vm-tournament-card__arrow-icon {
	display: block;
	width: var(--vm-tournament-arrow-size);
	height: var(--vm-tournament-arrow-size);
}

.vm-tournament-card:has(.vm-tournament-card__card-link:hover) .vm-tournament-card__arrow,
.vm-tournament-card:has(.vm-tournament-card__card-link:focus-visible) .vm-tournament-card__arrow {
	color: var(--vm-tournament-gold-aa);
}

/* Legacy Read More (pre-migration); hide if still present. */
.vm-tournament-card .vm-tournament-card__link {
	display: none;
}

.vm-tournaments-block .vm-tournaments-block__all {
	margin: 44px 0 0;
	color: var(--vm-tournament-ink);
}

.vm-tournaments-block .vm-tournaments-block__all a {
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: var(--text-small-link, 16px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.25px !important;
	text-transform: uppercase !important;
	color: var(--vm-tournament-ink) !important;
	--vm-link-underline-color: var(--vm-tournament-gold);
	text-decoration: none !important;
	transition: color var(--vm-default-transition);
}

.vm-tournaments-block .vm-tournaments-block__all a:hover,
.vm-tournaments-block .vm-tournaments-block__all a:focus-visible {
	color: var(--vm-tournament-gold) !important;
}

@media (max-width: 781px) {
	.vm-tournaments.alignfull,
	.vm-tournaments-block.alignfull,
	.wp-block-group.alignfull.vm-tournaments,
	.wp-block-group.alignfull.vm-tournaments-block {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.vm-tournaments-block .vm-tournaments-block__cards {
		flex-direction: column;
	}

	.vm-tournaments-block .vm-tournaments-block__all {
		margin-top: 1.5rem;
		text-align: left;
	}
}

/* Card - Mission — Figma 2143:5737
   Fills the container. Padding and gap come from block styles (inline / presets)
   so editor changes apply on the front. Do not force padding:0 on inner groups. */
.vm-card-mission,
.wp-block-group.vm-card-mission {
	--vm-card-mission-gold: #f3d76a;
	--vm-card-mission-ink: #231f20;
	--vm-card-mission-muted: #545454;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	background-color: var(--vm-white, #ffffff);
	border: 6px solid var(--vm-card-mission-gold);
	border-radius: 20px;
}

.vm-card-mission .wp-block-heading {
	margin: 0;
	color: var(--vm-card-mission-ink);
}

.vm-card-mission p {
	margin: 0;
	color: var(--vm-card-mission-muted);
}

/* Card — What We Do — Figma 2143:5752 */
.vm-card-what-we-do,
.wp-block-group.vm-card-what-we-do {
	--vm-card-what-we-do-ink: #231f20;
	--vm-card-what-we-do-bg: #f6f5f4;
	--vm-card-what-we-do-heading: #2a2a2a;
	--vm-card-what-we-do-muted: #545454;
	--vm-card-what-we-do-icon: 62px;
	--vm-card-what-we-do-radius: 10px;
	--vm-card-what-we-do-stripe: 10px;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	min-height: 200px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: var(--vm-card-what-we-do-radius);
	background: var(--vm-card-what-we-do-bg);
}

.vm-card-what-we-do > * {
	margin-block-start: 0;
}

.vm-card-what-we-do .vm-card-what-we-do__stripe,
.vm-card-what-we-do .wp-block-group.vm-card-what-we-do__stripe {
	flex: 0 0 var(--vm-card-what-we-do-stripe);
	width: 100%;
	height: var(--vm-card-what-we-do-stripe);
	min-height: var(--vm-card-what-we-do-stripe);
	margin: 0;
	padding: 0;
	background: var(--vm-card-what-we-do-ink);
}

.vm-card-what-we-do .vm-card-what-we-do__body,
.vm-card-what-we-do .wp-block-group.vm-card-what-we-do__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	margin: 0;
	padding: 25px 27px 35px;
	gap: 9px;
	background: var(--vm-card-what-we-do-bg);
}

.vm-card-what-we-do .vm-card-what-we-do__header,
.vm-card-what-we-do .wp-block-group.vm-card-what-we-do__header,
.vm-card-what-we-do__header,
.wp-block-group.vm-card-what-we-do__header {
	display: flex;
	flex-wrap: nowrap;
	align-items: center !important;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
	gap: 12px;
}

.vm-card-what-we-do .vm-card-what-we-do__header > .wp-block-heading {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--vm-card-what-we-do-heading);
}

.vm-card-what-we-do .vm-card-what-we-do__header > .wp-block-heading.is-style-heading-4-5 {
	letter-spacing: -0.02em;
}

.vm-card-what-we-do .vm-card-what-we-do__body > .wp-block-paragraph {
	margin: 0;
	color: var(--vm-card-what-we-do-muted);
}

.vm-card-what-we-do .vm-card-what-we-do__icon,
.vm-card-what-we-do .wp-block-image.vm-card-what-we-do__icon {
	box-sizing: border-box;
	flex: 0 0 var(--vm-card-what-we-do-icon);
	width: var(--vm-card-what-we-do-icon);
	height: var(--vm-card-what-we-do-icon);
	min-width: var(--vm-card-what-we-do-icon);
	min-height: var(--vm-card-what-we-do-icon);
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vm-card-what-we-do-ink);
}

.vm-card-what-we-do .vm-card-what-we-do__icon .wp-block-image,
.vm-card-what-we-do .vm-card-what-we-do__icon figure,
.vm-card-what-we-do .wp-block-image.vm-card-what-we-do__icon {
	width: var(--vm-card-what-we-do-icon);
	height: var(--vm-card-what-we-do-icon);
	margin: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vm-card-what-we-do-ink);
}

.vm-card-what-we-do .vm-card-what-we-do__icon img,
.vm-card-what-we-do .wp-block-image.vm-card-what-we-do__icon img {
	display: block;
	width: var(--vm-card-what-we-do-icon);
	height: var(--vm-card-what-we-do-icon);
	max-width: none;
	object-fit: contain;
	object-position: center;
}

.vm-card-what-we-do .wp-block-image.vm-card-what-we-do__icon img[style*="object-fit:cover"],
.vm-card-what-we-do .wp-block-image.vm-card-what-we-do__icon img[style*="object-fit: cover"] {
	object-fit: cover;
}

/* Card — Getting Started — What We Do layout, tighter body, blue-grad stripe */
.vm-card-getting-started,
.wp-block-group.vm-card-getting-started {
	--vm-card-getting-started-ink: #231f20;
	--vm-card-getting-started-bg: #f6f5f4;
	--vm-card-getting-started-heading: #2a2a2a;
	--vm-card-getting-started-muted: #545454;
	--vm-card-getting-started-icon: 62px;
	--vm-card-getting-started-radius: 10px;
	--vm-card-getting-started-stripe: 10px;

	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: var(--vm-card-getting-started-radius);
	background: var(--vm-card-getting-started-bg);
}

.vm-card-getting-started > * {
	margin-block-start: 0;
}

.vm-card-getting-started .vm-card-getting-started__stripe,
.vm-card-getting-started .wp-block-group.vm-card-getting-started__stripe,
.vm-card-getting-started .vm-card-what-we-do__stripe,
.vm-card-getting-started .wp-block-group.vm-card-what-we-do__stripe {
	flex: 0 0 var(--vm-card-getting-started-stripe);
	width: 100%;
	height: var(--vm-card-getting-started-stripe);
	min-height: var(--vm-card-getting-started-stripe);
	margin: 0;
	padding: 0;
	background: var(--vm-blue-grad);
	background-color: transparent;
}

.vm-card-getting-started .vm-card-getting-started__body,
.vm-card-getting-started .wp-block-group.vm-card-getting-started__body,
.vm-card-getting-started .vm-card-what-we-do__body,
.vm-card-getting-started .wp-block-group.vm-card-what-we-do__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	margin: 0;
	padding: 16px 18px 20px;
	gap: 6px;
	background: var(--vm-card-getting-started-bg);
}

.vm-card-getting-started .vm-card-getting-started__header,
.vm-card-getting-started .wp-block-group.vm-card-getting-started__header,
.vm-card-getting-started .vm-card-what-we-do__header,
.vm-card-getting-started .wp-block-group.vm-card-what-we-do__header {
	display: flex;
	flex-wrap: nowrap;
	align-items: center !important;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
	gap: 12px;
}

.vm-card-getting-started .vm-card-getting-started__header > .wp-block-heading,
.vm-card-getting-started .vm-card-what-we-do__header > .wp-block-heading {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--vm-card-getting-started-heading);
}

.vm-card-getting-started .vm-card-getting-started__header > .wp-block-heading.is-style-heading-4-5,
.vm-card-getting-started .vm-card-what-we-do__header > .wp-block-heading.is-style-heading-4-5 {
	letter-spacing: -0.02em;
}

.vm-card-getting-started .vm-card-getting-started__body > .wp-block-paragraph,
.vm-card-getting-started .vm-card-what-we-do__body > .wp-block-paragraph {
	margin: 0;
	color: var(--vm-card-getting-started-muted);
}

.vm-card-getting-started .vm-card-getting-started__icon,
.vm-card-getting-started .wp-block-image.vm-card-getting-started__icon,
.vm-card-getting-started .vm-card-what-we-do__icon,
.vm-card-getting-started .wp-block-image.vm-card-what-we-do__icon {
	box-sizing: border-box;
	flex: 0 0 var(--vm-card-getting-started-icon);
	width: var(--vm-card-getting-started-icon);
	height: var(--vm-card-getting-started-icon);
	min-width: var(--vm-card-getting-started-icon);
	min-height: var(--vm-card-getting-started-icon);
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vm-card-getting-started-ink);
}

.vm-card-getting-started .vm-card-getting-started__icon .wp-block-image,
.vm-card-getting-started .vm-card-getting-started__icon figure,
.vm-card-getting-started .wp-block-image.vm-card-getting-started__icon,
.vm-card-getting-started .vm-card-what-we-do__icon .wp-block-image,
.vm-card-getting-started .vm-card-what-we-do__icon figure,
.vm-card-getting-started .wp-block-image.vm-card-what-we-do__icon {
	width: var(--vm-card-getting-started-icon);
	height: var(--vm-card-getting-started-icon);
	margin: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vm-card-getting-started-ink);
}

.vm-card-getting-started .vm-card-getting-started__icon img,
.vm-card-getting-started .wp-block-image.vm-card-getting-started__icon img,
.vm-card-getting-started .vm-card-what-we-do__icon img,
.vm-card-getting-started .wp-block-image.vm-card-what-we-do__icon img {
	display: block;
	width: var(--vm-card-getting-started-icon);
	height: var(--vm-card-getting-started-icon);
	max-width: none;
	object-fit: contain;
	object-position: center;
}

.vm-card-getting-started .wp-block-image.vm-card-getting-started__icon img[style*="object-fit:cover"],
.vm-card-getting-started .wp-block-image.vm-card-getting-started__icon img[style*="object-fit: cover"],
.vm-card-getting-started .wp-block-image.vm-card-what-we-do__icon img[style*="object-fit:cover"],
.vm-card-getting-started .wp-block-image.vm-card-what-we-do__icon img[style*="object-fit: cover"] {
	object-fit: cover;
}

/* Getting Started + with-arrow: 32px icon (default What We Do / Getting Started remains 62px). */
.vm-card-getting-started.with-arrow .vm-card-what-we-do__icon,
.vm-card-getting-started.with-arrow .wp-block-image.vm-card-what-we-do__icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
}

.vm-card-getting-started.with-arrow .vm-card-what-we-do__icon .wp-block-image,
.vm-card-getting-started.with-arrow .vm-card-what-we-do__icon figure,
.vm-card-getting-started.with-arrow .wp-block-image.vm-card-what-we-do__icon {
	width: 32px;
	height: 32px;
}

.vm-card-getting-started.with-arrow .vm-card-what-we-do__icon img,
.vm-card-getting-started.with-arrow .wp-block-image.vm-card-what-we-do__icon img {
	width: 32px !important;
	height: 32px !important;
	max-width: none;
	object-fit: contain;
}

/* Whole-card link (pattern override "Link") — stretch like tournament cards. */
.vm-card-getting-started .vm-card-getting-started__card-link {
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
	font-size: 0;
}

.vm-card-getting-started .vm-card-getting-started__card-link a,
.site-main .vm-card-getting-started .vm-card-getting-started__card-link a,
.wp-site-blocks .vm-card-getting-started .vm-card-getting-started__card-link a,
:is(.wp-site-blocks, .site-main) .vm-card-getting-started .vm-card-getting-started__card-link a:not(.wp-block-button__link):not(.wp-element-button) {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
}

.vm-card-getting-started .vm-card-getting-started__card-link a::before,
.vm-card-getting-started .vm-card-getting-started__card-link a::after {
	content: none !important;
	display: none !important;
}

.vm-card-getting-started .vm-card-getting-started__card-link a:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold, #ffc805);
	outline-offset: -2px;
}

.vm-card-getting-started:has(.vm-card-getting-started__card-link a:hover) .vm-card-what-we-do__header > .wp-block-heading,
.vm-card-getting-started:has(.vm-card-getting-started__card-link a:focus-visible) .vm-card-what-we-do__header > .wp-block-heading {
	color: var(--vm-card-getting-started-muted);
}

/* Card - Text Only — Figma 201:2103
   No fill or border; 90px right padding, 16px stack, 5px title/text gap. */
.vm-card-text-only,
.wp-block-group.vm-card-text-only {
	--vm-card-text-only-heading: #2a2a2a;
	--vm-card-text-only-muted: #545454;
	--vm-card-text-only-gold: #d5b129;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 90px 0 0;
	border: 0;
	gap: 16px;
	background: transparent;
}

.vm-card-text-only > * {
	margin-block-start: 0;
}

.vm-card-text-only .vm-card-text-only__body,
.vm-card-text-only .wp-block-group.vm-card-text-only__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin: 0;
	padding: 0;
	gap: 5px;
}

.vm-card-text-only .vm-card-text-only__body > .wp-block-heading {
	margin: 0;
	color: var(--vm-card-text-only-heading);
}

.vm-card-text-only .vm-card-text-only__body > p {
	margin: 0;
	color: var(--vm-card-text-only-muted);
}

.vm-card-text-only .vm-card-text-only__actions,
.vm-card-text-only .wp-block-buttons.vm-card-text-only__actions {
	margin: 0;
	width: 100%;
}

.vm-card-text-only .vm-card-text-only__link .wp-block-button__link,
.vm-card-text-only .wp-block-button.vm-card-text-only__link .wp-block-button__link {
	display: inline;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--font-raleway) !important;
	font-variant-numeric: lining-nums !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: var(--text-small-link, 16px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.25px !important;
	text-transform: uppercase !important;
	text-decoration: underline !important;
	text-decoration-color: var(--vm-card-text-only-gold) !important;
	text-decoration-thickness: 0.145em;
	text-underline-offset: 0.18em;
	transition: color var(--vm-default-transition);
}

.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:not(.has-background),
.vm-card-text-only .wp-block-button.vm-card-text-only__link .wp-block-button__link:not(.has-background) {
	background-color: transparent;
	background-image: none;
}

.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:not(.has-text-color),
.vm-card-text-only .wp-block-button.vm-card-text-only__link .wp-block-button__link:not(.has-text-color) {
	color: var(--vm-card-text-only-muted);
}

.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:hover,
.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:focus-visible {
	color: var(--vm-card-text-only-gold);
}

.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:hover:not(.has-background),
.vm-card-text-only .vm-card-text-only__link .wp-block-button__link:focus-visible:not(.has-background) {
	background-color: transparent;
	background-image: none;
}

/* Explore Further — Figma 2146:5796
   Full-bleed beige; heading + 3-col card grid stay at wideSize (1360px).
   Also targets volleyball-manitoba/explore-further-auto (dynamic child pages). */
.vm-explore-further.alignfull,
.wp-block-group.alignfull.vm-explore-further,
.wp-block-volleyball-manitoba-explore-further-auto.vm-explore-further {
	--vm-explore-further-beige: #f5f5f4;
	--vm-explore-further-heading: #2a2a2a;
	--vm-explore-further-wide: var(--wp--style--global--wide-size, 1360px);
	--vm-explore-further-col-gap: 32px;
	--vm-explore-further-row-gap: clamp(2rem, 1.5rem + 3vw, 79px);

	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	/* Layer vertical pad — scales down on mobile (aligns with spacing|70 rhythm). */
	padding-top: clamp(2.5rem, 1.5rem + 3vw, 4.25rem);
	padding-bottom: clamp(3rem, 1.75rem + 3.5vw, 5.25rem);
	/* Layer pad restore — beat pattern inline padding 0. */
	padding-left: var(--vm-layer-pad-left) !important;
	padding-right: var(--vm-layer-pad-right) !important;
	background: var(--vm-explore-further-beige);
}

.wp-block-volleyball-manitoba-explore-further-auto.vm-explore-further--empty {
	padding: 0;
	background: transparent;
}

.vm-explore-further .vm-explore-further__inner,
.vm-explore-further .vm-explore-further__inner.alignwide {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--vm-explore-further-wide);
	margin-left: auto !important;
	margin-right: auto !important;
	/* Outer alignfull restores layer pad; keep inner free of double gutter. */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.vm-explore-further .vm-explore-further__heading {
	margin: 0 0 60px;
	color: var(--vm-explore-further-heading);
}

/* Explore Further card grid (pattern + auto block). */
.vm-explore-further .vm-explore-further__cards {
	display: grid !important;
	grid-template-columns: 1fr;
	align-items: stretch;
	margin: 0;
	gap: var(--vm-explore-further-row-gap) var(--vm-explore-further-col-gap);
}

.vm-explore-further .vm-explore-further__cell,
.vm-explore-further .vm-explore-further__cards > .wp-block-column {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
}

/* Legacy core/columns markup inside the grid container. */
.vm-explore-further .vm-explore-further__cards > .wp-block-column {
	flex: unset !important;
	width: auto !important;
	max-width: none !important;
}

.vm-explore-further .vm-explore-further__cell > *,
.vm-explore-further .vm-explore-further__cards > .wp-block-column > * {
	flex: 1 1 auto;
	width: 100%;
}

@media (min-width: 782px) {
	.vm-explore-further .vm-explore-further__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.vm-explore-further .vm-explore-further__cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Mission, Vision and Values — Figma About 2011:3898 + cards 2143:5737
   Wide 1360px; two Card Mission instances sit 50/50 (stack below 781px). */
.vm-mission-vision-values,
.wp-block-group.vm-mission-vision-values {
	--vm-mission-vision-wide: var(--wp--style--global--wide-size, 1360px);
	box-sizing: border-box;
	width: 100%;
	max-width: var(--vm-mission-vision-wide);
	margin-top: 0;
	margin-bottom: 0;
}

.vm-mission-vision-values > .wp-block-heading {
	margin: 0;
	color: #231f20;
}

.vm-mission-vision-values .vm-mission-vision-values__cards.wp-block-columns {
	margin: 0;
	align-items: stretch;
}

.vm-mission-vision-values .vm-mission-vision-values__cards > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.vm-mission-vision-values .vm-mission-vision-values__cards > .wp-block-column > * {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
}

@media (max-width: 781px) {
	.vm-mission-vision-values .vm-mission-vision-values__cards.wp-block-columns {
		flex-direction: column;
	}

	.vm-mission-vision-values .vm-mission-vision-values__cards > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * Responsive card / split layouts (Play hub, intros, history, committees)
 * Core columns stack at ≤781 by default; add mid-breakpoint 3→2 wrapping.
 * ------------------------------------------------------------------------- */

/* Play — Youth/Adult title + age badge */
.vm-ways-to-play__title-row {
	align-items: flex-end;
	gap: 0.75rem 1.5rem;
	width: 100%;
}

.vm-ways-to-play__title-row > .wp-block-heading {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.vm-ways-to-play__set.wp-block-columns,
.vm-getting-started__cards.wp-block-columns {
	align-items: stretch;
	/* Keep horizontal flush; restore space under title / Getting Started heading.
	 * `margin: 0` was wiping theme blockGap between the header row and cards. */
	margin-inline: 0 !important;
	margin-block-end: 0 !important;
	margin-block-start: var(--wp--preset--spacing--50, 2.5rem) !important;
}

.vm-ways-to-play__set > .wp-block-column,
.vm-getting-started__cards > .wp-block-column {
	min-width: 0;
}

/* Tile images keep aspect; crop if a frame is forced */
.vm-ways-to-play__set .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* Play stays 3-col until core stacks at ≤781 (mid 2-col was kicking in too early). */
/* (Former 782–1023 2-col wrap removed for .vm-ways-to-play__set / .vm-getting-started__cards.) */

/* Intro heading + body (Team MB Indoor/Beach) */
.vm-intro-split.wp-block-columns {
	align-items: flex-start;
	margin-inline: 0 !important;
}

.vm-intro-split__title .wp-block-heading {
	margin-top: 0;
}

/* History of Champions — image + gold panel */
.vm-history-split.wp-block-columns {
	align-items: stretch;
	gap: 0 !important;
	margin-inline: 0 !important;
}

.vm-history-split > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.vm-history-split .wp-block-cover,
.vm-history-split .wp-block-cover img {
	object-fit: cover;
}

@media (max-width: 781px) {
	.vm-history-split.wp-block-columns {
		flex-direction: column;
	}

	.vm-history-split > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
}

/* Staff committee pairs */
.vm-committee-grid.wp-block-columns {
	align-items: stretch;
	margin-inline: 0 !important;
	margin-block-end: var(--wp--preset--spacing--50, 1.5rem) !important;
}

/*
 * Committee cards are core/group grids (2 columns, 30rem minimum).
 * A split blockGap (top + left) makes core paste two gap tokens into
 * minmax(), so grid-template-columns is invalid and the browser drops it
 * (one implicit column). This restores two columns when the row is wide
 * enough for them, and stacks when it is not.
 */
.vm-committee-grid.wp-block-group.is-layout-grid {
	grid-template-columns: repeat(auto-fill, minmax(max(min(30rem, 100%), (100% - var(--wp--preset--spacing--50, 1.5rem)) / 2), 1fr));
}

/* About Mission/Vision + values rows (converted from flex nowrap) */
.vm-mission-vision-row.wp-block-columns,
.vm-values-row.wp-block-columns {
	align-items: stretch;
	margin-inline: 0 !important;
	width: 100%;
}

.vm-mission-vision-row.wp-block-columns + .vm-values-row.wp-block-columns,
.vm-values-row.wp-block-columns + .vm-values-row.wp-block-columns {
	margin-block-start: var(--wp--preset--spacing--50, 2.5rem) !important;
}

/* Auto-fit card grids (Program Goals, What We Do) */
.vm-responsive-card-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--50, 1.5rem);
	width: 100%;
}

@media (min-width: 600px) {
	.vm-responsive-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.vm-responsive-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vm-responsive-card-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Homepage mid tablet: stack 50/50 and 3-col bands earlier than 781 */
@media (max-width: 1099px) {
	.vm-home-wayfinding .vm-home-wayfinding__row {
		flex-direction: column;
	}

	.vm-home-wayfinding .vm-home-wayfinding__block {
		flex-basis: 100% !important;
		width: 100%;
		min-height: 0;
		padding: 40px 1.25rem;
	}

	.vm-indoor-outdoor .vm-indoor-outdoor__split {
		flex-direction: column;
	}

	.vm-indoor-outdoor__col {
		flex-basis: 100% !important;
		width: 100%;
		max-width: none;
	}

	.vm-indoor-outdoor__half--indoor .wp-block-cover__image-background,
	.vm-indoor-outdoor__half--beach .wp-block-cover__image-background {
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

	.vm-indoor-outdoor .wp-block-cover.vm-indoor-outdoor__half,
	.vm-indoor-outdoor__half.wp-block-cover {
		/*
		 * Single-column (≤1099px): scale with width.
		 * !important needed: Cover serializes inline min-height:544px and
		 * aspect-ratio:unset (block supports), which otherwise win.
		 */
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
	}

	.vm-latest-news.alignfull,
	.wp-block-group.alignfull.vm-latest-news {
		--vm-latest-news-image-h: 220px;
	}

	.vm-latest-news .vm-latest-news__body {
		flex-direction: column;
		margin-bottom: 0;
	}

	.vm-latest-news__media-col,
	.vm-latest-news__list-col {
		flex-basis: 100% !important;
		width: 100%;
		max-width: 100%;
	}

	/* Stacked: fixed crop height — do not stretch with the list. */
	.vm-latest-news__media {
		flex: 0 0 auto;
		height: var(--vm-latest-news-image-h);
		min-height: var(--vm-latest-news-image-h);
	}

	.vm-latest-news .vm-latest-news__all {
		position: static;
		margin-top: 24px;
	}

	.vm-half-capsule .vm-half-capsule__row.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	.vm-half-capsule .vm-half-capsule__row > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	/* Force wrap even when editor saved is-not-stacked-on-mobile (homepage DB). */
	.vm-tournaments-block .vm-tournaments-block__cards.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.vm-tournaments-block .vm-tournaments-block__cards > .wp-block-column {
		flex-grow: 1 !important;
		flex-shrink: 1 !important;
		flex-basis: calc(50% - 0.9375rem) !important;
		max-width: calc(50% - 0.9375rem) !important;
		width: auto !important;
		min-width: 0 !important;
	}
}

@media (max-width: 781px) {
	.vm-tournaments-block .vm-tournaments-block__cards.wp-block-columns {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	/* Clear the ≤1099 50% max-width so stacked cards go full width. */
	.vm-tournaments-block .vm-tournaments-block__cards > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}
