/* ==========================================================================
   New Year Knockout — inner pages (Event Info, Format & Rules)

   Loaded after sections.css, whose section header, tags, lists and Photo Card
   these pages reuse. Headings below match labels in inc/block-styles.php.

   Pseudo-elements: the block editor draws its hover outline with a block's
   ::after, so every marker here is a ::before — on the block itself, its
   container, or a sibling.
   ========================================================================== */

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

.cas-sec {
	padding-block: clamp(4rem, 7vw, 6rem);
}

.cas-sec--surface {
	border-block-start: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
}

.cas-sec--dark {
	background: var(--wp--preset--color--secondary);
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
}

.cas-sec--dark h2,
.cas-sec--dark h3,
.cas-sec--dark h4 {
	color: var(--wp--preset--color--base);
}

.cas-sec--dark p.is-style-cas-eyebrow {
	color: color-mix(in srgb, var(--wp--preset--color--primary) 75%, var(--wp--preset--color--base));
}

.cas-sec--dark p.is-style-cas-lead {
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
}

/* Two columns */
.cas-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: clamp(2.5rem, 5vw, 4.5rem);
}

.cas-split > *,
.cas-split__main > *,
.cas-split__side > * {
	margin-block: 0;
}

.cas-split__main > * + *,
.cas-split__side > * + * {
	margin-block-start: 1.5rem;
}

.cas-split--sunday {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}

.cas-split--pack,
.cas-split--finals {
	align-items: center;
}

.cas-split--calls {
	margin-block-start: clamp(3rem, 5vw, 4.5rem);
}

@media (max-width: 1024px) {
	.cas-split,
	.cas-split--sunday {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Photo first when stacked. */
	.cas-split--pack > .cas-split__side {
		order: -1;
		max-width: 40rem;
	}
}

/* A heading with a short red rule before it */
.cas-dash {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	font-weight: 600;
}

.cas-dash::before {
	content: "";
	flex: none;
	width: 1.25rem;
	height: 3px;
	background: var(--wp--preset--color--primary);
}

/* Running copy beside a figure or a list */
.cas-prose > * {
	margin-block: 0;
}

.cas-prose > * + * {
	margin-block-start: 1rem;
}

.cas-prose p {
	color: var(--wp--preset--color--contrast);
}

.cas-prose strong {
	font-weight: 700;
}

.cas-sec--dark .cas-prose p {
	color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
}

.cas-sec--dark .cas-prose strong {
	color: var(--wp--preset--color--base);
}

.cas-fine {
	font-size: 0.9375rem;
	line-height: 1.55;
}

.cas-sec--dark .cas-fine {
	color: color-mix(in srgb, var(--wp--preset--color--base) 62%, transparent);
}

/* Rounded pills in a row */
.cas-chips {
	gap: 0.5rem;
}

.cas-chips p.is-style-cas-tag {
	border-radius: 999px;
}

/* Button icons */
.wp-block-button.cas-icon-down .wp-block-button__link::after,
.wp-block-button.cas-icon-arrow .wp-block-button__link::after,
.wp-block-button.cas-icon-up-right .wp-block-button__link::after,
.wp-block-button.cas-icon-facebook .wp-block-button__link::before {
	content: "";
	flex: none;
	width: 1em;
	height: 1em;
	background: currentcolor;
	mask: var(--cas-icon-arrow-down) center / contain no-repeat;
}

.wp-block-button.cas-icon-arrow .wp-block-button__link::after {
	mask-image: var(--cas-icon-arrow-right);
}

.wp-block-button.cas-icon-up-right .wp-block-button__link::after {
	mask-image: var(--cas-icon-arrow-up-right);
}

.wp-block-button.cas-icon-facebook .wp-block-button__link::before {
	mask-image: var(--cas-icon-facebook);
}

/* Heading icons used on these pages */
.cas-ico--refresh-cw::before { mask-image: var(--cas-icon-refresh-cw); }
.cas-ico--command::before { mask-image: var(--cas-icon-command); }
.cas-ico--clock::before { mask-image: var(--cas-icon-clock); }
.cas-ico--arrow-right-to-line::before { mask-image: var(--cas-icon-arrow-right-to-line); }
.cas-ico--move-horizontal::before { mask-image: var(--cas-icon-move-horizontal); }
.cas-ico--headphone-off::before { mask-image: var(--cas-icon-headphone-off); }
.cas-ico--target::before { mask-image: var(--cas-icon-target); }
.cas-ico--trees::before { mask-image: var(--cas-icon-trees); }
.cas-ico--venus::before { mask-image: var(--cas-icon-venus); }
.cas-ico--circle-dot::before { mask-image: var(--cas-icon-circle-dot); }
.cas-ico--cloud-snow::before { mask-image: var(--cas-icon-cloud-snow); }
.cas-ico--bed-double::before { mask-image: var(--cas-icon-bed-double); }

/* ==========================================================================
   Page hero
   ========================================================================== */

.wp-block-cover.cas-page-hero {
	min-height: 0;
	padding: clamp(1.75rem, 3vw, 2.5rem) 0 0;
}

.wp-block-cover.cas-page-hero .wp-block-cover__image-background {
	filter: grayscale(0.3);
}

.cas-page-hero .cas-page-hero__inner {
	width: 100%;
	color: var(--wp--preset--color--base);
}

.cas-page-hero .cas-page-hero__inner > * {
	max-width: 44rem;
	margin-block: 0;
}

/* Breadcrumbs (the parent's markup) */
.cas-page-hero .breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.cas-page-hero .breadcrumbs__item + .breadcrumbs__item::before {
	content: "/";
	margin-inline: 0.6rem;
	color: color-mix(in srgb, var(--wp--preset--color--base) 45%, transparent);
}

.cas-page-hero .breadcrumbs a {
	color: color-mix(in srgb, var(--wp--preset--color--base) 75%, transparent);
	text-decoration: none;
}

.cas-page-hero .breadcrumbs a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
}

.cas-page-hero .breadcrumbs [aria-current] {
	color: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
}

/* Hero Kicker */
p.is-style-cas-kicker {
	display: inline-block;
	margin-block-start: 1.75rem;
	padding: 0.5rem 0.85rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 40%, transparent);
	border-radius: 2px;
	background: color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
}

.cas-page-hero .cas-page-hero__inner > p.is-style-cas-kicker {
	margin-block-start: 1.75rem;
}

.cas-page-hero .cas-page-hero__inner > .cas-page-hero__title {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.98;
	color: var(--wp--preset--color--base);
}

.cas-page-hero .cas-page-hero__inner > .cas-page-hero__lead {
	max-width: 40rem;
	margin-block-start: 1.5rem;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--base) 86%, transparent);
}

.cas-page-hero .cas-page-hero__inner > .cas-page-hero__buttons {
	gap: 1rem;
	margin-block-start: 2rem;
}

/* The summary under the buttons: four figures, or three steps. */
.cas-page-hero .cas-page-hero__inner > .cas-page-hero__summary {
	max-width: none;
	gap: 0;
	margin-block-start: clamp(2.5rem, 5vw, 3.5rem);
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
}

.cas-page-hero .cas-page-hero__summary > * {
	margin: 0;
	padding: 1.5rem 1.5rem 1.75rem;
}

.cas-page-hero .cas-page-hero__summary > * + * {
	border-inline-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
}

.cas-page-hero .cas-page-hero__summary > :first-child {
	padding-inline-start: 0;
}

.cas-page-hero .cas-page-hero__summary > * > * {
	margin-block: 0;
}

.cas-page-hero .cas-page-hero__figure {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.25rem, 3.4vw, 2.75rem);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--base);
}

.cas-page-hero .cas-page-hero__figure mark {
	margin-inline-start: 0.1em;
	font-size: 0.45em;
}

.cas-page-hero .cas-page-hero__summary p.is-style-cas-label {
	margin-block-start: 0.6rem;
	color: color-mix(in srgb, var(--wp--preset--color--base) 72%, transparent);
}

.cas-page-hero .cas-page-hero__step {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.cas-page-hero .cas-page-hero__summary .cas-page-hero__step-title {
	margin-block-start: 0.4rem;
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

.cas-page-hero .cas-page-hero__summary--steps p:not([class*="cas-"]) {
	margin-block-start: 0.5rem;
	font-size: 1rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--base) 76%, transparent);
}

.cas-page-hero .cas-page-hero__summary--steps p.is-style-cas-label {
	margin-block-start: 0.9rem;
	color: var(--wp--preset--color--base);
}

@media (max-width: 900px) {
	.cas-page-hero .cas-page-hero__summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cas-page-hero .cas-page-hero__summary > * {
		padding: 1.25rem 1.25rem 1.25rem 0;
	}

	.cas-page-hero .cas-page-hero__summary > :nth-child(odd) {
		border-inline-start: 0;
	}

	.cas-page-hero .cas-page-hero__summary > :nth-child(even) {
		padding-inline-start: 1.25rem;
	}

	.cas-page-hero .cas-page-hero__summary > :nth-child(n + 3) {
		border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
	}

	.cas-page-hero .cas-page-hero__summary--steps {
		grid-template-columns: minmax(0, 1fr);
	}

	.cas-page-hero .cas-page-hero__summary--steps > * {
		padding-inline-start: 0 !important;
		border-inline-start: 0;
	}

	.cas-page-hero .cas-page-hero__summary--steps > * + * {
		border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
	}
}

@media (max-width: 480px) {
	.cas-page-hero .cas-page-hero__buttons .wp-block-button,
	.cas-page-hero .cas-page-hero__buttons .wp-block-button__link {
		width: 100%;
	}
}

/* Section Tabs ---------------------------------------------------------------- */

.wp-block-group.is-style-cas-subnav {
	position: sticky;
	top: var(--cas-sticky-top, 0);
	z-index: 50;
	background: var(--wp--preset--color--secondary);
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--primary);
}

.is-style-cas-subnav .cas-subnav__links {
	gap: 0 0.5rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.is-style-cas-subnav .cas-subnav__links::-webkit-scrollbar {
	display: none;
}

.is-style-cas-subnav .cas-subnav__links > p {
	flex: none;
	margin: 0;
}

.is-style-cas-subnav .cas-subnav__links a {
	display: block;
	padding: 1.05rem 0.75rem 0.95rem;
	border-block-end: 3px solid transparent;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	color: color-mix(in srgb, var(--wp--preset--color--base) 72%, transparent);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.is-style-cas-subnav .cas-subnav__links a:hover,
.is-style-cas-subnav .cas-subnav__links a[aria-current] {
	color: var(--wp--preset--color--base);
}

.is-style-cas-subnav .cas-subnav__links a[aria-current] {
	border-color: var(--wp--preset--color--accent);
}

/* A section the tabs link to lands below the header and the tabs. */
body:has(.is-style-cas-subnav) [id] {
	scroll-margin-top: calc(var(--cas-sticky-top, 7.25rem) + var(--cas-subnav-height, 3.4rem) + 0.5rem);
}

/* Callout --------------------------------------------------------------------- */

.wp-block-group.is-style-cas-callout {
	align-items: center;
	gap: 1rem 2rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-inline-start: 4px solid var(--wp--preset--color--accent);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
}

.is-style-cas-callout .cas-callout__copy {
	flex: 1 1 26rem;
}

.is-style-cas-callout .cas-callout__copy > * {
	margin-block: 0;
}

.is-style-cas-callout .cas-callout__copy > * + * {
	margin-block-start: 0.4rem;
}

.is-style-cas-callout p {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-callout h4 {
	font-size: 1.125rem;
	font-weight: 600;
}

.is-style-cas-callout .wp-block-buttons {
	flex: none;
}

.cas-weekend + .is-style-cas-callout {
	margin-block-start: 2rem;
}

/* ==========================================================================
   Event Info: weekend schedule
   ========================================================================== */

.cas-sec .cas-weekend {
	align-items: stretch;
	gap: 1.5rem;
}

/* Weekend Day */
.is-style-cas-weekday {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
	box-shadow: var(--cas-shadow);
}

.is-style-cas-weekday > * {
	margin: 0;
}

.is-style-cas-weekday .cas-weekday__head {
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
	border-block-end: 3px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--secondary-soft);
}

.is-style-cas-weekday .cas-weekday__head > * {
	margin: 0;
}

.is-style-cas-weekday .cas-weekday__head h3 {
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

.is-style-cas-weekday .cas-weekday__head p.is-style-cas-label {
	color: var(--wp--preset--color--accent);
	white-space: nowrap;
}

.is-style-cas-weekday.is-sunday {
	border: 2px solid var(--wp--preset--color--secondary-soft);
}

.is-style-cas-weekday.is-sunday .cas-weekday__head {
	border-color: var(--wp--preset--color--secondary-soft);
	background: var(--wp--preset--color--primary);
}

.is-style-cas-weekday.is-sunday .cas-weekday__head p.is-style-cas-label {
	color: var(--wp--preset--color--base);
}

.is-style-cas-weekday .cas-weekday__body {
	flex: 1 1 auto;
}

.is-style-cas-weekday .cas-slot {
	align-items: flex-start;
	gap: 1.25rem;
	margin: 0;
	padding: 1.25rem;
}

.is-style-cas-weekday .cas-slot + .cas-slot {
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.is-style-cas-weekday .cas-slot > * {
	margin: 0;
}

.is-style-cas-weekday .cas-slot > div > * {
	margin-block: 0;
}

.is-style-cas-weekday .cas-slot__time {
	flex: 0 0 6.75rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.875rem;
	white-space: nowrap;
	font-weight: 600;
	line-height: 1.05;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-weekday .cas-slot__time mark {
	font-size: 0.5em;
	letter-spacing: 0.04em;
}

.is-style-cas-weekday .cas-slot__title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-weekday .cas-slot__text {
	margin-block-start: 0.2rem;
	font-size: 1rem;
	line-height: 1.5;
}

.is-style-cas-weekday .cas-weekday__foot {
	padding: 0.9rem 1.25rem;
	border-block-start: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface-alt);
	font-size: 0.9375rem;
}

.is-style-cas-weekday .cas-weekday__foot a {
	font-weight: 600;
	text-decoration: none;
}

.is-style-cas-weekday .cas-weekday__foot a::after {
	content: " →";
}

.is-style-cas-weekday .cas-weekday__foot a:hover {
	text-decoration: underline;
}

@media (max-width: 1100px) {
	.cas-sec .cas-weekend {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cas-sec .cas-weekend > .is-sunday {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.cas-sec .cas-weekend {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   Event Info: Sunday start times
   ========================================================================== */

.cas-order > * {
	margin: 0;
}

.cas-order > * + * {
	margin-block-start: 0.6rem;
}

/* Division Order Row */
.wp-block-group.is-style-cas-order-row {
	align-items: stretch;
	gap: 0;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
	border-radius: 4px;
	background: var(--wp--preset--color--secondary-soft);
}

.is-style-cas-order-row > * {
	margin: 0;
}

.is-style-cas-order-row .cas-order__n {
	display: grid;
	flex: 0 0 3.5rem;
	place-items: center;
	border-inline-end: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--base) 55%, transparent);
}

.is-style-cas-order-row.is-first .cas-order__n {
	color: var(--wp--preset--color--accent);
}

.is-style-cas-order-row .cas-order__name {
	flex: 1 1 auto;
	align-self: center;
	padding: 0.9rem 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
}

.is-style-cas-order-row p.cas-order__status {
	align-self: center;
	margin-inline-end: 1rem;
	border: 1px dashed color-mix(in srgb, var(--wp--preset--color--base) 38%, transparent);
	background: transparent;
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
}

.is-style-cas-order-row p.cas-order__status.cas-tag--gold {
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

@media (max-width: 480px) {
	.wp-block-group.is-style-cas-order-row {
		flex-wrap: wrap;
	}

	.is-style-cas-order-row .cas-order__name {
		flex-basis: calc(100% - 3.5rem);
		padding-block-end: 0.35rem;
	}

	.is-style-cas-order-row p.cas-order__status {
		margin: 0 0 0.85rem 4.75rem;
	}

	.is-style-cas-order-row .cas-order__n {
		flex-basis: 3.5rem;
	}
}

/* White Panel */
.is-style-cas-panel {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	box-shadow: var(--cas-shadow);
	color: var(--wp--preset--color--muted);
}

.is-style-cas-panel > *,
.is-style-cas-panel .cas-panel__body > *,
.is-style-cas-panel .cas-panel__foot > * {
	margin-block: 0;
}

.is-style-cas-panel h2,
.is-style-cas-panel h3,
.cas-sec--dark .is-style-cas-panel h3 {
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-panel .cas-panel__body {
	padding: 1.75rem 1.75rem 1.5rem;
}

.is-style-cas-panel .cas-panel__body h3 {
	margin-block-start: 0.5rem;
	font-size: clamp(1.5rem, 2.2vw, 1.75rem);
}

.is-style-cas-panel .cas-panel__body > p:not([class*="cas-"]) {
	margin-block-start: 0.75rem;
	font-size: 1rem;
}

.is-style-cas-panel .cas-panel__cta {
	margin-block-start: 1.25rem;
}

.is-style-cas-panel .cas-panel__cta .wp-block-button,
.is-style-cas-panel .cas-panel__cta .wp-block-button__link {
	width: 100%;
}

.is-style-cas-panel .cas-panel__foot {
	position: relative;
	padding: 1.1rem 1.75rem 1.1rem 3.6rem;
	border-block-start: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
}

.is-style-cas-panel .cas-panel__foot::before {
	content: "";
	position: absolute;
	inset-block-start: 1.2rem;
	inset-inline-start: 1.75rem;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--wp--preset--color--primary);
	mask: var(--cas-icon-clock) center / contain no-repeat;
}

.is-style-cas-panel .cas-panel__when {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-panel .cas-panel__foot > p + p {
	margin-block-start: 0.15rem;
	font-size: 0.9375rem;
}

.cas-split--sunday .cas-morning__title {
	margin-block-start: 2.25rem;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--accent);
}

.cas-split--sunday .cas-morning__title + * {
	margin-block-start: 1rem;
}

/* Timeline */
ul.is-style-cas-timeline {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.is-style-cas-timeline::before {
	content: "";
	position: absolute;
	inset-block: 0.75rem 2.75rem;
	inset-inline-start: calc(0.55rem - 1px);
	width: 2px;
	background: color-mix(in srgb, var(--wp--preset--color--base) 22%, transparent);
}

ul.is-style-cas-timeline li {
	position: relative;
	padding: 0 0 1.35rem 2.25rem;
	font-size: 1rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--base) 72%, transparent);
}

ul.is-style-cas-timeline li:last-child {
	padding-block-end: 0;
}

ul.is-style-cas-timeline li::before {
	content: "";
	position: absolute;
	inset-block-start: 0.2rem;
	inset-inline-start: 0;
	box-sizing: border-box;
	width: 1.1rem;
	height: 1.1rem;
	border: 2px solid color-mix(in srgb, var(--wp--preset--color--base) 75%, transparent);
	border-radius: 50%;
	background: var(--wp--preset--color--secondary);
}

ul.is-style-cas-timeline li:last-child::before {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
}

ul.is-style-cas-timeline li strong {
	display: block;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

/* ==========================================================================
   Event Info: getting here
   ========================================================================== */

.cas-sec .cas-venue {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	box-shadow: var(--cas-shadow);
}

.cas-venue > * {
	margin: 0;
}

.cas-venue .cas-venue__info {
	padding: clamp(1.75rem, 3vw, 2.5rem);
}

.cas-venue .cas-venue__info > * {
	margin-block: 0;
}

.cas-venue .cas-venue__name {
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
}

.cas-venue .cas-venue__address {
	margin-block-start: 0.35rem;
	font-size: clamp(1.625rem, 2.4vw, 2rem);
	line-height: 1.1;
}

.cas-venue .cas-venue__buttons {
	gap: 0.75rem;
	margin-block: 1.5rem 0.75rem;
}

.cas-venue .cas-venue__buttons + .cas-venue__tip {
	margin-block-start: 2rem;
}

.cas-venue .cas-venue__tip {
	position: relative;
	margin-block-start: 1.25rem;
	padding-inline-start: 3.25rem;
}

/* The icon's tile; the icon is the heading's ::before, laid over it. */
.cas-venue .cas-venue__tip::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 4px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, var(--wp--preset--color--base));
}

.cas-venue .cas-venue__tip > * {
	margin-block: 0;
}

.cas-venue .cas-venue__tip h4 {
	font-size: 1.125rem;
	font-weight: 600;
}

.cas-venue .cas-venue__tip h4::before {
	position: absolute;
	inset-block-start: 0.55rem;
	inset-inline-start: 0.55rem;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--wp--preset--color--primary);
}

.cas-venue .cas-venue__tip p {
	margin-block-start: 0.25rem;
	font-size: 1rem;
	line-height: 1.5;
}

.cas-venue .cas-map {
	position: relative;
	min-height: 22rem;
	background: var(--wp--preset--color--surface);
}

.cas-venue .cas-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.cas-venue .cas-map__chip {
	position: absolute;
	inset-block-end: 1rem;
	inset-inline-start: 1rem;
	margin: 0;
	padding: 0.55rem 0.9rem;
	border-radius: 2px;
	background: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	pointer-events: none;
}

.cas-venue .cas-map__chip span {
	color: var(--wp--preset--color--accent);
}

.cas-venue .cas-map__chip span::before {
	content: "· ";
	color: var(--wp--preset--color--base);
}

@media (max-width: 900px) {
	.cas-sec .cas-venue {
		grid-template-columns: minmax(0, 1fr);
	}

	.cas-venue .cas-map {
		min-height: 18rem;
	}
}

/* ==========================================================================
   Event Info: before you pack
   ========================================================================== */

.cas-checks > * {
	margin: 0;
}

.cas-checks > * + * {
	margin-block-start: 0.75rem;
}

/* Checklist Row */
.wp-block-group.is-style-cas-check-row {
	position: relative;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem 1rem 3.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
}

.is-style-cas-check-row::before {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 1.15rem;
	box-sizing: border-box;
	width: 1.3rem;
	height: 1.3rem;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 3px;
	translate: 0 -50%;
}

.is-style-cas-check-row.is-checked::before {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
}

/* The tick, drawn by the copy beside the box. */
.is-style-cas-check-row.is-checked .cas-check__copy::before {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 1.35rem;
	width: 0.9rem;
	height: 0.9rem;
	background: var(--wp--preset--color--base);
	mask: var(--cas-icon-check) center / contain no-repeat;
	translate: 0 -50%;
}

.is-style-cas-check-row > * {
	margin: 0;
}

.is-style-cas-check-row .cas-check__copy {
	flex: 1 1 auto;
}

.is-style-cas-check-row .cas-check__copy > * {
	margin-block: 0;
}

.is-style-cas-check-row .cas-check__title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-check-row .cas-check__text {
	margin-block-start: 0.15rem;
	font-size: 1rem;
	line-height: 1.5;
}

.is-style-cas-check-row .cas-check__link {
	flex: none;
}

.is-style-cas-check-row .cas-check__link a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.is-style-cas-check-row .cas-check__link a::after {
	content: " →";
}

.cas-split--pack .cas-pack__buttons {
	gap: 1rem;
	margin-block-start: 2rem;
}

.cas-split--pack .is-style-cas-photo-card .cas-photo-card__caption > p:not([class*="cas-"]) {
	margin-block-start: 0.4rem;
	font-size: 1rem;
	line-height: 1.5;
}

.cas-split--pack .is-style-cas-photo-card .cas-chips {
	margin-block-start: 0.85rem;
}

@media (max-width: 520px) {
	.wp-block-group.is-style-cas-check-row {
		flex-wrap: wrap;
	}

	.is-style-cas-check-row::before {
		inset-block-start: 1.2rem;
		translate: none;
	}

	.is-style-cas-check-row.is-checked .cas-check__copy::before {
		inset-block-start: 1.4rem;
		translate: none;
	}
}

/* ==========================================================================
   Photo Band
   ========================================================================== */

.wp-block-cover.is-style-cas-band {
	min-height: 0;
	padding: clamp(3.5rem, 6vw, 5rem) 0;
}

.wp-block-cover.is-style-cas-band .wp-block-cover__image-background {
	filter: grayscale(0.3);
}

.is-style-cas-band .cas-band__inner {
	width: 100%;
	align-items: center;
	gap: 1.75rem 3rem;
}

.is-style-cas-band .cas-band__copy {
	flex: 1 1 30rem;
}

.is-style-cas-band .cas-band__copy > * {
	margin-block: 0;
}

.is-style-cas-band p.is-style-cas-eyebrow {
	color: var(--wp--preset--color--accent);
}

.is-style-cas-band h2 {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--base);
}

.is-style-cas-band .cas-band__copy > p:last-child {
	max-width: 38rem;
	margin-block-start: 0.75rem;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--base) 86%, transparent);
}

.is-style-cas-band .cas-band__buttons {
	gap: 1rem;
}

/* ==========================================================================
   Format & Rules: divisions
   ========================================================================== */

.cas-sec .cas-divisions {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
}

.cas-divisions > * {
	margin: 0;
}

/* Header and rows share one grid: icon, name, eligibility, standard. */
.cas-divisions .cas-divisions__head,
.cas-divisions .wp-block-group.is-style-cas-division {
	display: grid;
	grid-template-columns: 2.5rem 12rem minmax(0, 1fr) 13rem;
	align-items: center;
	gap: 1.25rem;
	padding: 1.15rem 1.5rem;
}

.cas-divisions .cas-divisions__head {
	padding-block: 1rem;
	background: var(--wp--preset--color--secondary);
}

.cas-divisions .cas-divisions__head > * {
	margin: 0;
}

.cas-divisions .cas-divisions__head > :first-child {
	grid-column: 1 / 3;
}

.cas-divisions .cas-divisions__head p.is-style-cas-label {
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
}

/* Division Row */
.is-style-cas-division {
	position: relative;
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.is-style-cas-division > * {
	margin: 0;
}

/* The icon's circle; the icon is the name's ::before, laid over it. */
.is-style-cas-division::before {
	content: "";
	box-sizing: border-box;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
}

.is-style-cas-division h3 {
	font-size: 1.375rem;
	font-weight: 600;
}

.is-style-cas-division h3.cas-ico::before {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: calc(1.5rem + 0.7rem);
	width: 1.1rem;
	height: 1.1rem;
	background: var(--wp--preset--color--primary);
	translate: 0 -50%;
}

.is-style-cas-division .cas-division__text {
	font-size: 1rem;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-division .cas-division__text strong {
	font-weight: 700;
}

.is-style-cas-division p.cas-division__tag {
	justify-self: start;
	white-space: normal;
}

.is-style-cas-division.is-featured {
	background: linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--primary) 8%, var(--wp--preset--color--base)), var(--wp--preset--color--base) 70%);
}

.is-style-cas-division.is-featured::before {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 35%, var(--wp--preset--color--base));
}

@media (max-width: 900px) {
	.cas-divisions .cas-divisions__head {
		display: none;
	}

	.cas-divisions .wp-block-group.is-style-cas-division {
		grid-template-columns: 2.5rem minmax(0, 1fr);
		gap: 0.6rem 1rem;
	}

	.is-style-cas-division::before {
		grid-row: 1;
	}

	.is-style-cas-division .cas-division__text,
	.is-style-cas-division p.cas-division__tag {
		grid-column: 2;
	}

	.is-style-cas-division h3.cas-ico::before {
		inset-block-start: calc(1.15rem + 1.25rem);
	}
}

/* ==========================================================================
   Format & Rules: qualification
   ========================================================================== */

/* Stat Strip: hairlines between the boxes are the container showing through. */
.wp-block-group.is-style-cas-stat-strip {
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--border);
}

.is-style-cas-stat-strip > * {
	margin: 0;
	padding: 1.1rem 1.25rem 1.2rem;
	background: var(--wp--preset--color--base);
}

.is-style-cas-stat-strip > * > * {
	margin-block: 0;
}

.is-style-cas-stat-strip .cas-strip__value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2rem, 3vw, 2.5rem);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-stat-strip .cas-strip__value mark {
	font-size: 0.45em;
}

.is-style-cas-stat-strip .cas-strip__label {
	margin-block-start: 0.55rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.cas-sec--dark .wp-block-group.is-style-cas-stat-strip {
	border-color: color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
}

.cas-sec--dark .is-style-cas-stat-strip > * {
	background: var(--wp--preset--color--secondary);
}

.cas-sec--dark .is-style-cas-stat-strip .cas-strip__value {
	color: var(--wp--preset--color--base);
}

.cas-sec--dark .is-style-cas-stat-strip .cas-strip__value mark {
	color: var(--wp--preset--color--accent) !important;
}

.cas-sec--dark .is-style-cas-stat-strip .cas-strip__label {
	color: color-mix(in srgb, var(--wp--preset--color--base) 68%, transparent);
}

@media (max-width: 520px) {
	.wp-block-group.is-style-cas-stat-strip:has(> :nth-child(4)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Scoring Card */
.wp-block-group.is-style-cas-score-card {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: 6px;
	background: var(--wp--preset--color--secondary);
	color: color-mix(in srgb, var(--wp--preset--color--base) 76%, transparent);
}

.is-style-cas-score-card > * {
	margin: 0;
}

.is-style-cas-score-card .cas-score__rings {
	display: flex;
	justify-content: center;
}

.is-style-cas-score-card .cas-score__rings img {
	width: 100% !important;
	max-width: 14rem;
	height: auto;
}

.is-style-cas-score-card .cas-score__copy > * {
	margin-block: 0;
}

.is-style-cas-score-card p.is-style-cas-eyebrow {
	font-size: 0.875rem;
	color: var(--wp--preset--color--accent);
}

.is-style-cas-score-card .cas-score__copy h3 {
	margin-block-start: 0.4rem;
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

.is-style-cas-score-card .cas-score__copy > p:not([class*="cas-"]) {
	margin-block-start: 0.6rem;
	font-size: 1rem;
	line-height: 1.55;
}

.is-style-cas-score-card strong {
	color: var(--wp--preset--color--base);
}

/* Ring Legend */
ul.is-style-cas-legend,
.is-style-cas-score-card .cas-score__copy > ul.is-style-cas-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.1rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
	color: color-mix(in srgb, var(--wp--preset--color--base) 86%, transparent);
}

ul.is-style-cas-legend li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

ul.is-style-cas-legend li::before {
	content: "";
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

ul.is-style-cas-legend li:nth-child(3)::before {
	background: var(--wp--preset--color--primary);
}

ul.is-style-cas-legend li:nth-child(4)::before {
	background: var(--wp--preset--color--sky);
}

.is-style-cas-score-card .cas-score__perfect {
	margin-block-start: 1.25rem;
	padding-block-start: 1.25rem;
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

.is-style-cas-score-card .cas-score__label {
	margin-block-start: 0.35rem;
	font-size: 1rem;
	color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
}

.is-style-cas-score-card .cas-score__sum {
	font-size: 0.875rem;
	color: color-mix(in srgb, var(--wp--preset--color--base) 58%, transparent);
}

@media (max-width: 600px) {
	.wp-block-group.is-style-cas-score-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.is-style-cas-score-card .cas-score__rings img {
		max-width: 11rem;
	}
}

/* Target faces */
.cas-sec .cas-faces {
	gap: 1rem;
}

.wp-block-cover.is-style-cas-photo.cas-face {
	min-height: 17.5rem;
	padding: 1.1rem;
	box-shadow: none;
	border: 1px solid var(--wp--preset--color--border);
}

.wp-block-cover.cas-face h4 {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

.wp-block-cover.cas-face h4 + p {
	margin-block-start: 0.2rem;
	font-size: 0.9375rem;
	line-height: 1.45;
}

@media (max-width: 420px) {
	.cas-sec .cas-faces {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   Format & Rules: on the line
   ========================================================================== */

.cas-sec .cas-rule-grid {
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--border);
}

/* Rule Cell */
.is-style-cas-rule-cell {
	position: relative;
	margin: 0;
	padding: 1.75rem 1.5rem;
	background: var(--wp--preset--color--base);
}

.is-style-cas-rule-cell::before {
	content: "";
	position: absolute;
	inset-block-start: 1.75rem;
	inset-inline-start: 1.5rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 4px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, var(--wp--preset--color--base));
}

.is-style-cas-rule-cell > * {
	margin-block: 0;
}

.is-style-cas-rule-cell h3 {
	padding-block-start: 3.1rem;
	font-size: 1.3125rem;
	font-weight: 600;
}

.is-style-cas-rule-cell h3.cas-ico::before {
	position: absolute;
	inset-block-start: calc(1.75rem + 0.575rem);
	inset-inline-start: calc(1.5rem + 0.575rem);
	width: 1.1rem;
	height: 1.1rem;
	background: var(--wp--preset--color--primary);
}

.is-style-cas-rule-cell p {
	margin-block-start: 0.6rem;
	font-size: 1rem;
	line-height: 1.6;
}

.is-style-cas-rule-cell strong {
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 1024px) {
	.cas-sec .cas-rule-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.cas-sec .cas-rule-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.cas-split--calls .cas-split__main > .is-style-cas-eyebrow + .cas-dash {
	margin-block-start: 0.5rem;
}

/* Numbered Steps */
ol.is-style-cas-steps {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: cas-step;
}

ol.is-style-cas-steps::before {
	content: "";
	position: absolute;
	inset-block: 1.5rem 3rem;
	inset-inline-start: calc(1.2rem - 1px);
	width: 2px;
	background: var(--wp--preset--color--border);
}

ol.is-style-cas-steps li {
	position: relative;
	padding: 0.25rem 0 1.5rem 3.6rem;
	font-size: 1rem;
	line-height: 1.55;
	counter-increment: cas-step;
}

ol.is-style-cas-steps li:last-child {
	padding-block-end: 0;
}

ol.is-style-cas-steps li::before {
	content: counter(cas-step);
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 2.4rem;
	height: 2.4rem;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

ol.is-style-cas-steps li:last-child::before {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

ol.is-style-cas-steps li strong {
	display: block;
	margin-block-end: 0.15rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Format & Rules: Sunday brackets
   ========================================================================== */

.cas-split--brackets .cas-tiebreak {
	padding: 1.25rem 1.5rem 1.4rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
	border-radius: 6px;
	background: var(--wp--preset--color--secondary-soft);
}

.cas-tiebreak > * {
	margin-block: 0;
}

.cas-tiebreak .cas-tiebreak__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.cas-tiebreak .cas-chips {
	gap: 0.6rem 1.75rem;
	margin-block-start: 0.9rem;
}

.cas-tiebreak .cas-chips p.is-style-cas-tag {
	position: relative;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

/* Arrows between the steps, drawn by the step after. */
.cas-tiebreak .cas-chips p.is-style-cas-tag + p.is-style-cas-tag::before {
	content: "→";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: -1.3rem;
	translate: 0 -50%;
	color: color-mix(in srgb, var(--wp--preset--color--base) 60%, transparent);
}

.cas-split--brackets .wp-block-image img,
.cas-split--brackets figure img {
	display: block;
	width: 100%;
	border-radius: 6px;
}

.cas-ties > * {
	margin: 0;
}

.cas-ties > * + * {
	margin-block-start: 0.75rem;
}

/* Tiebreak Card */
.is-style-cas-tie-card {
	padding: 1.1rem 1.4rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent);
	border-radius: 6px;
	background: var(--wp--preset--color--secondary-soft);
}

.is-style-cas-tie-card > * {
	margin-block: 0;
}

.is-style-cas-tie-card .cas-tie__title {
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--wp--preset--color--base);
}

.is-style-cas-tie-card p + p {
	margin-block-start: 0.25rem;
	font-size: 1rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--base) 74%, transparent);
}

/* Warning Card */
.is-style-cas-alert {
	position: relative;
	padding: 1.5rem 1.5rem 1.5rem 4.75rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 50%, transparent);
	border-radius: 6px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, var(--wp--preset--color--secondary));
}

.is-style-cas-alert::before {
	content: "";
	position: absolute;
	inset-block-start: 1.5rem;
	inset-inline-start: 1.5rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

.is-style-cas-alert > * {
	margin-block: 0;
}

.is-style-cas-alert h4 {
	font-size: 1.25rem;
	font-weight: 600;
}

.is-style-cas-alert h4::before {
	content: "";
	position: absolute;
	inset-block-start: calc(1.5rem + 0.55rem);
	inset-inline-start: calc(1.5rem + 0.55rem);
	width: 1.15rem;
	height: 1.15rem;
	background: var(--wp--preset--color--base);
	mask: var(--cas-icon-triangle-alert) center / contain no-repeat;
}

.is-style-cas-alert p {
	margin-block-start: 0.4rem;
	font-size: 1rem;
	line-height: 1.6;
	color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
}

.is-style-cas-alert strong {
	color: var(--wp--preset--color--base);
}

/* ==========================================================================
   Format & Rules: final four
   ========================================================================== */

.cas-split--finals .cas-head {
	margin-block-end: 0;
}

.cas-split--finals .cas-finals__text {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.65;
	color: var(--wp--preset--color--contrast);
}

.cas-split--finals .cas-notes {
	gap: 1rem;
}

/* Note Card */
.is-style-cas-note {
	padding: 1.25rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
}

.is-style-cas-note > * {
	margin-block: 0;
}

.is-style-cas-note p.is-style-cas-eyebrow {
	font-size: 0.875rem;
}

.is-style-cas-note p + p {
	margin-block-start: 0.5rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
}

/* The example bracket: two semifinals into the championship. */
.cas-split--finals .cas-mini {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 2.5rem;
}

.cas-mini > * {
	margin: 0;
}

.cas-mini .cas-mini__semis {
	position: relative;
}

.cas-mini .cas-mini__semis > * {
	margin: 0;
}

.cas-mini .cas-mini__semis > * + * {
	margin-block-start: 1rem;
}

/* The bracket line joining the two semifinals, and its stem into the final. */
.cas-mini .cas-mini__semis::before {
	content: "";
	position: absolute;
	inset-block: 25%;
	inset-inline-end: -1.25rem;
	width: 1.25rem;
	border: 2px solid var(--wp--preset--color--border);
	border-inline-start: 0;
}

.cas-mini .is-style-cas-match-card.is-final::before {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: calc(-1.25rem - 2px);
	width: 1.25rem;
	border-block-start: 2px solid var(--wp--preset--color--border);
}

/* Match Card */
.is-style-cas-match-card {
	position: relative;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: var(--wp--preset--color--base);
	box-shadow: var(--cas-shadow);
}

.is-style-cas-match-card > * {
	margin: 0;
}

.is-style-cas-match-card .cas-mc__label {
	padding: 0.6rem 1rem;
	border-block-end: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface-alt);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-match-card .cas-mc__row {
	gap: 1rem;
	padding: 0.7rem 1rem;
}

.is-style-cas-match-card .cas-mc__row + .cas-mc__row {
	border-block-start: 1px dashed var(--wp--preset--color--border);
}

.is-style-cas-match-card .cas-mc__row > p {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-match-card .cas-mc__row > p.cas-mc__arrows {
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--wp--preset--color--muted);
}

.is-style-cas-match-card.is-final {
	border: 2px solid var(--wp--preset--color--accent);
	box-shadow: var(--cas-shadow-lg);
}

.is-style-cas-match-card.is-final .cas-mc__label {
	border-color: var(--wp--preset--color--secondary);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--accent);
}

@media (max-width: 600px) {
	.cas-split--finals .cas-notes,
	.cas-split--finals .cas-mini {
		grid-template-columns: minmax(0, 1fr);
	}

	.cas-split--finals .cas-mini {
		gap: 1.5rem;
	}

	.cas-mini .cas-mini__semis::before,
	.cas-mini .is-style-cas-match-card.is-final::before {
		display: none;
	}
}

/* ==========================================================================
   Format & Rules: protests and registration
   ========================================================================== */

.cas-sec .cas-policies {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	align-items: start;
	gap: 1.5rem;
}

.cas-policies > * {
	margin: 0;
}

.is-style-cas-panel.cas-policy {
	padding: clamp(1.75rem, 3vw, 2.5rem);
}

.cas-policy > * + * {
	margin-block-start: 1rem;
}

.cas-policy > h2 {
	margin-block-start: 0.5rem;
	font-size: clamp(1.875rem, 3vw, 2.375rem);
}

.cas-policy > p:not([class*="cas-"]),
.cas-policy .cas-policy__intro {
	font-size: 1rem;
	line-height: 1.6;
}

.cas-policy strong {
	color: var(--wp--preset--color--contrast);
}

.cas-policy ul.is-style-cas-ticks {
	margin-block-start: 1.25rem;
}

.cas-policy ul.is-style-cas-ticks li {
	color: var(--wp--preset--color--contrast);
}

.cas-policy .cas-facts {
	gap: 0.75rem;
	margin-block-start: 1.5rem;
}

.cas-policy .cas-fact {
	margin: 0;
	padding: 1rem 1.1rem;
	border-radius: 4px;
	background: var(--wp--preset--color--surface);
}

.cas-fact > * {
	margin-block: 0;
}

.cas-fact .cas-fact__value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

.cas-fact p + p {
	margin-block-start: 0.45rem;
	font-size: 0.9375rem;
	line-height: 1.45;
}

/* Date Row timeline */
.cas-policy .cas-dates {
	position: relative;
	margin-block-start: 1.75rem;
}

.cas-dates::before {
	content: "";
	position: absolute;
	inset-block: 0.6rem 2.5rem;
	inset-inline-start: calc(5.5rem + 1.25rem + 0.425rem - 1px);
	width: 2px;
	background: var(--wp--preset--color--border);
}

.cas-dates > * {
	margin: 0;
}

.wp-block-group.is-style-cas-date-row {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: 0 1.25rem;
	padding-block-end: 1.4rem;
}

.is-style-cas-date-row:last-child {
	padding-block-end: 0;
}

.is-style-cas-date-row > * {
	margin: 0;
}

.is-style-cas-date-row .cas-date__when {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.15;
	text-align: end;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-date-row .cas-date__when mark {
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
}

.is-style-cas-date-row .cas-date__copy {
	position: relative;
	padding-inline-start: 1.85rem;
}

.is-style-cas-date-row .cas-date__copy::before {
	content: "";
	position: absolute;
	inset-block-start: 0.3rem;
	inset-inline-start: 0;
	box-sizing: border-box;
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
}

.is-style-cas-date-row.is-current .cas-date__copy::before {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
}

.is-style-cas-date-row .cas-date__copy > * {
	margin-block: 0;
}

.is-style-cas-date-row .cas-date__title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}

.is-style-cas-date-row .cas-date__title mark {
	margin-inline-end: 0.2rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}

.is-style-cas-date-row .cas-date__copy p + p {
	margin-block-start: 0.2rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}

@media (max-width: 900px) {
	.cas-sec .cas-policies {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.wp-block-group.is-style-cas-date-row {
		grid-template-columns: 4.25rem minmax(0, 1fr);
		gap: 0 0.9rem;
	}

	.cas-dates::before {
		inset-inline-start: calc(4.25rem + 0.9rem + 0.425rem - 1px);
	}

	.cas-policy .cas-facts {
		grid-template-columns: minmax(0, 1fr);
	}
}
