/*
 * 3RS - Year One (2026) presentation layer.
 *
 * Colors, fonts, sizes and spacing come from theme.json so they stay editable
 * in Site Editor → Styles. This file adds the block style choices registered
 * in functions.php and responsive behavior that theme.json cannot express.
 */

/* ---------- Tokens ---------- */

:root {
	--3rs-eyebrow: var(--wp--preset--color--blue);
	--3rs-heading: var(--wp--preset--color--contrast);
	--3rs-body: var(--wp--preset--color--mist);
	--3rs-muted: var(--wp--preset--color--steel);
	--3rs-rule: var(--wp--preset--color--line);
	--3rs-rule-soft: #1F1F1F;
	--3rs-rule-strong: var(--wp--preset--color--contrast);
	--3rs-chip-border: #3A3A3A;
	--3rs-hover: var(--wp--preset--color--blue);
	--3rs-fg: var(--wp--preset--color--contrast);
	--3rs-bg: var(--wp--preset--color--base);
	--3rs-gradient: linear-gradient(90deg, #D8187F, #7820E2, #1E90FF);
	--3rs-ease: cubic-bezier(.2, .7, .2, 1);
	--3rs-gutter: clamp(20px, 5vw, 64px);
	--3rs-progress: 0;
	--trs-content-width: var(--wp--style--global--content-size,1192px);
	--trs-wide-width: var(--wp--style--global--wide-size,1312px);
}

/* Headline scale follows both width and height so short laptop screens keep the hero in view. */
:root:root {
	--wp--preset--font-size--display: clamp(44px, 8.4vw, 120px);
	--wp--preset--font-size--section: clamp(36px, 4.4vw, 52px);
	--wp--preset--font-size--heading: clamp(36px, 4.4vw, 52px);
	--wp--preset--font-size--stat: clamp(32px, min(8vw, 4.4vw + 12px), 72px);
}

/* Anchored sections clear the sticky header when linked to (e.g. /event/#schedule). */
[id] {
	scroll-margin-top: calc(90px + var(--wp-admin--admin-bar--height, 0px));
}

/* ---------- Base ---------- */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

html {
	overflow-x: clip;
}

.has-section-font-size {
	letter-spacing: -0.02em;
}

h1, h2, h3, h4 {
	overflow-wrap: normal;
	hyphens: manual;
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

:where(h1, h2, h3, h4) {
	color: var(--3rs-heading);
}

:where(p, li, dd, figcaption, .wp-block-post-excerpt) {
	color: var(--3rs-body);
}

/* A color chosen in the editor always wins over the section defaults above. */
:where(.has-text-color) :where(h1, h2, h3, h4, p, li, dd, figcaption) {
	color: inherit;
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--blue);
	outline-offset: 3px;
}

/* Thin dark scrollbar; the thumb picks up the brand gradient on hover. */
html {
	scrollbar-color: #3A3A3A #0A0A0A;
	scrollbar-width: thin;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
	background: #0A0A0A;
}

::-webkit-scrollbar-thumb {
	background: #2E2E2E;
	border: 2px solid #0A0A0A;
	border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, #D8187F, #7820E2, #1E90FF);
}

::selection {
	background: var(--wp--preset--color--purple);
	color: var(--wp--preset--color--contrast);
}

strong {
	color: var(--3rs-heading);
}

/* ---------- Sections ---------- */

.is-style-section-light {
	--3rs-eyebrow: var(--wp--preset--color--purple);
	--3rs-heading: var(--wp--preset--color--base);
	--3rs-body: var(--wp--preset--color--ink);
	--3rs-muted: var(--wp--preset--color--ink-muted);
	--3rs-rule: var(--wp--preset--color--line-light);
	--3rs-rule-soft: var(--wp--preset--color--line-light);
	--3rs-rule-strong: var(--wp--preset--color--base);
	--3rs-chip-border: var(--wp--preset--color--base);
	--3rs-hover: var(--wp--preset--color--purple);
	--3rs-fg: var(--wp--preset--color--base);
	--3rs-bg: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.is-style-card,
.is-style-card-light {
	padding: clamp(24px, 3vw, 36px);
}

.is-style-card {
	--3rs-eyebrow: var(--wp--preset--color--blue);
	--3rs-heading: var(--wp--preset--color--contrast);
	--3rs-body: var(--wp--preset--color--mist);
	--3rs-muted: var(--wp--preset--color--steel);
	--3rs-rule: var(--wp--preset--color--line);
	--3rs-rule-strong: var(--wp--preset--color--contrast);
	--3rs-chip-border: #3A3A3A;
	--3rs-hover: var(--wp--preset--color--blue);
	--3rs-fg: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--graphite);
	color: var(--wp--preset--color--contrast);
}

.is-style-section-light .is-style-card {
	background-color: var(--wp--preset--color--base);
}

.is-style-card-light {
	--3rs-eyebrow: var(--wp--preset--color--purple);
	--3rs-heading: var(--wp--preset--color--base);
	--3rs-body: var(--wp--preset--color--ink);
	--3rs-muted: var(--wp--preset--color--ink-muted);
	--3rs-rule: var(--wp--preset--color--line-light);
	--3rs-rule-strong: var(--wp--preset--color--base);
	--3rs-chip-border: var(--wp--preset--color--base);
	--3rs-hover: var(--wp--preset--color--purple);
	--3rs-fg: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.is-style-card.is-layout-flex > :last-child:not(p):not(h2):not(h3):not(h4),
.is-style-card-light.is-layout-flex > :last-child:not(p):not(h2):not(h3):not(h4) {
	margin-top: auto;
}

/* Page hero: title block at the top of inner pages, with an oversized logo fragment. */
.is-style-page-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--3rs-rule-soft);
}

.is-style-page-hero::before {
	content: "";
	position: absolute;
	right: -30%;
	top: -25%;
	height: 150%;
	aspect-ratio: 3608 / 1071;
	background: url("../images/logo-elements-full.png") no-repeat right center / contain;
	opacity: 0.06;
	pointer-events: none;
}

.js-motion .is-style-page-hero::before {
	animation: threers-fragment 1800ms var(--3rs-ease) both;
}

@keyframes threers-fragment {
	from {
		opacity: 0;
		transform: translateX(80px);
	}

	to {
		opacity: 0.06;
		transform: none;
	}
}

.is-style-page-hero > * {
	position: relative;
}

/* ---------- Utilities (Advanced → Additional CSS class) ---------- */

.measure {
	max-width: min(100%, 34em) !important;
}

.measure-wide {
	max-width: min(100%, 44em) !important;
}

/* Keep narrowed text aligned with the section's left edge, not centered. */
.is-layout-constrained > :is(.measure, .measure-wide) {
	margin-left: max(0px, (100% - var(--wp--style--global--content-size)) / 2) !important;
	margin-right: auto !important;
}

/* A thin rule above a row of big numbers. */
.stat-grid {
	border-top: 1px solid var(--3rs-rule);
}

.stat-grid > * {
	padding-top: 24px;
}

/* ---------- Text styles ---------- */

.is-style-eyebrow,
:where(h1, h2, h3, h4, h5, h6).is-style-eyebrow {
	color: var(--3rs-eyebrow);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.3em;
	line-height: 1.4;
	text-transform: uppercase;
}

p.is-style-label,
.wp-block-post-excerpt.is-style-label,
.wp-block-post-terms.is-style-label {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	color: var(--3rs-muted);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.25em;
	line-height: 1.5;
	text-transform: uppercase;
}

p.is-style-tag {
	display: inline-block;
	width: fit-content;
	background: var(--3rs-fg);
	color: var(--3rs-bg);
	padding: 5px 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3em;
	line-height: 1.4;
	text-transform: uppercase;
}

p.is-style-chip {
	display: inline-block;
	width: fit-content;
	padding: 7px 10px;
	border: 1px solid var(--3rs-chip-border);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--3rs-heading);
}

p.is-style-stat {
	color: var(--3rs-heading);
	font-size: var(--wp--preset--font-size--stat);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 0.95;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* ---------- Buttons ---------- */

.wp-block-button__link {
	/* Inline formatting must stay in the same text flow, including manual line breaks. */
	display: inline-block;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	min-height: 44px;
	transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 320ms var(--3rs-ease), box-shadow 320ms ease, filter 220ms ease;
}

.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover {
	filter: brightness(1.12);
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--glow);
}

.wp-block-button .wp-block-button__link:active {
	transform: translateY(0) scale(0.98);
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
	background-color: transparent;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid currentColor;
	padding: 17px 29px;
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	color: var(--3rs-fg);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--3rs-fg);
	border-color: var(--3rs-fg);
	color: var(--3rs-bg);
	transform: translateY(-2px);
}

.wp-block-button.is-style-light > .wp-block-button__link:not(.has-background) {
	background-color: var(--3rs-fg);
}

.wp-block-button.is-style-light > .wp-block-button__link:not(.has-text-color) {
	color: var(--3rs-bg);
}

.wp-block-button.is-style-light > .wp-block-button__link:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
}

.wp-block-button.is-style-text-link > .wp-block-button__link {
	background: transparent;
	border-radius: 0;
	border-bottom: 2px solid currentColor;
	padding: 0;
	font-size: 14px;
	letter-spacing: 0.22em;
}

.wp-block-button.is-style-text-link > .wp-block-button__link:not(.has-text-color) {
	color: var(--3rs-fg);
}

.wp-block-button.is-style-text-link > .wp-block-button__link:hover {
	color: var(--3rs-hover);
}

.wp-block-button.is-style-chip > .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--3rs-chip-border);
	padding: 0 18px;
	font-size: 13px;
	letter-spacing: 0.2em;
}

.wp-block-button.is-style-chip > .wp-block-button__link:not(.has-text-color) {
	color: var(--3rs-fg);
}

.wp-block-button.is-style-chip > .wp-block-button__link[aria-current] {
	background: var(--3rs-fg);
	border-color: var(--3rs-fg);
	color: var(--3rs-bg);
}

.wp-block-button.is-style-chip > .wp-block-button__link:hover {
	border-color: var(--3rs-hover);
	color: var(--3rs-hover);
}

.wp-block-button.is-style-arrow > .wp-block-button__link {
	background: transparent;
	padding: 0 8px;
	font-size: 14px;
	letter-spacing: 0.18em;
}

.wp-block-button.is-style-arrow > .wp-block-button__link:not(.has-text-color) {
	color: var(--3rs-fg);
}

.wp-block-button.is-style-arrow > .wp-block-button__link:hover {
	color: var(--3rs-hover);
}

/* Links inside text that were given a link color are underlined. */
p.has-link-color a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Arrows typed at the end of a button or link slide on hover (see theme.js). */
.arrow {
	display: inline-block;
	transition: transform 280ms var(--3rs-ease);
}

a:hover .arrow,
a:focus-visible .arrow,
button:hover .arrow,
button:focus-visible .arrow {
	transform: translateX(5px);
}

a:hover .arrow-back,
a:focus-visible .arrow-back,
button:hover .arrow-back,
button:focus-visible .arrow-back {
	transform: translateX(-5px);
}

/* Headline lines split by theme.js for the entrance animation. */
.hero-line {
	display: block;
}

/* ---------- Rows and grids ---------- */

/* Let responsive grids shrink inside flex rows instead of forcing overflow. */
.is-layout-grid {
	min-width: 0;
}

/* Grids use one gap for columns; these styles set their row spacing. */
.is-style-staff-grid {
	row-gap: var(--trs-staff-row-gap,36px) !important;
}

.is-style-facts-bar .is-layout-grid {
	row-gap: 0 !important;
	width:100%;
	max-width:var(--trs-content-width)!important;
	margin-inline:auto;
}

/* Logos sit flush: no line-box gap under linked images, no figure margin. */
.site-footer .wp-block-image,
.site-footer .wp-block-image a {
	display: block;
	margin: 0;
	line-height: 0;
}

.site-footer .wp-block-image.wsdc-logo {
	width: 117px;
	max-width: 100%;
	flex: 0 0 117px;
}

.site-footer .wp-block-image.wsdc-logo img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	max-height: 44px;
	object-fit: contain;
}

.site-footer .wp-block-image.is-style-logo-strip:not(.wsdc-logo) img {
	max-height: 44px;
	object-fit: contain;
}

.site-footer .footer-nav {
	row-gap: 40px !important;
}

.is-style-rows {
	row-gap: 0 !important;
}

.is-style-rows > * {
	margin-block: 0 !important;
	padding-block: clamp(18px, 2vw, 24px);
	border-top: 1px solid var(--3rs-rule);
}

.is-style-grid-rules {
	border-top: 2px solid var(--3rs-rule-strong);
	row-gap: 0 !important;
}

.is-style-grid-rules > * {
	margin-block: 0 !important;
	padding-block: clamp(20px, 2.4vw, 28px);
	border-bottom: 1px solid var(--3rs-rule);
}

.wp-block-columns.is-style-grid-rules > .wp-block-column {
	padding-right: 24px;
}

/* A row inside "Rows with dividers" that holds a short label and a longer description. */
.is-style-rows > .wp-block-group.is-layout-flex:not(.is-vertical) {
	align-items: baseline;
}

/* ---------- Link cards ---------- */

.is-style-link-card {
	position: relative;
	transition: color 220ms ease, border-color 220ms ease, transform 320ms var(--3rs-ease);
}

.is-style-link-card :where(a)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.is-style-link-card:hover,
.is-style-link-card:has(:focus-visible) {
	border-bottom-color: var(--3rs-hover) !important;
}

.is-style-link-card:hover :where(h2, h3, h4, p:not(.is-style-label):not(.is-style-eyebrow)),
.is-style-link-card:hover a {
	color: var(--3rs-hover);
}

.is-style-link-card:hover .arrow {
	transform: translateX(5px);
}

.editor-styles-wrapper .is-style-link-card :where(a)::after {
	display: none;
}

/* ---------- Facts bar (bottom of the home hero) ---------- */

.is-style-facts-bar {
	position: relative;
	background: rgba(10, 10, 10, 0.7);
}

.is-style-facts-bar::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: var(--wp--preset--gradient--brand-flare);
}

.js-motion .is-style-facts-bar::before {
	animation: threers-flare 1400ms 500ms var(--3rs-ease) both;
}

@keyframes threers-flare {
	from {
		opacity: 0;
		transform: scaleX(0);
	}

	to {
		opacity: 1;
		transform: scaleX(1);
	}
}

.is-style-facts-bar .is-style-link-card {
	padding-block: clamp(12px, 2.2vh, 22px);
}

/* ---------- Home hero cover ---------- */

.wp-block-cover.is-style-brand-wash {
	isolation: isolate;
}

.wp-block-cover.is-style-brand-wash > .wp-block-cover__image-background,
.wp-block-cover.is-style-brand-wash > .wp-block-cover__video-background {
	filter: grayscale(1) contrast(1.15) brightness(0.8);
}

.wp-block-cover.is-style-brand-wash::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--wp--preset--gradient--brand);
	mix-blend-mode: multiply;
	opacity: 0.9;
	pointer-events: none;
}

.wp-block-cover.is-style-brand-wash::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(10, 10, 10, 0.95) 0%, rgba(10, 10, 10, 0) 40%);
	pointer-events: none;
}

.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container {
	z-index: 2;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	min-height: inherit;
}

.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .is-style-facts-bar {
	margin-top: auto;
}

/* The hero manages its own side gutters so full-width rows sit edge to edge. */
.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
	min-width: 0;
}

/* The homepage photograph stays full bleed; its copy shares the page content edges. */
.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child {
	width: 100%;
	max-width: calc(var(--trs-content-width) + 2 * var(--3rs-gutter)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Photo credit: a small "i" that slides the credit open on hover, tap or focus. */
.wp-block-cover p.photo-credit {
	position: absolute;
	top: 16px;
	right: clamp(12px, 3vw, 32px);
	z-index: 3;
	margin: 0;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	font-size: 12px;
	line-height: 1.3;
}

.wp-block-cover p.photo-credit::before {
	content: "i";
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(244, 242, 237, 0.28);
	background: rgba(10, 10, 10, 0.35);
	color: rgba(244, 242, 237, 0.6);
	font-family: Georgia, serif;
	font-style: italic;
	font-weight: 700;
	font-size: 12px;
	box-shadow: 0 0 0 11px transparent;
	transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.wp-block-cover p.photo-credit a {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	max-width: 0;
	opacity: 0;
	transform: translateX(12px);
	margin-right: 8px;
	padding: 10px 0;
	background: rgba(10, 10, 10, 0.88);
	border: 1px solid transparent;
	color: #C9CDD0;
	transition: max-width 450ms var(--3rs-ease), opacity 300ms ease, transform 450ms var(--3rs-ease), padding 450ms var(--3rs-ease);
}

.wp-block-cover p.photo-credit:hover::before,
.wp-block-cover p.photo-credit:focus-within::before {
	border-color: rgba(244, 242, 237, 0.7);
	color: var(--wp--preset--color--contrast);
	background: rgba(10, 10, 10, 0.7);
}

.wp-block-cover p.photo-credit:hover a,
.wp-block-cover p.photo-credit:focus-within a {
	max-width: min(440px, 80vw);
	opacity: 1;
	transform: none;
	padding: 10px 14px;
	border-color: var(--wp--preset--color--line);
}

.wp-block-cover p.photo-credit a:hover {
	color: var(--wp--preset--color--contrast);
}

/* Short screens (landscape phones, small laptops) drop the hero intro, as in the prototype. */
@media (max-height: 699px) {
	.wp-block-cover.is-style-brand-wash .hero-intro {
		display: none;
	}
}

/* ---------- Images ---------- */

.wp-block-image img,
.wp-block-post-featured-image img {
	display: block;
}

.wp-block-image.is-style-logo-strip img {
	opacity: 0.8;
	transition: opacity 220ms ease;
}

.wp-block-image.is-style-logo-strip a:hover img {
	opacity: 1;
}

.license-logos .wp-block-image img {
	filter: grayscale(1) invert(1) contrast(1.4);
	mix-blend-mode: screen;
	clip-path: inset(3px);
	object-fit: cover;
}

.license-logos .wp-block-image.is-dark-mark img {
	filter: grayscale(1) brightness(0.8) contrast(4);
}

/* Staff portraits and placeholders. */
.wp-block-post-featured-image.is-style-portrait,
.threers-portrait-placeholder {
	width: 100%;
	align-self: stretch;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	margin: 0;
}

.wp-block-post-featured-image.is-style-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.threers-portrait-placeholder {
	background: repeating-linear-gradient(135deg, #141414 0 12px, #1B1B1B 12px 24px);
}

.threers-portrait-placeholder::before {
	content: "headshot · duotone";
	position: absolute;
	left: 14px;
	bottom: 14px;
	font-family: ui-monospace, Menlo, monospace;
	font-size: 12px;
	color: #8E969B;
}

/* Excerpts styled as an eyebrow or label keep that color on their inner paragraph. */
:is(.is-style-eyebrow, .is-style-label) > p {
	color: inherit;
	margin: 0;
}

.staff-city-only p {
	margin: 0;
}

/* Role on one line, city below (staff directory). */
.split-role-city .staff-city {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

/* Four staff per row on desktops, two on tablets and phones, as in the prototype. */
@media (max-width: 1099px) {
	.is-style-staff-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 359px) {
	.is-style-staff-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

.wp-block-post-featured-image.is-style-portrait::after,
.threers-portrait-placeholder::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--3rs-gradient);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 520ms var(--3rs-ease);
}

.is-style-staff-card {
	position: relative;
	transition: transform 320ms var(--3rs-ease);
}

.is-style-staff-card:hover {
	transform: translateY(-6px);
}

.is-style-staff-card:hover .wp-block-post-featured-image::after,
.is-style-staff-card:hover .threers-portrait-placeholder::after {
	transform: scaleX(1);
}

.is-style-staff-card .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.is-style-staff-card .wp-block-post-title a:hover {
	color: inherit;
}

.editor-styles-wrapper .is-style-staff-card .wp-block-post-title a::after {
	display: none;
}

.is-style-photo-placeholder {
	background: repeating-linear-gradient(135deg, #141414 0 12px, #1B1B1B 12px 24px);
	font-family: ui-monospace, Menlo, monospace;
	font-size: 12px;
	color: #8E969B;
}

/* Previous / next links on staff profiles. */
.is-style-chip-link a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--3rs-chip-border);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.is-style-chip-link a:hover {
	border-color: var(--3rs-hover);
}

/* ---------- Lists ---------- */

.wp-block-list.is-style-dashes {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-dashes > li {
	display: flex;
	gap: 10px;
	line-height: 1.4;
	color: inherit;
}

.wp-block-list.is-style-dashes > li + li {
	margin-top: 10px;
}

.wp-block-list.is-style-dashes > li::before {
	content: "—";
	flex: none;
}

.wp-block-list.is-style-numbered-rows {
	list-style: none;
	padding-left: 0;
	counter-reset: threers-rows;
	border-top: 2px solid var(--3rs-rule-strong);
}

.wp-block-list.is-style-numbered-rows > li {
	counter-increment: threers-rows;
	position: relative;
	padding: 20px 0 20px 60px;
	border-bottom: 1px solid var(--3rs-rule);
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-list.is-style-numbered-rows > li::before {
	content: counter(threers-rows, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 25px;
	color: var(--3rs-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3em;
}

/* ---------- Separators ---------- */

hr.wp-block-separator.is-style-three-lines {
	width: 120px;
	max-width: 100%;
	height: 14px;
	border: 0;
	opacity: 1;
	background:
		linear-gradient(#D8187F, #D8187F) 0 0 / 100% 2px no-repeat,
		linear-gradient(#7820E2, #7820E2) 0 6px / 70% 2px no-repeat,
		linear-gradient(#1E90FF, #1E90FF) 0 12px / 40% 2px no-repeat;
}

hr.wp-block-separator.is-style-brand {
	height: 2px;
	border: 0;
	opacity: 1;
	background: var(--3rs-gradient);
}

/* ---------- Schedule tabs ---------- */

.wp-block-tabs.is-style-schedule .wp-block-tab-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: clamp(24px, 3vw, 40px);
}

.wp-block-tabs.is-style-schedule .wp-block-tab-list button {
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--3rs-chip-border);
	border-radius: 2px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--3rs-fg);
	transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

.wp-block-tabs.is-style-schedule .wp-block-tab-list button:hover {
	border-color: var(--3rs-hover);
	color: var(--3rs-hover);
}

.wp-block-tabs.is-style-schedule .wp-block-tab-list button[aria-selected="true"] {
	background: var(--3rs-fg);
	border-color: var(--3rs-fg);
	color: var(--3rs-bg);
}

.wp-block-tabs.is-style-schedule .wp-block-tab-list button[aria-selected="true"]::before {
	display: none;
}

/* "Schedule" heading and the day tabs share one row; tabs wrap below on phones. */
.schedule-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
}

.schedule-layout > .wp-block-heading {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	margin: 0;
}

.schedule-layout > .wp-block-tabs {
	display: contents;
}

.schedule-layout .wp-block-tab-list {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin: 0 !important;
}

.schedule-layout .wp-block-tab-panels {
	grid-column: 1 / -1;
	grid-row: 2;
	margin-top: 40px;
}

@media (max-width: 599px) {
	.schedule-layout {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
	}

	.schedule-layout .wp-block-tab-list {
		grid-column: 1;
		grid-row: 2;
	}

	.schedule-layout .wp-block-tab-panels {
		grid-row: 3;
		margin-top: 16px;
	}
}

/* A schedule entry: time, title with note, room. */
.schedule-item {
	display: grid !important;
	grid-template-columns: clamp(84px, 12vw, 160px) minmax(0, 1fr) auto;
	gap: 6px clamp(16px, 3vw, 40px);
	align-items: baseline;
}

.schedule-item > * {
	margin: 0 !important;
}

.schedule-item > .is-style-label:last-child {
	text-align: right;
}

@media (max-width: 599px) {
	.schedule-item {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.schedule-item > :nth-child(2) {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

/* ---------- FAQ accordion ---------- */

.wp-block-accordion.is-style-faq .wp-block-accordion-item {
	border-top: 1px solid var(--3rs-rule);
}

.wp-block-accordion.is-style-faq .wp-block-accordion-item:last-child {
	border-bottom: 1px solid var(--3rs-rule);
}

.wp-block-accordion.is-style-faq .wp-block-accordion-heading {
	margin: 0;
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}

.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle {
	min-height: 44px;
	padding: 24px 0;
	gap: 24px;
}

.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
	color: var(--3rs-hover);
}

.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle-icon {
	color: var(--wp--preset--color--blue);
	font-size: 28px;
	font-weight: 400;
}

.wp-block-accordion.is-style-faq .wp-block-accordion-panel {
	padding-bottom: 28px;
	max-width: 720px;
}

.wp-block-accordion.is-style-faq .is-open .wp-block-accordion-panel:not([hidden]) {
	animation: threers-rise 380ms var(--3rs-ease);
}

@keyframes threers-rise {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Staff filters ---------- */

.wp-block-term-template.is-style-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.wp-block-term-template.is-style-chips > li {
	margin: 0;
}

.wp-block-term-template.is-style-chips .wp-block-group {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--3rs-chip-border);
	border-radius: 2px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: border-color 220ms ease, color 220ms ease;
}

.wp-block-term-template.is-style-chips .wp-block-group:hover,
.wp-block-term-template.is-style-chips .wp-block-group:has(:focus-visible) {
	border-color: var(--3rs-hover);
	color: var(--3rs-hover);
}

.wp-block-term-template.is-style-chips .wp-block-term-name {
	margin: 0;
	font-size: inherit;
}

.wp-block-term-template.is-style-chips .wp-block-term-name a {
	color: inherit;
}

/* Extend the native link across the chip, including its count and padding. */
.wp-block-term-template.is-style-chips .wp-block-term-name a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.wp-block-term-template.is-style-chips .wp-block-term-count {
	opacity: 0.7;
	margin: 0;
}

.chip-count {
	opacity: 0.7;
}

.is-style-staff-grid > [hidden] {
	display: none !important;
}

/* ---------- Staff pop-up (theme.js) ---------- */

.staff-modal {
	width: calc(100% - 24px);
	max-width: 980px;
	max-height: calc(100dvh - 24px);
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	overflow: visible;
}

.staff-modal::backdrop {
	background: rgba(10, 10, 10, 0.82);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.staff-modal__panel {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	max-height: calc(100dvh - 24px);
	overflow: auto;
	background: #121212;
	border-top: 3px solid var(--wp--preset--color--purple);
}

.staff-modal__portrait {
	min-height: 320px;
	display: flex;
}

.staff-modal__portrait > * {
	flex: 1;
	margin: 0 !important;
	aspect-ratio: auto !important;
	height: 100%;
}

.staff-modal__portrait img {
	height: 100% !important;
}

.staff-modal__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: clamp(28px, 4vw, 48px);
}

.staff-modal__profile {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.staff-modal__profile > * {
	margin: 0;
}

/* Layout spacing is generated per page, so set it for content loaded into the pop-up. */
.staff-modal__profile .is-layout-flex {
	gap: 6px;
}

.staff-modal__profile .wp-block-post-content {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.staff-modal__profile .wp-block-post-content > .is-vertical {
	gap: 8px;
}

.staff-modal__name {
	font-size: var(--wp--preset--font-size--heading);
	line-height: 0.95;
}

.staff-modal__profile .wp-block-post-content > p:first-child {
	color: #D6D9DB;
	font-size: 17px;
	line-height: 1.6;
}

.staff-modal__pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.staff-modal__pager button,
.staff-modal__page {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	background: none;
	border: 1px solid #3A3A3A;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
}

.staff-modal__page {
	border-color: transparent;
	margin-left: auto;
}

.staff-modal__pager button:hover {
	border-color: var(--wp--preset--color--blue);
}

.staff-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--base);
	border: 1px solid #3A3A3A;
	color: var(--wp--preset--color--contrast);
	font-size: 22px;
	cursor: pointer;
}

.wp-block-term-template.is-style-chips .is-current .wp-block-group,
body.tax-staff_group .wp-block-term-template.is-style-chips .wp-block-group:has(a[aria-current]) {
	background: var(--3rs-fg);
	border-color: var(--3rs-fg);
	color: var(--3rs-bg);
}

/* ---------- Contact form block ---------- */

.threers-form__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.editor-styles-wrapper .threers-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.threers-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.threers-form__label {
	color: var(--3rs-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.threers-form input,
.threers-form select,
.threers-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	background: var(--wp--preset--color--graphite);
	border: 1px solid #3A3A3A;
	border-radius: 2px;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 16px;
}

.threers-form textarea {
	padding: 14px 16px;
	resize: vertical;
}

.threers-form input:focus,
.threers-form select:focus,
.threers-form textarea:focus {
	border-color: var(--wp--preset--color--blue);
	outline: 2px solid var(--wp--preset--color--blue);
	outline-offset: 0;
}

.threers-form__submit {
	align-self: flex-start;
}

.threers-form__submit .wp-block-button__link {
	min-height: 52px;
	padding: 0 28px;
	font-size: 14px;
	border: 0;
	cursor: pointer;
}

.threers-form__submit .wp-block-button__link[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.threers-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.threers-form__error {
	margin: 0;
	padding: 12px 16px;
	border-left: 3px solid var(--wp--preset--color--magenta);
	background: var(--wp--preset--color--graphite);
	color: var(--wp--preset--color--contrast);
}

.threers-form__success {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	border-top: 3px solid var(--wp--preset--color--blue);
	padding-top: 28px;
}

.threers-form__success[hidden] {
	display: none;
}

.threers-form__success-title {
	color: var(--3rs-heading);
	font-size: 36px;
	font-weight: 900;
	letter-spacing: -0.015em;
	line-height: 1;
	text-transform: uppercase;
}

.threers-form__success-text {
	color: var(--3rs-body);
	font-size: 17px;
}

.threers-form__success--preview {
	margin-top: 32px;
	opacity: 0.85;
}

.threers-form__hint {
	color: var(--3rs-muted);
	font-size: 12px;
}

/* ---------- Header ---------- */

header.wp-block-template-part:has(.site-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

.site-header {
	background: rgba(10, 10, 10, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	position: relative;
}

/* A backdrop filter would trap the full-screen menu inside the header. */
.site-header:has(.is-menu-open) {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: var(--wp--preset--color--base);
}

.site-header::after,
.site-header::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
}

.site-header::before {
	background: linear-gradient(90deg, rgba(216, 24, 127, 0.45), rgba(120, 32, 226, 0.45), rgba(30, 144, 255, 0.45));
}

.site-header::after {
	background: rgba(255, 255, 255, 0.3);
	transform-origin: left;
	transform: scaleX(var(--3rs-progress));
}

.site-header .wp-block-site-logo,
.site-overlay .wp-block-site-logo {
	width: 101px;
	max-width: 101px;
	flex: 0 0 101px;
}

.site-header .wp-block-site-logo img,
.site-overlay .wp-block-site-logo img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
}

/* Keep the configured Site Title in the header's block tree without changing
   the prototype's logo-only visual treatment. It remains editable in List View. */
.site-header .site-name-block {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Logo light trail (theme.js): a glowing gradient traces the letter edges. */
.logo-trail-host {
	position: relative;
	display: inline-block;
	line-height: 0;
}

.logo-trail {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
	filter: drop-shadow(0 0 3px rgba(164, 107, 255, 1)) drop-shadow(0 0 12px rgba(120, 32, 226, 0.75));
}

/* First page of a visit: the logo waits for the light trail (with a fallback if scripts fail). */
.threers-stinger-pending .site-header > .wp-block-site-logo img {
	opacity: 0;
	animation: threers-logo-fallback 1ms 2.5s forwards;
}

@keyframes threers-logo-fallback {
	to {
		opacity: 1;
	}
}

/* Sliding underline under the main menu (theme.js). */
.site-header ul.site-nav {
	position: relative;
}

.nav-bar {
	position: absolute;
	left: 0;
	bottom: 16px;
	width: 0;
	height: 2px;
	opacity: 0;
	pointer-events: none;
	background: var(--wp--preset--color--blue);
}

.site-header ul.site-nav.has-nav-bar .wp-block-navigation-item__content {
	border-bottom-color: transparent !important;
	transition: color 220ms ease;
}

.site-header ul.site-nav.has-nav-bar .wp-block-navigation-item:not(.current-menu-item) > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--contrast);
}

.site-header .wp-block-navigation-item__content {
	padding: 15px 14px;
	border-bottom: 2px solid transparent;
}

.site-header .wp-block-navigation-item__content:hover,
.site-header .current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--blue);
	border-bottom-color: var(--wp--preset--color--blue);
}

.site-header .wp-block-button__link {
	padding: 0 22px;
	font-size: 14px;
}

/* Collapse the menu into its overlay below laptop width (core only does this under 600px). */
@media (max-width: 1279px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid var(--wp--preset--color--line);
		border-radius: 2px;
	}

	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 32px var(--3rs-gutter);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
	align-items: stretch !important;
}

/* Custom menu overlay (Appearance → Editor → Patterns → Menu overlay). */
.wp-block-navigation__responsive-container.is-menu-open.disable-default-overlay {
	padding: 0;
}

.wp-block-navigation__responsive-container.is-menu-open.disable-default-overlay .wp-block-navigation__responsive-container-content {
	padding-top: 0;
	width: 100%;
}

.site-overlay {
	min-height: 100dvh;
	width: 100%;
}

.site-overlay .wp-block-navigation-overlay-close {
	width: 44px;
	height: 44px;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	color: var(--wp--preset--color--contrast);
}

.site-overlay .overlay-menu {
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 4px !important;
	align-items: stretch !important;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 10px 0 !important;
	border-bottom: 1px solid #1F1F1F;
	font-size: clamp(28px, 9vw, 40px);
	font-weight: 900;
	letter-spacing: -0.02em;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
}

.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

/* Desktop: logo | centered menu | Register. Below 1280px the menu button moves to the far right. */
.site-header > .site-nav {
	flex: 1 1 auto;
}

@media (max-width: 1279px) {
	.site-header > .site-nav {
		flex: 0 0 auto;
		order: 3;
	}

	.site-header > .site-cta {
		margin-left: auto;
	}
}

@media (max-width: 599px) {
	p.is-style-label {
		letter-spacing: 0.14em;
	}
}

@media (max-width: 559px) {
	.site-header .wp-block-button__link {
		padding: 0 12px;
		font-size: 12px;
		letter-spacing: 0.12em;
		white-space: nowrap;
	}
}

@media (max-width: 359px) {
	.site-header .wp-block-button__link {
		padding: 0 10px;
		font-size: 12px;
		letter-spacing: 0.06em;
	}

	.site-header .wp-block-site-logo,
	.site-overlay .wp-block-site-logo {
		width: 67px;
		max-width: 67px;
		flex-basis: 67px;
	}
}

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

.site-footer a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--steel);
}

.site-footer a:not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--blue);
}

.site-footer .footer-nav {
	flex: 1 1 min(100%, 560px);
	max-width: 760px;
}

.site-footer .footer-column-title a {
	color: var(--wp--preset--color--contrast);
}

.site-footer .footer-links p {
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
}

/* ---------- Motion ---------- */

.js-reveal .reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 650ms var(--3rs-ease), transform 650ms var(--3rs-ease);
	transition-delay: var(--reveal-delay, 0ms);
}

.js-reveal .reveal.is-visible {
	opacity: 1;
	transform: none;
}

.js-reveal hr.is-style-three-lines.reveal {
	opacity: 1;
	transform: scaleX(0);
	transform-origin: left;
	transition-duration: 900ms;
}

.js-reveal hr.is-style-three-lines.reveal.is-visible {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}

	.js-reveal .reveal {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Large screens and TVs ---------- */

@media (min-width: 2560px) {
	html {
		zoom: 1.35;
	}
}

@media (min-width: 3400px) {
	html {
		zoom: 1.8;
	}
}

/* ---------- Small phones and folded foldables ---------- */

@media (max-width: 400px) {
	.wp-block-button__link {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 320px) {
	:root:root {
		--wp--preset--font-size--display: 10.5vw;
		--wp--preset--font-size--section: 9vw;
	}
}

/* Reusable event countdown (also loaded in the block editor). */
.threers-countdown { padding: clamp(28px, 5vw, 64px) 0; border-top: 1px solid #1F1F1F; margin-bottom: 0; }
.threers-countdown__date { color: var(--3rs-muted); font-size: 14px; }
.threers-countdown__digits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(8px, 3vw, 40px); max-width: 800px; }
.threers-countdown__digits [data-unit] { display:block; font-size:clamp(30px, 7vw, 76px); font-weight:900; line-height:1.1; font-variant-numeric:tabular-nums; }
.threers-countdown__unit { display:block; margin-top:10px; font-size: 12px; letter-spacing:.12em; text-transform:uppercase; }
.threers-countdown [hidden] { display:none !important; }
footer > .threers-countdown { padding-left:var(--3rs-gutter); padding-right:var(--3rs-gutter); }

/* Keep each countdown centered wherever the block is inserted. */
.threers-countdown { text-align:center; }
.threers-countdown__digits { margin-inline:auto; }

/* Standalone version of the flare line above the homepage facts bar. */
hr.wp-block-separator.is-style-hero-divider {
    width: 100%;
    max-width: 100%;
    height: 2px;
    border: 0;
    opacity: 1;
    background: var(--wp--preset--gradient--brand-flare);
}

/* Countdown typography: shared editor and public rendering. */
.threers-countdown .threers-countdown__heading { font-size:var(--3rs-countdown-heading-size,12px); }
.threers-countdown .threers-countdown__date { font-size:var(--3rs-countdown-date-size,14px); }
.threers-countdown .threers-countdown__digits [data-unit] { font-size:clamp(8px, 7vw, var(--3rs-countdown-number-size,76px)); }
.threers-countdown .threers-countdown__unit { font-size:var(--3rs-countdown-unit-size,11px); overflow-wrap:anywhere; }
.threers-countdown .threers-countdown__started { font-size:var(--3rs-countdown-message-size,18px); }
.threers-countdown__digits { grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); }

/* Site rule: keep words intact; wrap only at normal word boundaries. */
body .wp-site-blocks,
body .wp-site-blocks *,
.editor-styles-wrapper,
.editor-styles-wrapper * {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

.footer-sections { gap:32px !important; align-items:flex-start !important; }
.footer-sections > .footer-section { flex:1 1 130px; min-width:0; }
.footer-sections > .wp-block-image { flex:0 1 240px; }
.editor-styles-wrapper .footer-section.is-selected { outline:2px solid var(--wp-admin-theme-color,#3858e9); outline-offset:8px; }

/* Footer sections retain their size and wrap instead of compressing. */
.footer-sections {
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:space-between;
    gap:40px 32px !important;
}
.footer-sections > .footer-section {
    flex:0 0 160px !important;
    width:160px;
    max-width:100%;
    min-width:0;
}
.footer-sections > .wp-block-image {
    flex:0 0 240px !important;
    width:240px;
    max-width:100%;
}
.footer-sections > .wp-block-image img { width:240px !important; max-width:100%; height:auto !important; }
.footer-sections .footer-column-title { font-size:12px; }
.footer-sections .footer-links p { font-size:15px; }
/* Keep countdown numbers at the chosen size; wrap whole cells on phones. */
footer .threers-countdown__digits {
    grid-template-columns:repeat(auto-fit, minmax(160px,160px));
    justify-content:center;
    max-width:800px;
}
footer .threers-countdown__digits [data-unit] {
    font-size:var(--3rs-countdown-number-size,76px);
}
@media (max-width:600px) {
    .footer-sections { justify-content:flex-start; }
}
@media (max-width:600px) {
    .footer-sections { column-gap:24px !important; }
}

/* Brand typography defaults apply equally to existing and newly inserted headings. */
:root:root { --wp--preset--font-size--xx-large:clamp(20px,2.2vw,26px); --wp--preset--font-size--x-large:clamp(20px,2.2vw,26px); }
.wp-site-blocks h1:not(.is-style-eyebrow), .editor-styles-wrapper h1:not(.is-style-eyebrow) { font-size:var(--wp--preset--font-size--display) !important; font-weight:900; letter-spacing:-.02em; }
.wp-site-blocks h2:not(.is-style-eyebrow), .editor-styles-wrapper h2:not(.is-style-eyebrow) { font-size:var(--wp--preset--font-size--heading) !important; font-weight:900; letter-spacing:-.015em; }
.wp-site-blocks h3:not(.is-style-eyebrow), .wp-site-blocks h4:not(.is-style-eyebrow), .editor-styles-wrapper h3:not(.is-style-eyebrow), .editor-styles-wrapper h4:not(.is-style-eyebrow) { font-size:var(--wp--preset--font-size--x-large) !important; font-weight:700 !important; letter-spacing:0; }
.site-header .wp-block-site-logo, .site-overlay .wp-block-site-logo { width:120px; max-width:120px; flex:0 0 120px; }
.site-header .wp-block-navigation-item__content, .site-footer a, .wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-height:44px; min-width:44px; display:inline-flex; align-items:center; }
.site-footer .footer-links p { min-height:44px; }
.site-header .wp-block-button__link { min-height:44px; display:inline-block; box-sizing:border-box; }
.wp-site-blocks p[style*="font-size:11px"], .editor-styles-wrapper p[style*="font-size:11px"] { font-size:12px !important; }
.wp-block-button:not(.trs-custom-button):not(.is-style-text-link):not(.is-style-arrow):not(.is-style-chip) > a.wp-block-button__link:not([href*="/register"]):not([href="#passes"]) { background:transparent !important; border:1px solid var(--wp--preset--color--purple); color:var(--3rs-fg,var(--wp--preset--color--contrast)); }
@media(max-width:559px) { .site-header { gap:12px !important; flex-wrap:wrap !important; } .site-header .wp-block-button__link { font-size:14px; letter-spacing:.06em; } }
.site-header .wp-block-site-logo > a, .site-overlay .wp-block-site-logo > a { display:block; width:100%; }

/* Feature boxes: equal-width cards, automatically reflow when cards change. */
.threers-feature-boxes {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)) !important;
    gap:32px !important;
    justify-content:center;
    align-items:stretch;
}
.threers-feature-boxes > .wp-block-group { min-width:0; width:100%; box-sizing:border-box; }

/* Separator graphics can be positioned independently without floating text. */
hr.wp-block-separator.is-style-three-lines.alignleft,
hr.wp-block-separator.is-style-brand.alignleft,
hr.wp-block-separator.is-style-hero-divider.alignleft { float:none; margin-left:0 !important; margin-right:auto !important; align-self:flex-start; }
hr.wp-block-separator.is-style-three-lines.aligncenter,
hr.wp-block-separator.is-style-brand.aligncenter,
hr.wp-block-separator.is-style-hero-divider.aligncenter { float:none; margin-left:auto !important; margin-right:auto !important; align-self:center; }
hr.wp-block-separator.is-style-three-lines.alignright,
hr.wp-block-separator.is-style-brand.alignright,
hr.wp-block-separator.is-style-hero-divider.alignright { float:none; margin-left:auto !important; margin-right:0 !important; align-self:flex-end; }
.threers-intro-row { align-items:flex-end !important; gap:32px !important; }
.threers-intro-row > .wp-block-group { flex:0 1 auto; min-width:0; }
.threers-intro-row > hr.is-style-three-lines { flex:0 0 120px; margin-top:0 !important; margin-bottom:0 !important; }

/* Direct-manipulation width handle, editor only; never saved in page content. */
.editor-styles-wrapper .threers-resizable-box { position:relative; }
.editor-styles-wrapper .threers-box-resize-handle {
    position:absolute !important; right:-8px; top:50%; transform:translateY(-50%);
    width:16px !important; min-width:16px; height:48px; padding:0 !important;
    background:#3858e9; border:2px solid white; border-radius:6px;
    box-shadow:0 0 0 1px #3858e9; cursor:ew-resize; z-index:100;
    touch-action:none; user-select:none;
}
.editor-styles-wrapper .threers-box-resize-handle:focus-visible { outline:3px solid #1e90ff; outline-offset:3px; }

/* Build Your Weekend reference treatment. Intro layout and motif stay intact. */
.threers-weekend-design.is-style-section-light {
    --3rs-heading:#F4F2ED; --3rs-body:#A7AFB4; --3rs-muted:#A7AFB4;
    --3rs-fg:#F4F2ED; --3rs-bg:#0A0A0A; --3rs-rule:#2A2A2A;
    --3rs-eyebrow:#A7AFB4; --3rs-hover:#1E90FF;
    background:#0A0A0A; color:#F4F2ED;
}
.threers-weekend-design .threers-intro-row h2 {
    font-size:clamp(44px,6.5vw,100px) !important;
    font-weight:900; line-height:.98; letter-spacing:-.02em;
    max-width:10ch;
}
.threers-weekend-design .threers-feature-boxes { margin-top:clamp(48px,6vw,96px); gap:24px !important; }
.threers-weekend-design .threers-feature-boxes > .wp-block-group {
    --track-color:#1E90FF;
    padding:clamp(24px,3.2vw,48px) !important;
    border:1px solid #183447;
    background:#0e1114;
    gap:24px !important;
    position:relative;
}
.threers-weekend-design .threers-feature-boxes > .wp-block-group:nth-child(2) { --track-color:#7820E2; background:#110e15; border-color:#30203f; }
.threers-weekend-design .threers-feature-boxes > .wp-block-group:nth-child(3) { --track-color:#D8187F; background:#150e12; border-color:#42182e; }
.threers-weekend-design .threers-feature-boxes > .wp-block-group::before { content:""; display:block; width:56px; height:3px; background:var(--track-color); margin-bottom:4px; }
.threers-weekend-design .threers-feature-boxes > .wp-block-group > .is-style-label { color:var(--track-color); font-size:14px; letter-spacing:.2em; }
.threers-weekend-design .threers-feature-boxes h3 { color:#F4F2ED; font-size:clamp(26px,3vw,44px) !important; font-weight:900 !important; letter-spacing:-.02em; line-height:1; }
.threers-weekend-design .threers-feature-boxes p { color:#A7AFB4; font-size:18px; line-height:1.55; }
.threers-weekend-design .threers-feature-boxes p:has(> strong) { color:var(--track-color); }
.threers-weekend-design .threers-feature-boxes > .wp-block-group > p:last-child { margin-top:auto; padding-top:32px; color:var(--track-color); font-size:14px !important; }
.threers-weekend-design .threers-feature-boxes a { color:var(--track-color); }
.threers-weekend-design .threers-feature-boxes em { font-style:normal; }
.threers-weekend-design .threers-weekend-accent { display:block; color:#7820E2; }

.hero-event-date {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.25em 0.65em;
    line-height:1.4;
}
.hero-event-date > span { white-space:nowrap; }
.hero-event-date .hero-event-date__divider { color:var(--wp--preset--color--steel); }
.hero-event-date .hero-event-date__date { color:var(--wp--preset--color--magenta); }

/* A true vertical rule, extending slightly beyond the location/date text. */
.hero-event-date { align-items:center; }
.hero-event-date .hero-event-date__divider {
    display:inline-block;
    flex:0 0 1px;
    width:1px;
    height:1.3em;
    overflow:hidden;
    font-size:inherit;
    line-height:1;
    color:transparent;
    background:var(--wp--preset--color--steel);
}

/* Opening composition: full-screen photo, with copy anchored bottom left. */
body.home header.wp-block-template-part:has(.site-header) {
    margin-bottom:calc(-1 * var(--3rs-header-height,96px));
}
body.home .wp-block-cover.is-style-brand-wash {
    padding:0 !important;
    min-height:calc(100svh - var(--wp-admin--admin-bar--height,0px)) !important;
    overflow:visible;
}
body.home .wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child {
    min-height:calc(100svh - var(--wp-admin--admin-bar--height,0px));
    box-sizing:border-box;
    justify-content:flex-end !important;
    align-items:flex-start;
    padding-top:calc(var(--3rs-header-height,96px) + 32px) !important;
    padding-bottom:clamp(32px,5vh,64px) !important;
    gap:clamp(16px,2.2vh,28px);
}
body.home .wp-block-cover.is-style-brand-wash .photo-credit { top:calc(var(--3rs-header-height,96px) + 16px); }
body.home .wp-block-cover.is-style-brand-wash h1 { max-width:12ch; margin-left:0; margin-right:auto; }
body.home .wp-block-cover.is-style-brand-wash .hero-event-date { margin-left:0; }
body.home .wp-block-cover.is-style-brand-wash .is-style-facts-bar { width:100%; }
@media(max-height:650px) {
    body.home .wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child { padding-bottom:24px !important; gap:14px; }
}

/* Compact hero copy into the lower half of a typical desktop viewport. */
body.home .wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child {
    gap:12px;
    padding-bottom:32px !important;
}
body.home .wp-block-cover.is-style-brand-wash h1 { font-size:clamp(44px,5.6vw,88px) !important; line-height:.9; }
body.home .wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child > * { margin-block-start:0; }
.editor-styles-wrapper .threers-block-gap-handle {
 position:absolute !important; bottom:-10px; left:50%; transform:translateX(-50%);
 width:48px; height:16px; padding:0 !important; border:2px solid white;
 border-radius:6px; background:#3858e9; box-shadow:0 0 0 1px #3858e9;
 cursor:ns-resize; z-index:101; touch-action:none;
}

/* Hero balance between the oversized and compact lower-left compositions. */
body.home .wp-block-cover.is-style-brand-wash > .wp-block-cover__inner-container > .wp-block-group:first-child {
    gap:18px;
    padding-bottom:40px !important;
}
body.home .wp-block-cover.is-style-brand-wash h1 {
    font-size:clamp(44px,6.5vw,104px) !important;
    line-height:.9;
}

/* Front-end focus follows keyboard modality, including WordPress core links. */
body:not(.wp-admin) :focus:not(:focus-visible) {
 outline: none !important;
 box-shadow: none !important;
}
body:not(.wp-admin) :focus-visible {
 outline: 2px solid #F4F2ED !important;
 outline-offset: 2px !important;
 box-shadow: 0 0 0 5px #0A0A0A !important;
}
/* A pointer-driven submenu can restore focus to its toggle as it closes. */
body:not(.wp-admin) .site-header .trs-pointer-navigation .wp-block-navigation-submenu__toggle:focus{outline:none!important;box-shadow:none!important;}
/* Keep selected chip labels and counts on the approved black/soft-white pair.
   Explicit paragraph colors must not override the inverted selected state. */
.wp-block-term-template.is-style-chips .is-current .wp-block-group,
body.tax-staff_group .wp-block-term-template.is-style-chips .wp-block-group:has(a[aria-current]) {
 background: #F4F2ED;
 border-color: #F4F2ED;
 color: #0A0A0A;
}
.wp-block-term-template.is-style-chips .is-current .wp-block-group *,
body.tax-staff_group .wp-block-term-template.is-style-chips .wp-block-group:has(a[aria-current]) * {
 color: #0A0A0A;
 opacity: 1;
}

/* Feature-card link hover accents follow their own track color. */
.threers-weekend-design .threers-feature-boxes > .wp-block-group {
 --3rs-hover: var(--track-color);
}
.threers-weekend-design .threers-feature-boxes a:hover,
.threers-weekend-design .threers-feature-boxes a:focus-visible {
 color: var(--track-color);
 text-decoration-color: var(--track-color);
}

/* Balanced stats-strip rhythm, independent of paragraph default margins. */
.is-style-facts-bar .is-style-link-card {
 padding-block:28px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 gap:8px;
}
.is-style-facts-bar .is-style-link-card > * { margin-block:0 !important; }
.is-style-facts-bar .is-layout-grid { align-items:stretch; }

/* Reflow editable footer groups into predictable columns instead of fixed-width rows. */
.site-footer .footer-sections {
 display:grid !important;
 grid-template-columns: minmax(180px,1.5fr) repeat(5,minmax(0,1fr));
 gap:40px 24px !important;
}
.site-footer .footer-sections > .footer-section,
.site-footer .footer-sections > .wp-block-image {
 width:auto;
 min-width:0;
 max-width:100%;
}
.site-footer .footer-links { gap:0 !important; }
.site-footer .footer-links p { margin:0; }
.site-footer .footer-links a { white-space:normal; }
footer .threers-countdown__digits {
 grid-template-columns:repeat(4,minmax(0,160px));
 width:100%;
 max-width:800px;
 box-sizing:border-box;
}
@media(max-width:1200px) {
 .site-footer .footer-sections { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .site-footer .footer-sections > .wp-block-image { grid-column:1/-1; }
}
@media(max-width:700px) {
 .site-footer .footer-sections { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px !important; }
 .site-footer { padding-top:40px !important; }
 footer .threers-countdown__digits { grid-template-columns:repeat(2,minmax(0,160px)); gap:24px 16px; }
 .is-style-facts-bar .is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 .is-style-facts-bar .is-style-link-card { padding-block:20px; }
 .site-footer > .wp-block-group:not(.footer-sections) { gap:24px !important; }
}
@media(max-width:360px) {
 .site-footer .footer-sections { grid-template-columns:minmax(0,1fr); }
 footer .threers-countdown__digits [data-unit] { font-size:min(var(--3rs-countdown-number-size,76px),18vw); }
}

/* Keep the intro image's scale animation inside the hero boundary. */
body.home .wp-block-cover.is-style-brand-wash { overflow:hidden; }
body.home .wp-block-cover.is-style-brand-wash .is-style-facts-bar {
 background:#0A0A0A;
}
body.home .entry-content > .wp-block-cover.is-style-brand-wash + .wp-block-group {
 margin-block-start:0;
}

/* Footer navigation: compact columns on desktop, disclosure rows on phones. */
.site-footer { padding-block:48px 20px !important; }
.site-footer .footer-sections {
 grid-template-columns:minmax(170px,1.3fr) repeat(5,minmax(0,1fr));
 align-items:start; gap:24px !important; padding-bottom:32px !important;
}
.site-footer .footer-sections > .wp-block-image { grid-column:auto; margin:8px 0 0; padding:0; border:0; }
.site-footer .footer-sections > .wp-block-image img { width:170px !important; }
.site-footer .footer-section { align-self:start; gap:4px !important; }
.site-footer .footer-column-title { margin:0; letter-spacing:.16em; }
.site-footer .footer-column-title a { color:#a66aff; font-size:13px; font-weight:700; }
.site-footer .footer-links { width:100%; align-items:stretch; }
.site-footer .footer-links a { box-sizing:border-box; padding:0; min-height:44px; line-height:1.4; font-size:14px; }
.site-footer .footer-toggle, .site-footer .footer-overview { display:none; }
.site-footer > .wp-block-group:not(.footer-sections) { margin-block:0 !important; padding-block:20px !important; gap:24px !important; align-items:center; }
.site-footer > .wp-block-group:not(.footer-sections) > .is-vertical { gap:12px !important; }
.site-footer .wp-block-image.wsdc-logo,
.site-footer .license-logos > .wp-block-image { flex:none; margin:0; }
.site-footer .license-logos { gap:16px !important; }
/* Keep copyright and utility links together, independently of logo height. */
.site-footer .footer-legal p { margin:0; }
.site-footer .footer-legal-details { display:flex; width:100%; justify-content:space-between; align-items:center; gap:8px 24px; }
.site-footer .footer-legal-details > .wp-block-group { display:flex; flex-wrap:wrap; gap:0 20px !important; margin:0; }
@media(max-width:1100px) {
 .site-footer .footer-sections { grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px !important; }
 .site-footer .footer-legal { display:flex !important; flex-wrap:nowrap; justify-content:flex-start; align-items:flex-start !important; gap:28px !important; }
 .site-footer .footer-legal > .footer-brand-logo { width:120px; flex:0 0 120px; margin:0; }
 .site-footer .footer-legal > .footer-brand-logo img { width:120px; height:auto; }
 .site-footer .footer-legal-details { flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:4px; }
}
@media(max-width:700px) {
 .site-footer { padding-top:20px !important; }
 .site-footer .footer-sections { display:block !important; padding-bottom:0 !important; }
 .site-footer .footer-section { display:block; border-bottom:1px solid #262626; margin:0 !important; }
 .site-footer .footer-section:last-child { border-bottom:0; }
 .site-footer .footer-column-title { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; }
 .site-footer .footer-toggle { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:56px; padding:0; border:0; background:none; color:#a66aff; font-family:inherit; font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; text-align:left; cursor:pointer; flex-shrink:0; }
 .site-footer .footer-toggle::after { content:'+'; font-size:22px; font-weight:400; line-height:1; }
 .site-footer .footer-toggle[aria-expanded="true"]::after { transform:rotate(45deg); }
 @media(prefers-reduced-motion:no-preference){.site-footer .footer-toggle::after{transition:transform .2s ease-in-out}}
 .site-footer .footer-section.is-collapsed .footer-links { display:none; }
 .site-footer .footer-section:not(.is-collapsed) .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:12px; gap:0 20px !important; }
 .site-footer .footer-column-title > a { display:none; }
 .site-footer .footer-overview { display:block; grid-column:1/-1; }
 .site-footer > .wp-block-group:not(.footer-sections):not(.footer-legal) { flex-wrap:wrap; gap:20px 32px !important; }
 .site-footer .footer-legal > .footer-brand-logo { width:100px; flex-basis:100px; }
 .site-footer .footer-legal > .footer-brand-logo img { width:100px; }
}
@media(max-width:600px) {
 .site-footer .footer-legal { flex-direction:column; align-items:center !important; gap:16px !important; }
 .site-footer .footer-legal > .footer-brand-logo { flex-basis:auto; }
 .site-footer .footer-legal-details { align-items:center; text-align:center; gap:8px; }
 .site-footer .footer-legal-details > p { font-size:12px; }
 .site-footer .footer-legal-details > .wp-block-group { justify-content:center; gap:0 16px !important; font-size:12px; }
}

/* Align utility-link text closely with the copyright while retaining touch targets. */
@media(max-width:1100px) {
 .site-footer .footer-legal-details { gap:0; }
 .site-footer .footer-legal-details > p { line-height:1.5; }
 .site-footer .footer-legal-details > .wp-block-group { margin-top:0; }
 .site-footer .footer-legal-details > .wp-block-group a {
  min-height:44px;
  box-sizing:border-box;
  align-items:flex-start;
  padding-top:6px;
  line-height:1.5;
 }
}

/* Countdown and footer navigation share the same quiet section rules. */
footer .threers-countdown + .site-footer { margin-block-start:0; border-top-color:#1F1F1F; }

/* Homepage portraits retain their desktop scale when the grid wraps. */
body.home .is-style-staff-grid { grid-template-columns:repeat(4,minmax(0,280px)) !important; justify-content:center; }
@media(max-width:1100px) {
 body.home .is-style-staff-grid { grid-template-columns:repeat(2,minmax(0,280px)) !important; }
}
@media(max-width:480px) {
 body.home .is-style-staff-grid { grid-template-columns:minmax(0,260px) !important; }
}

/* Native Cover variation: only the photograph is darkened. */
.wp-block-cover.is-style-registration-lights {
 background:#0A0A0A;
 min-height:520px;
 padding:clamp(40px,5vw,72px) var(--3rs-gutter,24px);
 overflow:hidden;
}
.wp-block-cover.is-style-registration-lights > .wp-block-cover__image-background { filter:brightness(0.18); }
.is-style-registration-lights .wp-block-cover__inner-container { text-align:center; }
.is-style-registration-lights .registration-lights-title {
 font-size:clamp(52px,8vw,144px);
 line-height:1.05;
 letter-spacing:-.035em;
 margin:0 auto 40px;
 color:#F4F2ED;
}
.is-style-registration-lights .wp-block-buttons { margin-block:0 32px; }
.is-style-registration-lights p { margin-block:8px 0; color:#c5c3c8; }
.is-style-registration-lights .is-style-eyebrow { font-size:12px; color:#aaa4b4; }
@media(max-width:600px) {
 .wp-block-cover.is-style-registration-lights { min-height:500px; }
}
.wp-site-blocks .is-style-registration-lights h2.registration-lights-title,
.editor-styles-wrapper .is-style-registration-lights h2.registration-lights-title {
 font-size:clamp(52px,8vw,144px) !important;
 letter-spacing:-.035em;
}

/* Registration closes with one fine brand-gradient rule at the image edge. */
.wp-block-cover.is-style-registration-lights::after {
 content:"";
 position:absolute;
 inset:auto 0 0;
 height:1px;
 background:linear-gradient(to right,transparent,rgb(30,144,255),rgb(90,21,181),rgb(120,32,226),transparent);
 opacity:.5;
 z-index:2;
 pointer-events:none;
}
body.home:has(.is-style-registration-lights):not(:has(.threers-contact-section)) footer .threers-countdown {
 border-top:0;
}

.threers-contact-section { padding:clamp(36px,4vw,64px) var(--3rs-gutter,24px); margin-block:0 !important; }
.threers-contact-section > .wp-block-columns { gap:clamp(32px,7vw,100px); margin:0 auto; }
.wp-site-blocks .threers-contact-section h2,
.editor-styles-wrapper .threers-contact-section h2 { font-size:clamp(48px,6vw,88px) !important; line-height:1.03; margin:0 0 36px; }
.threers-contact-section .wp-block-column > p { max-width:430px; line-height:1.7; }
.threers-contact-section .is-style-eyebrow { color:#a66aff; margin-top:32px; }
.threers-contact-section .threers-form__form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.threers-contact-section .threers-form__field { display:flex; flex-direction:column; gap:8px; margin:0; }
.threers-contact-section .threers-form__field:has(select),
.threers-contact-section .threers-form__field:has(textarea),
.threers-contact-section .threers-form__submit,
.threers-contact-section .threers-form__error { grid-column:1/-1; }
.threers-contact-section .threers-form__label { font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#aaa; }
.threers-contact-section input,.threers-contact-section select,.threers-contact-section textarea { width:100%; box-sizing:border-box; min-height:48px; padding:12px 16px; background:#191919; border:1px solid #393939; color:#F4F2ED; font:inherit; border-radius:0; }
.threers-contact-section textarea { min-height:145px; resize:vertical; }
.threers-contact-section .threers-form__submit button { width:100%; background:transparent; border:1px solid #a66aff; color:#F4F2ED; cursor:pointer; }
.threers-contact-section .threers-form__submit button:hover { background:#241334; }
.threers-contact-section [hidden] { display:none !important; }
@media(max-width:900px) {
 .threers-contact-section > .wp-block-columns { flex-direction:column; }
 .threers-contact-section .wp-block-column { flex-basis:auto !important; }
}
@media(max-width:480px) { .threers-contact-section .threers-form__form { grid-template-columns:minmax(0,1fr); } }

/* Give the native subject picker a consistently inset chevron. */
.threers-contact-section select {
 appearance:none;
 -webkit-appearance:none;
 padding-right:48px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23c5c3c8' stroke-width='1.5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 16px center;
 background-size:12px 8px;
}
@media(forced-colors:active) {
 .threers-contact-section select { appearance:auto; background-image:none; }
}

/* Equal breathing room around the countdown; paragraph margins must not add to it. */
.threers-countdown {
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:20px;
 padding-block:clamp(24px,3vw,40px);
 margin-block:0;
}
.threers-countdown > * { margin-block:0; }
.threers-countdown > .threers-countdown__digits { margin-inline:auto; }
footer:has(> .threers-countdown) { margin-block-start:0; }

/* Constant Contact's native form shares the contact section design. */
:is(.threers-contact-section,#contact) .ctct-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0; margin:0; }
:is(.threers-contact-section,#contact) .ctct-form-field { margin:0; max-width:none; }
:is(.threers-contact-section,#contact) .ctct-form-field:nth-of-type(n+3) { grid-column:1/-1; }
:is(.threers-contact-section,#contact) .ctct-form label { display:block; margin-bottom:8px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#aaa; }
:is(.threers-contact-section,#contact) .ctct-form input:not([type="submit"]),
:is(.threers-contact-section,#contact) .ctct-form select,
:is(.threers-contact-section,#contact) .ctct-form textarea { background-color:#191919; border:1px solid #393939; color:#F4F2ED; width:100%; border-radius:0; }
:is(.threers-contact-section,#contact) .ctct-form .ctct-submit { background:transparent; border:1px solid #a66aff; color:#F4F2ED; text-transform:uppercase; letter-spacing:.16em; font-weight:700; cursor:pointer; }
:is(.threers-contact-section,#contact) .ctct-form .ctct-submit:disabled { cursor:not-allowed; opacity:.65; }
:is(.threers-contact-section,#contact) .ctct-textarea-warning-label,:is(.threers-contact-section,#contact) .contact-preview-note { color:#aaa; font-size:12px; }
@media(max-width:480px) { :is(.threers-contact-section,#contact) .ctct-form { grid-template-columns:minmax(0,1fr); } }
:is(.threers-contact-section,#contact) .ctct-form .ctct-submit[data-dev-preview]:disabled {
 background-image:none !important;
 color:#F4F2ED !important;
 text-indent:0 !important;
}

/* Keep the homepage tagline box on the hero's left content edge. */
.wp-block-cover.is-style-brand-wash .is-layout-constrained > .hero-intro {
 margin-left:0!important;
 margin-right:auto!important;
}

/* Quiet topic boundaries: neutral hairlines, native editable Separator blocks. */
.wp-block-separator.threers-topic-divider {
 width:calc(100% - 2 * var(--3rs-gutter,24px));
 max-width:var(--wp--style--global--content-size,1312px);
 margin-inline:auto;
 border:0;
 height:1px;
 opacity:1;
}

/* Section-divider system: content-width neutral hairlines. Brand motifs retain their own geometry. */
.entry-content > hr.wp-block-separator:not(.is-style-three-lines):not(.is-style-brand):not(.is-style-hero-divider) {
 width:calc(100% - 2 * var(--3rs-gutter,24px));
 max-width:var(--wp--style--global--content-size,1192px);
 margin-inline:auto;
 height:1px;
 border:0;
 background:#303030;
 color:#303030;
 opacity:1;
}

/* Brand magenta / blue separation with deeper photographic shadows. */
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait {
 background:linear-gradient(135deg,
  color-mix(in srgb,var(--staff-duotone-magenta,#D8187F) 55%,#667178) 0%,
  color-mix(in srgb,var(--staff-duotone-blue,#1E90FF) 85%,#667178) 65%,
  color-mix(in srgb,var(--staff-duotone-blue,#1E90FF) 90%,#667178) 100%);
 isolation:isolate;
}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img {
 position:relative;
 z-index:0;
 object-position:center top;
 filter:grayscale(1) contrast(1.16) brightness(.96);
 mix-blend-mode:multiply;
 transition:filter 320ms ease;
}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::before {
 content:"";
 position:absolute;
 inset:0;
 z-index:1;
 pointer-events:none;
 background:#7820E2;
 mix-blend-mode:screen;
 opacity:calc(var(--staff-duotone-strength,.5) * .4);
 transition:opacity 320ms ease;
}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::after {z-index:2}
.is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image {background:#F4F2ED}
.is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image img {filter:none;mix-blend-mode:normal}
.is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image::before {opacity:0}
.staff-duotone-controls {grid-column:1/-1; padding:16px; border:1px solid #667178; background:#fff; color:#0A0A0A; display:flex; flex-wrap:wrap; gap:16px; align-items:center}
.staff-duotone-controls label {display:flex; align-items:center; gap:8px}
/* Text-only support roster: native blocks remain editable on the page canvas. */
.trs-support-staff {background:#0A0A0A;color:#F4F2ED;padding:clamp(36px,5vw,64px) var(--3rs-gutter,24px);margin-block:0}
.trs-support-staff__intro {border-top:1px solid #303030;padding-top:clamp(28px,4vw,48px);margin-bottom:32px}
.trs-support-staff__eyebrow {color:#1E90FF;font-size:13px;font-weight:700;letter-spacing:.22em;line-height:1.5}
.trs-support-staff__intro h2 {font-size:clamp(36px,4vw,52px);font-weight:900;letter-spacing:-.015em;line-height:1.05;margin-block:12px 16px}
.trs-support-staff__intro > p:last-child {font-size:18px;line-height:1.55;max-width:620px}
.trs-support-staff__roles {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,6vw,88px);row-gap:0}
.trs-support-staff__roles > .trs-support-staff__role {margin:0;padding:24px 0;border-top:1px solid #303030;min-width:0}
.trs-support-staff__role h3 {font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;margin:0 0 10px}
.trs-support-staff__role p {font-size:17px;line-height:1.55;margin:3px 0;color:#F4F2ED}
.trs-support-staff__roles > .wp-block-separator {grid-column:1/-1;width:100%;margin-block:12px;border-color:#303030}
.trs-support-editor-tools {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;margin-block:8px;background:#F4F2ED;color:#0A0A0A;border-left:3px solid #1E90FF;font-size:14px;grid-column:1/-1}
.trs-support-editor-tools button {min-height:44px;background:#F4F2ED;color:#0A0A0A;border:1px solid #667178;border-radius:3px;padding:8px 12px;cursor:pointer}
.trs-support-editor-tools strong {color:#0A0A0A!important;font-size:14px!important;min-width:76px}
@media(max-width:650px){.trs-support-staff__roles{grid-template-columns:minmax(0,1fr)}.trs-support-staff__roles > .trs-support-staff__role{padding-block:20px}}
@media(prefers-reduced-motion:reduce){.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img,.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::before{transition:none}}
/* Page-owned staff photo sizing and editable brand accent. */
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait {
 height:var(--staff-photo-height,auto) !important;
 max-height: min(var(--staff-photo-height,10000px),120vw);
}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img {height:100% !important;object-fit:cover;}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::after {
 background:var(--staff-bar-gradient,var(--3rs-gradient));height:var(--staff-bar-height,3px);
}
.trs-gradient-divider {border:0;overflow:hidden;}
.editor-styles-wrapper .trs-gradient-divider {min-width:80px;}
.trs-layout-controls {padding:20px;background:#F4F2ED;color:#0A0A0A;border:1px solid #667178;grid-column:1/-1;max-width:100%;box-sizing:border-box;}
.trs-layout-controls p {color:#0A0A0A;font-size:14px;}
.trs-gradient-controls {max-width:420px;}
.editor-styles-wrapper .trs-padding-handle {
 position:absolute;left:50%;transform:translateX(-50%);z-index:101;min-height:24px;
 border:1px solid #F4F2ED;background:#0A0A0A;color:#F4F2ED;padding:3px 10px;font:12px/1.4 sans-serif;
 touch-action:none;cursor:ns-resize;white-space:nowrap;
}
.editor-styles-wrapper .trs-padding-top {top:0;}
.editor-styles-wrapper .trs-padding-bottom {bottom:0;}
.editor-styles-wrapper .trs-padding-handle:focus-visible {outline:3px solid #1E90FF;outline-offset:2px;}

/* Always available in the page canvas, including repeated Query Loop previews. */
.editor-styles-wrapper .trs-photo-height-handle {
 position:absolute!important;bottom:0;left:50%;transform:translateX(-50%);z-index:20;
 display:block!important;pointer-events:auto!important;touch-action:none;cursor:ns-resize;
 min-height:26px;padding:3px 12px;border:1px solid #F4F2ED;border-radius:4px 4px 0 0;
 background:#0A0A0A;color:#F4F2ED;font:12px/1.4 sans-serif;white-space:nowrap;opacity:.8;
}
.editor-styles-wrapper .trs-photo-height-handle:is(:hover,:focus-visible) {opacity:1;outline:2px solid #1E90FF;outline-offset:1px;}
.trs-spacing-fields {border:1px solid #667178;padding:12px;margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.trs-spacing-fields legend {font-weight:600;padding:0 6px;}
@media(max-width:600px){.trs-spacing-fields{grid-template-columns:1fr;}}
.is-style-staff-grid {column-gap:var(--staff-column-gap,var(--wp--preset--spacing--40)) !important;}
.editor-styles-wrapper .is-style-staff-grid {position:relative;}
.editor-styles-wrapper .trs-grid-gap-handle {
 position:absolute!important;z-index:110;transform:translate(-50%,-50%);pointer-events:auto!important;
 cursor:move;touch-action:none;background:#0A0A0A;color:#F4F2ED;border:1px solid #F4F2ED;
 border-radius:4px;padding:5px 8px;min-height:28px;font:12px/1.4 sans-serif;white-space:nowrap;
}
.editor-styles-wrapper .trs-grid-gap-handle:focus-visible {outline:3px solid #1E90FF;}
.trs-gradient-divider[data-gradient-motion="flow"] {background-size:200% 100%!important;animation:trs-gradient-flow var(--gradient-speed,2s) ease-in-out infinite alternate;}
.trs-gradient-divider[data-gradient-motion="hover"] {background-size:200% 100%!important;transition:background-position var(--gradient-speed,2s) ease;}
.trs-gradient-divider[data-gradient-motion="hover"]:hover {background-position:100% 50%!important;}
@keyframes trs-gradient-flow {from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.trs-gradient-divider{animation:none!important;transition:none!important;}}
/* Staff grid settings stay in the sidebar; one change affects the whole grid. */
.interface-interface-skeleton__sidebar .trs-layout-controls {padding:0;border:0;background:transparent;color:inherit;}
.interface-interface-skeleton__sidebar .trs-layout-controls p {color:inherit;}
.trs-sidebar-color {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px;}
.trs-sidebar-color input {width:44px;height:36px;padding:2px;}
.is-style-staff-grid .wp-block-post-featured-image::after {transition-duration:var(--staff-bar-speed,.52s);}
.is-style-staff-grid:is([data-staff-bar-motion="still"],[data-staff-bar-motion="flow"]) .wp-block-post-featured-image::after {transform:scaleX(1);}
.is-style-staff-grid[data-staff-bar-motion="flow"] .wp-block-post-featured-image::after {background-size:200% 100%;animation:trs-gradient-flow var(--staff-bar-speed,2s) ease-in-out infinite alternate;}
@media(prefers-reduced-motion:reduce){.is-style-staff-grid .wp-block-post-featured-image::after{animation:none!important;transition:none!important;}}
/* Padding handles use distinct positions; the margin handle no longer overlaps. */
.editor-styles-wrapper .trs-padding-handle {pointer-events:auto!important;z-index:120;min-height:28px;max-width:90%;}
.editor-styles-wrapper .trs-padding-top {top:4px;}
.editor-styles-wrapper .trs-padding-bottom {bottom:4px;}
.editor-styles-wrapper .threers-block-gap-handle {left:20%;}
.editor-styles-wrapper .trs-padding-dragging {outline:2px dashed #1E90FF;outline-offset:-2px;}
.trs-padding-anchor {display:none!important;}
.is-style-page-hero::before {background-image:var(--trs-hero-artwork,url('../images/logo-elements-full.png'));opacity:var(--trs-hero-artwork-opacity,.06);}
@keyframes threers-fragment {from{opacity:0;transform:translateX(80px)}to{opacity:var(--trs-hero-artwork-opacity,.06);transform:none}}
.editor-styles-wrapper .trs-padding-top {left:auto;right:8px;top:8px;transform:none;}
/* Template defaults inherit through Post Content; local heroes may override them. */
.is-style-page-hero::before {
 background-image:var(--trs-hero-artwork,var(--trs-template-hero-image,url('../images/logo-elements-full.png')));
 right:var(--trs-hero-artwork-right,var(--trs-template-hero-right,-30%));
 top:var(--trs-hero-artwork-top,var(--trs-template-hero-top,-25%));
 height:var(--trs-hero-artwork-size,var(--trs-template-hero-size,150%));
 opacity:var(--trs-hero-artwork-opacity,var(--trs-template-hero-opacity,.06));
}
@keyframes threers-fragment {from{opacity:0;transform:translateX(80px)}to{opacity:var(--trs-hero-artwork-opacity,var(--trs-template-hero-opacity,.06));transform:none}}
.editor-styles-wrapper .trs-hero-artwork-handle {
 position:absolute!important;bottom:10px;z-index:130;min-height:32px;padding:4px 10px;
 border:1px solid #F4F2ED;border-radius:4px;background:#0A0A0A;color:#F4F2ED;
 font:12px/1.4 sans-serif;touch-action:none;pointer-events:auto!important;
}
.editor-styles-wrapper .trs-hero-move {right:160px;cursor:move;}
.editor-styles-wrapper .trs-hero-resize {right:8px;cursor:nwse-resize;}
.editor-styles-wrapper .trs-hero-artwork-dragging::before {outline:2px dashed #1E90FF;outline-offset:-2px;}
.trs-confirm-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
/* Photo staffing controls are contextual; layout handles are opt-in. */
.editor-styles-wrapper .is-style-staff-grid:not([data-trs-layout-tools="on"]) .trs-photo-height-handle,
.editor-styles-wrapper .is-style-staff-grid:not([data-trs-layout-tools="on"])>.trs-grid-gap-handle {display:none!important;}
.editor-styles-wrapper .is-style-staff-grid>.wp-block-post {position:relative;}
.editor-styles-wrapper .rs-grid-edit-person {position:absolute!important;top:8px;right:8px;z-index:120;opacity:0;pointer-events:auto!important;min-height:32px;border:1px solid #F4F2ED;border-radius:4px;background:#0A0A0A;color:#F4F2ED;padding:4px 10px;font:12px/1.4 sans-serif;cursor:pointer;}
.editor-styles-wrapper .wp-block-post:is(:hover,:focus-within)>.rs-grid-edit-person {opacity:1;}
.rs-grid-staff-modal {max-width:760px;width:calc(100% - 32px);}
.rs-grid-person-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;}
.rs-grid-person-list button {justify-content:flex-start;text-align:left;min-height:52px;white-space:normal;}
.rs-grid-person-list img {width:36px;height:44px;object-fit:cover;margin-right:10px;}
.rs-grid-photo-preview {display:block;width:100px;height:125px;object-fit:cover;margin:12px 0;}
.rs-grid-staff-modal fieldset {border:1px solid #667178;padding:12px;margin:16px 0;}
.rs-grid-staff-modal details {margin:16px 0;}
.rs-grid-staff-modal .components-button {margin:4px 8px 4px 0;}
.rs-grid-hide-confirm {padding:12px;border:1px solid #667178;margin-top:12px;}

/* A true 0–100 photo treatment, visible while editing without hover interference. */
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait {background:#F4F2ED}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img {mix-blend-mode:normal;filter:grayscale(var(--staff-duotone-strength,.5))}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::before {background:linear-gradient(135deg,var(--staff-duotone-magenta,#D8187F),#7820E2 42%,var(--staff-duotone-blue,#1E90FF) 85%);mix-blend-mode:multiply;opacity:var(--staff-duotone-strength,.5)}
.editor-styles-wrapper .is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image {background:#F4F2ED}
.editor-styles-wrapper .is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image img {filter:grayscale(var(--staff-duotone-strength,.5))}
.editor-styles-wrapper .is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image::before {opacity:var(--staff-duotone-strength,.5)}
.rs-grid-reorder {position:absolute;top:42px;right:8px;z-index:15;background:#0A0A0A;color:#F4F2ED;border:1px solid #1E90FF;padding:8px;cursor:grab}
.rs-grid-drop {outline:3px solid #1E90FF!important}
.editor-styles-wrapper .rs-grid-reorder {opacity:0}
.editor-styles-wrapper li.wp-block-post:is(:hover,:focus-within)>.rs-grid-reorder {opacity:1}
@media(hover:none){.editor-styles-wrapper .rs-grid-reorder{opacity:1}}

/* Shared accent placement: vertical lines reveal downwards. */
.is-style-staff-grid[data-staff-bar-placement="top"] .wp-block-post-featured-image::after {top:0;bottom:auto}
.is-style-staff-grid:is([data-staff-bar-placement="left"],[data-staff-bar-placement="right"]) .wp-block-post-featured-image::after {top:0;bottom:0;left:0;right:auto;width:var(--staff-bar-height,3px);height:100%;transform:scaleY(0);transform-origin:center top}
.is-style-staff-grid[data-staff-bar-placement="right"] .wp-block-post-featured-image::after {left:auto;right:0}
.is-style-staff-grid:is([data-staff-bar-placement="left"],[data-staff-bar-placement="right"]) .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image::after,
.is-style-staff-grid:is([data-staff-bar-placement="left"],[data-staff-bar-placement="right"]):is([data-staff-bar-motion="still"],[data-staff-bar-motion="flow"]) .wp-block-post-featured-image::after {transform:scaleY(1)}
.is-style-staff-grid:is([data-staff-bar-placement="left"],[data-staff-bar-placement="right"])[data-staff-bar-motion="flow"] .wp-block-post-featured-image::after {background-size:100% 200%;animation-name:trs-gradient-flow-vertical}
@keyframes trs-gradient-flow-vertical {from{background-position:50% 0%}to{background-position:50% 100%}}
/* Opt-in image layers keep foreground text independent of image opacity. */
.trs-section-photo{position:relative;isolation:isolate;overflow:hidden}
.trs-section-photo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--trs-bg-image);background-size:cover;background-position:var(--trs-bg-x,50%) var(--trs-bg-y,50%);opacity:calc(var(--trs-bg-opacity,100)/100);filter:brightness(calc(var(--trs-bg-brightness,100)/100));transform:scale(calc(var(--trs-bg-zoom,100)/100));transform-origin:var(--trs-bg-x,50%) var(--trs-bg-y,50%)}
.trs-section-color{background-color:var(--trs-bg-color)!important}
.trs-cover-adjusted>.wp-block-cover__image-background{opacity:calc(var(--trs-bg-opacity,100)/100);transform:scale(calc(var(--trs-bg-zoom,100)/100));object-position:var(--trs-bg-x,50%) var(--trs-bg-y,50%)}
.trs-cover-adjusted[style*="--trs-bg-brightness"]>.wp-block-cover__image-background{filter:brightness(calc(var(--trs-bg-brightness,100)/100))}
.trs-custom-accent{border-color:color-mix(in srgb,var(--track-color) 35%,#0A0A0A)!important;background-color:color-mix(in srgb,var(--track-color) 4%,#0A0A0A)!important}

.trs-custom-accent.trs-section-color{background-color:var(--trs-bg-color)!important}

.threers-feature-boxes>.trs-custom-accent>.is-style-label,.threers-feature-boxes>.trs-custom-accent p:has(>strong),.threers-feature-boxes>.trs-custom-accent>p:last-child,.threers-feature-boxes>.trs-custom-accent a{color:var(--track-text,#F4F2ED)!important}

.wp-block-cover[style*="--trs-hero-light-opacity"]>threers-hero-fx{opacity:var(--trs-hero-light-opacity)!important}
.trs-sized-box[style*="--trs-box-width"]{width:var(--trs-box-width)!important;max-width:100%!important;min-width:0;justify-self:start;flex-basis:auto!important;box-sizing:border-box}
.trs-sized-box[style*="--trs-box-height"]{min-height:var(--trs-box-height)!important;height:auto;overflow:visible}
.editor-styles-wrapper .trs-text-resize{position:absolute!important;z-index:140;min-height:24px;min-width:24px;padding:2px 5px;border:1px solid #F4F2ED;border-radius:3px;background:#0A0A0A;color:#F4F2ED;font:11px/1.4 sans-serif;touch-action:none;white-space:nowrap}
.editor-styles-wrapper .trs-resize-width{right:-8px;top:45%;cursor:ew-resize}
.editor-styles-wrapper .trs-resize-height{bottom:-9px;left:60%;cursor:ns-resize}
.trs-filtered-section{position:relative;isolation:isolate}.trs-overlay-layer{position:absolute!important;inset:0;z-index:0;pointer-events:none;background:var(--trs-filter-gradient);opacity:var(--trs-filter-opacity,.35)}
.trs-filtered-section>:not(.trs-overlay-layer){position:relative;z-index:1}
body.trs-motion-off-enabled *,body.trs-motion-off-enabled *::before,body.trs-motion-off-enabled *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.trs-motion-off-gradients .trs-gradient-divider,body.trs-motion-off-gradients .wp-block-post-featured-image::after{animation:none!important;transition:none!important}
body.trs-motion-off-hover .is-style-staff-card:hover,body.trs-motion-off-hover .is-style-link-card:hover,body.trs-motion-off-hover .wp-block-button__link:hover{transform:none!important}
/* Overlay layers stay outside the card's content flow. */
.threers-weekend-design .threers-feature-boxes>.trs-filtered-section>p:last-of-type{margin-top:auto;padding-top:32px;color:var(--track-color);font-size:14px!important}
.threers-feature-boxes>.trs-filtered-section.trs-custom-accent>p:last-of-type{color:var(--track-text,#F4F2ED)!important}
/* Brand book photography: grayscale plus two independent Screen color layers. */
.trs-photo-treated.wp-block-cover>.wp-block-cover__image-background,.trs-photo-treated.trs-section-photo::after{filter:grayscale(var(--trs-photo-grayscale,0)) brightness(calc(var(--trs-bg-brightness,100)/100))!important}
.trs-photo-duotone{position:relative;isolation:isolate}.trs-duotone-layer{position:absolute!important;inset:0;z-index:0;pointer-events:none}
.trs-duotone-layer::before,.trs-duotone-layer::after{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:var(--trs-duotone-strength,.475)}
.trs-duotone-layer::before{background:linear-gradient(var(--trs-duotone-angle,135deg),#D8187F 0%,#D8187F 20%,rgba(216,24,127,.45) 50%,rgba(216,24,127,0) 82%)}.trs-duotone-layer::after{background:linear-gradient(var(--trs-duotone-angle,135deg),rgba(30,144,255,0) 18%,rgba(30,144,255,.45) 50%,#1E90FF 80%,#1E90FF 100%)}
.trs-photo-duotone>.trs-overlay-layer{z-index:1}.trs-photo-duotone>:not(.trs-overlay-layer):not(.trs-duotone-layer):not(.wp-block-cover__image-background):not(.wp-block-cover__background):not(.trs-photo-info){position:relative;z-index:2}
.trs-filtered-section>:not(.trs-overlay-layer):not(.trs-duotone-layer){z-index:2}

/* Opt-in image treatments keep captions and links independent of the photo. */
.wp-block-image.trs-photo-treated,.wp-block-image:has(>.trs-image-surface){position:relative;isolation:isolate}
.trs-image-surface{display:inline-grid;position:relative;isolation:isolate;max-width:100%;overflow:hidden;vertical-align:bottom}
.trs-image-surface>img,.trs-image-surface>a{grid-area:1/1;display:block}
.wp-block-image.trs-photo-treated img{filter:grayscale(var(--trs-photo-grayscale,0)) brightness(calc(var(--trs-bg-brightness,100)*1%))!important;opacity:calc(var(--trs-bg-opacity,100)*1%)}
.trs-image-surface>.trs-overlay-layer,.trs-image-surface>.trs-duotone-layer{z-index:1}
.wp-block-image>.trs-overlay-layer,.wp-block-image>.trs-duotone-layer{z-index:2}
.wp-block-image[style*="--trs-bg-opacity"] img{opacity:calc(var(--trs-bg-opacity,100)*1%)}
.wp-block-image:not(.trs-photo-treated)[style*="--trs-bg-brightness"] img{filter:brightness(calc(var(--trs-bg-brightness,100)*1%))!important}

.wp-block-post-featured-image.trs-photo-treated{position:relative;isolation:isolate}.wp-block-post-featured-image.trs-photo-treated img{filter:grayscale(var(--trs-photo-grayscale,0)) brightness(calc(var(--trs-bg-brightness,100)*1%))!important}.wp-block-post-featured-image>.trs-duotone-layer,.wp-block-post-featured-image>.trs-overlay-layer{z-index:3}
/* Shared staff-grid direction; opt-in so existing saved grids keep their treatment. */
.is-style-staff-grid[style*="--staff-duotone-angle"] .wp-block-post-featured-image.is-style-portrait::before{background:linear-gradient(var(--staff-duotone-angle,135deg),var(--staff-duotone-magenta,#D8187F),#7820E2 50%,var(--staff-duotone-blue,#1E90FF));mix-blend-mode:screen}
/* Explicit grid treatments share one setting across every portrait. */
.is-style-staff-grid.trs-staff-treatment-original .is-style-portrait img,.is-style-staff-grid.trs-staff-treatment-black .is-style-portrait img,.is-style-staff-grid.trs-staff-treatment-bottom .is-style-portrait img{filter:none!important}
.is-style-staff-grid.trs-staff-treatment-bw .is-style-portrait img{filter:grayscale(1)!important}
.is-style-staff-grid.trs-staff-treatment-original .is-style-portrait::before,.is-style-staff-grid.trs-staff-treatment-bw .is-style-portrait::before{opacity:0!important}
.is-style-staff-grid.trs-staff-treatment-black .is-style-portrait::before{background:#0A0A0A;mix-blend-mode:normal;opacity:.5}
.is-style-staff-grid.trs-staff-treatment-bottom .is-style-portrait::before{background:linear-gradient(to top,rgba(10,10,10,.85),transparent);mix-blend-mode:normal;opacity:1}
body:not(.wp-admin) .is-style-staff-grid:is(.trs-staff-treatment-original,.trs-staff-treatment-bw,.trs-staff-treatment-black,.trs-staff-treatment-bottom,.trs-staff-treatment-duotone) .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .is-style-portrait img{filter:none!important}
body:not(.wp-admin) .is-style-staff-grid:is(.trs-staff-treatment-original,.trs-staff-treatment-bw,.trs-staff-treatment-black,.trs-staff-treatment-bottom,.trs-staff-treatment-duotone) .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .is-style-portrait::before{opacity:0!important}
/* Explicit base treatment is independent of the shared grid overlay. */
.is-style-staff-grid[style*="--staff-photo-base-gray"] .wp-block-post-featured-image.is-style-portrait img{filter:grayscale(var(--staff-photo-base-gray))!important}
body:not(.wp-admin):not(.editor-styles-wrapper):not(.block-editor-iframe__body) .is-style-staff-grid[style*="--staff-photo-base-gray"] .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image.is-style-portrait img{filter:none!important}
.rs-staff-dark-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--staff-dark-gradient,transparent);opacity:var(--staff-dark-opacity,0);transition:opacity 320ms ease}
body:not(.wp-admin):not(.editor-styles-wrapper):not(.block-editor-iframe__body) .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .rs-staff-dark-overlay{opacity:0}

/* Match transparent cutouts and off-white photo files in staff profiles. */
.staff-modal__portrait .is-style-portrait,
.staff-portrait .is-style-portrait {background:#F4F2ED!important}
.staff-modal__portrait, .staff-portrait {background:transparent!important}

.trs-support-staff {scroll-margin-top:160px}

/* Staff tab counts stay hidden before enhancement loads. */
.wp-block-term-template.is-style-chips .wp-block-term-count,
.is-style-chip .chip-count {display:none!important}
.is-style-staff-grid[hidden] {display:none!important}
.trs-support-only .trs-support-staff {margin-top:0!important;padding-top:32px}

/* Equal card columns collapse when cards are removed and wrap on small screens. */
.trs-card-grid {grid-template-columns:repeat(var(--trs-card-columns),minmax(0,1fr))!important}
@media(max-width:900px){.trs-card-grid {grid-template-columns:repeat(min(2,var(--trs-card-columns)),minmax(0,1fr))!important}}
@media(max-width:600px){.trs-card-grid {grid-template-columns:minmax(0,1fr)!important}}

/* Explicit edge-to-edge divider preset; ordinary divider widths stay unchanged. */
.trs-gradient-divider.trs-divider-full-page{position:relative;left:calc(-1 * var(--trs-divider-page-left,0px));width:var(--trs-divider-page-width,100vw)!important;max-width:none!important;margin-left:0!important;margin-right:0!important;flex-shrink:0;box-sizing:border-box}

.trs-gradient-divider.trs-divider-custom-width.trs-sized-box{max-width:none!important}

/* Small division labels have their own layout, separate from the surrounding cards. */
.trs-label-grid{display:grid!important;grid-template-columns:repeat(var(--trs-label-columns),minmax(0,1fr))!important;align-items:stretch!important}
.trs-label-grid>p.is-style-chip{width:auto;min-width:0;max-width:100%;margin:0;box-sizing:border-box;text-align:center;white-space:normal;overflow-wrap:anywhere}
.trs-label-grid>p.is-style-chip{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
/* Optional shared baseline for buttons in a row of cards. */
.trs-align-card-buttons > .wp-block-group {display:flex;flex-direction:column;align-self:stretch;}
.trs-align-card-buttons > .wp-block-group > .wp-block-buttons {margin-top:auto!important;}
/* Optional per-button hover treatment. Existing buttons keep their theme behavior. */
[data-trs-button-motion] > .wp-block-button__link {transition-duration:var(--trs-button-duration,.22s)!important;}
[data-trs-button-motion]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {transition-duration:var(--trs-button-duration,.22s)!important;}
[data-trs-hover-fill]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {background:var(--trs-button-hover-fill)!important;}
[data-trs-hover-text]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {color:var(--trs-button-hover-text)!important;}
[data-trs-hover-text]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link :where(span,strong,em,b,i,mark) {color:inherit!important;}
[data-trs-hover-outline]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {border-color:var(--trs-button-hover-outline)!important;}
[data-trs-hover-glow]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link,
[data-trs-button-motion="glow"]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {box-shadow:0 0 24px var(--trs-button-hover-glow,#7820E2)!important;}
[data-trs-button-motion="lift"]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {transform:translateY(calc(-1 * var(--trs-button-lift,2px)))!important;}
[data-trs-button-motion]:is([data-trs-button-motion="fade"],[data-trs-button-motion="glow"]) > .wp-block-button__link {transform:none!important;filter:none!important;}
[data-trs-button-motion="fade"] > .wp-block-button__link {box-shadow:none!important;}
[data-trs-button-motion="pulse"]:is(:hover,[data-trs-hover-preview="true"]) > .wp-block-button__link {animation:trs-button-pulse var(--trs-button-duration,.6s) ease-in-out infinite alternate;}
[data-trs-button-motion="none"] > .wp-block-button__link {animation:none!important;transition:none!important;transform:none!important;box-shadow:none!important;filter:none!important;}
@keyframes trs-button-pulse {from{transform:scale(1)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){[data-trs-button-motion] > .wp-block-button__link {animation:none!important;transition:none!important;transform:none!important;}}
.trs-inline-text-color a {color:inherit!important;}
[data-trs-button-motion="none"] .arrow {animation:none!important;transition:none!important;transform:none!important;}
/* Optional link treatments work on both inline selections and navigation anchors. */
:is(.trs-link-design,.trs-designed-link){border-radius:var(--trs-link-radius,0);padding:var(--trs-link-padding,0);transition:color var(--trs-link-duration,.22s),background-color var(--trs-link-duration,.22s),border-color var(--trs-link-duration,.22s),box-shadow var(--trs-link-duration,.22s),transform var(--trs-link-duration,.22s);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
[data-trs-link-text]{color:var(--trs-link-text)!important;}[data-trs-link-fill]{background:var(--trs-link-fill)!important;}[data-trs-link-outline]{border:var(--trs-link-border-width,1px) solid var(--trs-link-outline)!important;}
.trs-link-design a{color:inherit!important;background:transparent!important;}
[data-trs-link-hover-text]:is(:hover,:focus-visible,:has(:focus-visible)){color:var(--trs-link-hoverText)!important;}[data-trs-link-hover-fill]:is(:hover,:focus-visible,:has(:focus-visible)){background:var(--trs-link-hoverFill)!important;}[data-trs-link-hover-outline]:is(:hover,:focus-visible,:has(:focus-visible)){border-color:var(--trs-link-hoverOutline)!important;border-style:solid;border-width:var(--trs-link-border-width,1px);}
[data-trs-link-glow]:is(:hover,:focus-visible),[data-trs-link-motion="glow"]:is(:hover,:focus-visible){box-shadow:0 0 20px var(--trs-link-glow,#7820E2);}
[data-trs-link-motion="lift"],[data-trs-link-motion="pulse"]{display:inline-block;}
[data-trs-link-motion="lift"]:is(:hover,:focus-visible){transform:translateY(calc(-1 * var(--trs-link-distance,2px)));}
[data-trs-link-motion="pulse"]:is(:hover,:focus-visible){animation:trs-button-pulse var(--trs-link-duration,.6s) ease-in-out infinite alternate;}
[data-trs-link-motion="none"],[data-trs-link-motion="none"] *{transition:none!important;animation:none!important;transform:none!important;}
@media(prefers-reduced-motion:reduce){[data-trs-link-motion]{transition:none!important;animation:none!important;transform:none!important;}}
/* Keep the mobile menu's close control below WordPress's signed-in toolbar. */
body.admin-bar .wp-block-navigation__responsive-container.is-menu-open.disable-default-overlay {padding-top:var(--wp-admin--admin-bar--height,46px);}
body.admin-bar .site-overlay {min-height:calc(100dvh - var(--wp-admin--admin-bar--height,46px));}

/* Staff popup: stable photo and bio areas, independent of biography length. */
.staff-modal[open]{display:flex;flex-direction:column;width:min(960px,calc(100vw - 24px));height:min(640px,calc(100dvh - 24px));container-type:inline-size;}
.staff-modal>.trs-window-drag-bar{flex-shrink:0;background:#121212;color:#F4F2ED;border-color:#303030;}
.staff-modal__panel{flex:1;min-height:0;width:100%;height:100%;max-height:none;overflow:hidden;grid-template-columns:minmax(0,42%) minmax(0,58%);}
.staff-modal__portrait{min-width:0;min-height:0;overflow:hidden;align-items:center;justify-content:center;}
.staff-modal__portrait> *{min-width:0;min-height:0;width:100%;height:auto!important;aspect-ratio:4/5!important;align-self:flex-start!important;flex:0 0 100%;}
.staff-modal__portrait :is(a,.trs-image-surface){display:block;width:100%;height:100%;}
.staff-modal__portrait img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important;object-position:center top;}
.staff-modal__body{min-width:0;min-height:0;overflow:hidden;padding:28px;gap:18px;}
.staff-modal__profile{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-gutter:stable;}
.staff-modal__profile p{font-size:17px;line-height:1.6;}
.staff-modal__name{font-size:clamp(26px,3vw,38px);line-height:1.05;overflow-wrap:anywhere;padding-right:30px;}
.staff-modal__pager{flex-shrink:0;margin-top:0;gap:8px;}
.staff-modal__pager button,.staff-modal__page{padding-inline:12px;font-size:11px;letter-spacing:.12em;}
@container(max-width:600px){
 .staff-modal__panel{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,42%) minmax(0,1fr);}
 .staff-modal__portrait> *{height:100%!important;aspect-ratio:auto!important;align-self:stretch!important;}
 .staff-modal__portrait img{height:100%!important;aspect-ratio:auto!important;}
 .staff-modal__body{padding:18px;gap:12px;}
 .staff-modal__profile p{font-size:16px;}
 .staff-modal__name{font-size:26px;}
 .staff-modal__page{margin-left:0;}
}

/* A single staff-photo treatment pipeline for every grid and editor preview. */
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait{background:#F4F2ED!important;}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img{filter:grayscale(var(--staff-photo-base-gray,0))!important;mix-blend-mode:normal!important;}
.is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::before{opacity:0!important;}
.is-style-staff-grid.trs-staff-treatment-bw:not([style*="--staff-photo-base-gray"]) .wp-block-post-featured-image.is-style-portrait img{filter:grayscale(1)!important;}
.is-style-staff-grid.trs-staff-treatment-duotone .wp-block-post-featured-image.is-style-portrait::before{background:linear-gradient(var(--staff-duotone-angle,135deg),var(--staff-duotone-magenta,#D8187F),#7820E2 42%,var(--staff-duotone-blue,#1E90FF));mix-blend-mode:multiply;opacity:var(--staff-duotone-strength,.5)!important;}
body:not(.wp-admin):not(.editor-styles-wrapper):not(.block-editor-iframe__body) .is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image.is-style-portrait img{filter:none!important;}
body:not(.wp-admin):not(.editor-styles-wrapper):not(.block-editor-iframe__body) .is-style-staff-grid .is-style-staff-card:not(.trs-photo-restored):is(:hover,:focus-within) .wp-block-post-featured-image.is-style-portrait::before{opacity:0!important;}
.is-style-staff-grid.trs-staff-treatment-black .wp-block-post-featured-image.is-style-portrait::before{background:#0A0A0A;mix-blend-mode:normal;opacity:.5!important;}
.is-style-staff-grid.trs-staff-treatment-bottom .wp-block-post-featured-image.is-style-portrait::before{background:linear-gradient(to top,rgba(10,10,10,.85),transparent);mix-blend-mode:normal;opacity:1!important;}
:is(.editor-styles-wrapper,.block-editor-iframe__body) .is-style-staff-grid .wp-block-post-featured-image.is-style-portrait img,
:is(.editor-styles-wrapper,.block-editor-iframe__body) .is-style-staff-grid .wp-block-post-featured-image.is-style-portrait::before{transition:none!important;}

/* Collapse unused staff slots; the query alone determines which people appear. */
body.home .is-style-staff-grid,
.editor-styles-wrapper .is-style-staff-grid {
 grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)) !important;
}
/* Optional visual grid preset; normal item and drag controls stay available. */
.trs-featured-grid>:first-child{grid-column:span 2;grid-row:span 2;}
@media(max-width:700px){.trs-featured-grid>:first-child{grid-column:auto;grid-row:auto;}}

/* Registration policy links: native editable paragraphs, aligned by their card. */
#policies .trs-policy-links-grid {
 grid-template-columns:repeat(3,minmax(0,1fr));
 column-gap:clamp(24px,4vw,56px);
}
#policies .trs-policy-links-grid > .wp-block-group {
 display:flex;flex-direction:column;align-items:stretch;
}
#policies .trs-policy-link {margin-top:auto!important;padding-top:24px;}
#policies .trs-policy-link a {
 color:inherit;font-weight:800;text-decoration-line:underline;
 text-decoration-color:var(--wp--preset--color--purple);
 text-decoration-thickness:3px;text-underline-offset:7px;
}
#policies .trs-policy-link a:hover {color:var(--wp--preset--color--purple);}
#policies .trs-policy-link a:focus-visible {outline:2px solid var(--wp--preset--color--purple);outline-offset:7px;}
#policies .trs-policy-footer {display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
@media(max-width:900px){
 #policies .trs-policy-links-grid {grid-template-columns:1fr;}
 #policies .trs-policy-link {padding-top:14px;}
}
#policies .trs-policy-all {justify-content:flex-end;}
#policies .trs-policy-all .wp-block-button > .wp-block-button__link {
 background:#090909!important;color:#f4f2ed!important;border:1px solid #090909;
}
#policies .trs-policy-all .wp-block-button > .wp-block-button__link:hover {border-color:var(--wp--preset--color--purple);}

/* Policies hub uses core blocks and the shared photo/editor controls. */
.trs-policies-hero {padding-block:clamp(48px,6vw,88px)!important;}
.trs-policies-hero h1 {font-size:clamp(48px,6.4vw,100px);line-height:.98;}
.trs-policies-hero .trs-policy-subhead {font-size:clamp(20px,2vw,26px);margin-top:22px;}
.trs-policies-hero p {font-size:18px;}
.trs-policies-hero .is-style-eyebrow {font-size:12px;}
.trs-policies-content {padding-block:clamp(28px,4vw,56px)!important;}
.trs-policy-hub-grid {gap:24px;align-items:stretch;}
.trs-policy-card {border:1px solid var(--3rs-rule-strong,#667178);display:flex;flex-direction:column;min-width:0;}
.trs-policy-card .trs-policy-photo {margin:0;}
.trs-policy-photo .trs-image-surface {display:block;}
.trs-policy-photo img {display:block;width:100%;aspect-ratio:5/4;object-fit:cover;}
/* Image framing is opt-in; the original media file and captions are retained. */
.trs-image-adjusted img:not(.reactEasyCrop_Image) {transform:scale(calc(var(--trs-bg-zoom,100)/100));transform-origin:var(--trs-bg-x,50%) var(--trs-bg-y,50%);object-position:var(--trs-bg-x,50%) var(--trs-bg-y,50%);}
.trs-image-adjusted .trs-image-surface {overflow:hidden;}
.editor-styles-wrapper .trs-image-adjusted img:not(.reactEasyCrop_Image) {clip-path:inset(var(--trs-frame-top,0%) var(--trs-frame-right,0%) var(--trs-frame-bottom,0%) var(--trs-frame-left,0%));}
.wp-block-post-featured-image.trs-image-adjusted {overflow:hidden;}
/* Registration's single, editable policy section. */
.trs-registration-policies {padding:64px clamp(24px,5vw,64px);box-sizing:border-box;}
.trs-registration-policies > * {max-width:var(--trs-content-width);margin-left:auto!important;margin-right:auto!important;}
.trs-registration-policies .trs-registration-policy-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;}
.trs-registration-policy-grid > .trs-registration-policy-card {margin:0!important;}
.trs-registration-policy-card {background:#ebe8e1;padding:24px;min-width:0;display:flex;flex-direction:column;gap:16px;}
.trs-registration-policy-card > * {margin:0!important;}
.trs-registration-policy-card .trs-registration-policy-photo {width:100%;margin-bottom:8px!important;}
.trs-registration-policy-photo .trs-image-surface {display:block;width:100%;}
.trs-registration-policy-photo img:not(.reactEasyCrop_Image) {display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;}
.wp-site-blocks .trs-registration-policy-card h3,.editor-styles-wrapper .trs-registration-policy-card h3 {font-size:clamp(24px,2.2vw,32px)!important;line-height:1.15;text-transform:none;letter-spacing:-.015em;}
.trs-registration-policy-card p {font-size:18px;line-height:1.55;}
.trs-registration-policy-card .trs-policy-link {margin-top:auto!important;padding-top:8px;}
.trs-registration-policy-card a {color:#0a0a0a;text-underline-offset:5px;}
.trs-registration-policy-card a:focus-visible {outline:2px solid #7820e2;outline-offset:5px;}
.trs-registration-policies .trs-registration-policy-bottom {border-top:1px solid #b6b4ae;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.trs-registration-policies .trs-registration-policy-bottom > * {margin:0!important;}
.trs-registration-policies .trs-registration-policy-credit {font-size:13px;line-height:1.5;}
@media(max-width:700px){.trs-registration-policies .trs-registration-policy-grid {grid-template-columns:minmax(0,1fr);gap:24px;}.trs-registration-policy-card{padding:20px;}}
.trs-policy-card-body {padding:24px;display:flex;flex-direction:column;gap:16px;flex:1;}
.trs-policy-card-body > * {margin:0!important;}
.trs-policy-card-body h2 {font-size:clamp(26px,2.3vw,34px);line-height:1.08;text-transform:none;letter-spacing:-.015em;}
.trs-policy-card-body p {font-size:18px;line-height:1.55;}
.trs-policy-card-body .wp-block-buttons {margin-top:auto!important;padding-top:12px;width:100%;}
.trs-policy-card-body .wp-block-button {width:100%;}
.trs-policy-card-body .wp-block-button:not(.trs-custom-button) > .wp-block-button__link {width:100%;box-sizing:border-box;background:transparent!important;color:#0A0A0A!important;border:1px solid #0A0A0A;border-bottom:3px solid var(--policy-accent,#7820E2);font-size:14px;letter-spacing:.08em;min-height:48px;padding:14px 10px;text-align:center;}
.trs-policy-card-1 {--policy-accent:#D8187F;}.trs-policy-card-2 {--policy-accent:#7820E2;}.trs-policy-card-3 {--policy-accent:#1E90FF;}
.trs-policy-card-body .wp-block-button > .wp-block-button__link:focus-visible {outline:2px solid #7820E2;outline-offset:4px;}
.trs-policies-bottom {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--3rs-rule);padding-top:20px;margin-top:32px!important;}
.trs-policies-bottom p {margin:0;font-size:16px;}
.trs-policies-bottom a {display:inline-block;min-height:44px;padding-block:10px;}
.trs-policy-credits {font-size:13px;margin-top:16px!important;}
.trs-policy-credits summary {padding-block:12px;cursor:pointer;}
@media(min-width:701px) and (max-width:1024px){.trs-policy-hub-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}.trs-policy-card-body {padding:18px;}.trs-policy-card-body h2 {font-size:26px;}.trs-policy-card-body .wp-block-button > .wp-block-button__link {letter-spacing:.02em;}}
@media(max-width:700px){.trs-policy-hub-grid {grid-template-columns:1fr;}.trs-policy-photo img {aspect-ratio:16/10;}.trs-policy-card-body {padding:24px;}.trs-policies-bottom {align-items:flex-start;flex-direction:column;}}
.wp-site-blocks .trs-policy-card-body h2:not(.is-style-eyebrow),
.editor-styles-wrapper .trs-policy-card-body h2:not(.is-style-eyebrow) {font-size:clamp(26px,2.3vw,34px)!important;}
.trs-policies-content .trs-policy-card-body .wp-block-button:not(.trs-custom-button) > a.wp-block-button__link {border-bottom:3px solid var(--policy-accent,#7820E2)!important;}
.trs-policies-content .trs-policy-hub-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:900px){.trs-policies-content .trs-policy-hub-grid {grid-template-columns:1fr!important;}.trs-policy-photo img {aspect-ratio:16/10;}}

/* Keep selected words readable over every brand colour and text treatment. */
::selection{background:#9bd6ff!important;color:#0A0A0A!important;-webkit-text-fill-color:#0A0A0A!important;-webkit-text-stroke:0 transparent!important;text-shadow:none!important;}

.rs-staff-contacts{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:14px;line-height:1.5;}
.rs-staff-contacts a{color:inherit;text-decoration:underline;text-decoration-color:#7820E2;text-underline-offset:4px;}
.rs-staff-contacts a:hover,.rs-staff-contacts a:focus-visible{color:#8CC8FF;}

/* Event workshop tracks use one consistent label/description grid. */
#workshops>.is-style-grid-rules>.wp-block-columns{
 display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.9fr);gap:32px!important;
 align-items:center;min-height:112px;margin:0!important;padding:24px 0!important;box-sizing:border-box;
}
#workshops>.is-style-grid-rules>.wp-block-columns>.wp-block-column{width:auto;min-width:0;flex-basis:auto!important;margin:0!important;}
#workshops>.is-style-grid-rules>.wp-block-columns>.wp-block-column:nth-child(2){max-width:none;}
#workshops>.is-style-grid-rules>.wp-block-columns>.wp-block-column>p{font-size:16px!important;line-height:1.6!important;margin:0!important;max-width:none;}
#workshops>.is-style-grid-rules>.wp-block-columns h3{font-size:24px!important;line-height:1.2!important;margin:0!important;}
#workshops>.is-style-grid-rules>.wp-block-columns .wp-block-group{gap:16px;}
#workshops>.is-style-grid-rules>.wp-block-columns .wp-block-group>p:empty{display:none;}
#workshops .is-style-card{height:100%;box-sizing:border-box;}
@media(max-width:781px){
 #workshops>.is-style-grid-rules>.wp-block-columns{grid-template-columns:1fr;gap:12px!important;min-height:0;padding:22px 0!important;}
}

/* Approved policy pages: native blocks, shared site header, editorial guide. */
.trs-policy-editorial{background:#0a0a0a;color:#f4f2ed;padding:0 clamp(22px,4vw,56px) 56px;max-width:none!important;}
.trs-policy-editorial .trs-policy-local-nav{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid #30363e;padding:24px 0 18px;margin:0;}
.trs-policy-editorial .trs-policy-local-nav p{margin:0;font-size:13px;}
.trs-policy-editorial a{color:#f4f2ed;text-underline-offset:5px;overflow-wrap:anywhere;}
.trs-policy-editorial a:hover{color:#1e90ff;}
.trs-policy-editorial .trs-policy-local-nav a{text-decoration:none;display:inline-block;padding:8px 0;}
.trs-policy-editorial .trs-policy-editorial-hero{padding:36px 0 32px;margin:0;}
.trs-policy-editorial .trs-policy-editorial-hero::after{content:'';display:block;height:4px;background:linear-gradient(90deg,#d8187f,#7820e2,#1e90ff);margin-top:32px;}
.trs-policy-editorial h1.trs-policy-title{font-size:clamp(44px,6vw,96px)!important;line-height:1!important;letter-spacing:-.02em;margin:18px 0 24px;max-width:1000px;}
.trs-policy-editorial .trs-policy-intro{max-width:760px;font-size:17px;line-height:1.55;}
.trs-policy-editorial .trs-policy-intro p{margin:0 0 16px;}
.trs-policy-editorial .trs-policy-editorial-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;max-width:var(--trs-content-width);margin:0 auto;align-items:start;}
.trs-policy-editorial .trs-policy-guide{background:#0a0a0a;border-top:3px solid #1e90ff;padding:24px 20px;margin:0;}
.trs-policy-editorial .trs-policy-guide p{font-size:13px;line-height:1.65;margin:0;}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-label{font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;margin-bottom:18px;color:#f4f2ed;}
.trs-policy-editorial .trs-policy-guide a{display:block;border-bottom:1px solid #303c48;text-decoration:none;padding:12px 0;}
.trs-policy-editorial .trs-policy-chapters{min-width:0;margin:0;}
.trs-policy-editorial .trs-policy-chapter{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:28px 0 32px;border-bottom:1px solid #30363e;margin:0;scroll-margin-top:160px;}
.trs-policy-editorial .trs-policy-number{font-size:12px;letter-spacing:2px;color:#1e90ff;margin:0;}
.trs-policy-editorial .trs-policy-chapter-copy{min-width:0;margin:0;}
.trs-policy-editorial .trs-policy-chapter-copy h2{font-size:clamp(36px,3.2vw,44px)!important;line-height:1.25!important;text-transform:none;letter-spacing:-.015em;margin:0 0 18px;}
.trs-policy-editorial .trs-policy-chapter-copy p,.trs-policy-editorial .trs-policy-chapter-copy li{font-size:16px;line-height:1.55;color:#f4f2ed;}
.trs-policy-editorial .trs-policy-chapter-copy p{margin:0 0 18px;}
.trs-policy-editorial .trs-policy-chapter-copy ul,.trs-policy-editorial .trs-policy-chapter-copy ol{padding-left:24px;}
.trs-policy-editorial .trs-policy-chapter-copy .is-style-eyebrow{color:#1e90ff;font-size:11px;line-height:1.5;}
.trs-policy-editorial .trs-policy-read a{display:inline-block;color:#f4f2ed;border-bottom:2px solid #1e90ff;padding:10px 0;text-decoration:none;font-weight:700;}
.trs-policy-editorial .trs-policy-contact,.trs-policy-editorial .trs-policy-return{font-size:13px;padding-top:24px;margin-top:24px;color:#f4f2ed;}
.trs-policy-editorial a:focus-visible{outline:2px solid #1e90ff;outline-offset:5px;}
#policies .trs-policy-all .wp-block-button:not(.trs-custom-button)>.wp-block-button__link{background:#0a0a0a!important;color:#f4f2ed!important;border:2px solid #0a0a0a!important;}
@media(max-width:760px){.trs-policy-editorial .trs-policy-editorial-layout{grid-template-columns:1fr;gap:24px;}.trs-policy-editorial .trs-policy-chapter{grid-template-columns:26px minmax(0,1fr);gap:10px;}.trs-policy-editorial .trs-policy-local-nav{gap:8px 20px;}.trs-policy-editorial .trs-policy-guide{padding:20px;}.trs-policy-editorial .trs-policy-chapter-copy p,.trs-policy-editorial .trs-policy-chapter-copy li{font-size:16px;}}

/* WSDC applicability is a subheading within its division section. */
.trs-policy-editorial .trs-policy-chapter-copy h3.trs-policy-subheading{font-size:20px!important;line-height:1.4;font-weight:700;text-transform:none;letter-spacing:0;margin:32px 0 16px;scroll-margin-top:160px;}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-subitem a{padding-left:18px;font-size:13px;}

/* Brand typography and the rules' semantic heading hierarchy, shared with the editor. */
.trs-policy-editorial{font-family:proxima-nova,Montserrat,system-ui,sans-serif;font-weight:400;}
.trs-policy-editorial .trs-policy-title,.trs-policy-editorial .trs-policy-chapter-copy h2{font-weight:900!important;}
.trs-policy-editorial .trs-policy-chapter-copy h3.trs-policy-subheading{font-size:24px!important;line-height:1.3!important;font-weight:700!important;margin:36px 0 16px;}
.trs-policy-editorial .trs-policy-chapter-copy h4.trs-policy-subheading{font-size:20px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0;text-transform:none;margin:28px 0 14px;scroll-margin-top:160px;}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-subitem a{padding-left:18px;border-bottom:0;}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-subsubitem a{padding-left:30px;font-size:13px;border-bottom:0;}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-item a{font-weight:700;}
.trs-policy-editorial .trs-policy-local-nav a{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;}
.site-footer .footer-section:has(.footer-column-title a[href*="/policies/"])>.footer-links{margin-block-start:0!important;}
@media(max-width:760px){.trs-policy-editorial .trs-policy-chapter-copy h2{font-size:36px!important;}.trs-policy-editorial .trs-policy-chapter-copy h3.trs-policy-subheading{font-size:22px!important;}}
/* The policy titles already supply their numbering; avoid a second competing index. */
.trs-policy-editorial .trs-policy-chapter{grid-template-columns:minmax(0,1fr);}
.trs-policy-editorial .trs-policy-chapter>.trs-policy-number{display:none;}
.trs-policy-editorial .trs-policy-guide{color:#f4f2ed;}
.trs-policy-editorial .trs-policy-guide a{min-height:44px;box-sizing:border-box;}
.trs-policy-editorial :is(h1,h2,h3,h4){color:#f4f2ed!important;}
.trs-policy-editorial .trs-policy-local-nav p{font-size:14px;}
/* The brand book reserves purple on dark backgrounds for decoration, not words. */
.site-footer .footer-column-title a,.site-footer .footer-toggle{color:#1e90ff;}

/* FAQ shares the native form fields without changing its section layout. */
#contact .ctct-form input,#contact .ctct-form select,#contact .ctct-form textarea{box-sizing:border-box;min-height:48px;padding:12px 16px;font:inherit;}
#contact .ctct-form textarea{min-height:145px;resize:vertical;}
#contact .ctct-form .ctct-submit{width:100%;}

/* The policy hub has summaries rather than an article table of contents. */
.trs-policy-editorial .trs-policy-editorial-layout.trs-policy-hub-layout{grid-template-columns:minmax(0,1fr);max-width:var(--trs-content-width);}
/* The policy index reuses the homepage feature-card treatment and link animation. */
.trs-policy-hub > .wp-block-group,.trs-policy-hub > .trs-policy-contact {max-width:var(--trs-content-width);margin-left:auto;margin-right:auto;}
.trs-policy-hub .trs-policy-editorial-hero {padding-top:56px;}
.trs-policy-hub .trs-policy-editorial-hero::after {height:2px;}
.trs-policy-hub .threers-feature-boxes {margin-top:24px!important;}
.trs-policy-hub-cards > .wp-block-group {margin:0!important;}
.trs-policy-hub .trs-policy-hub-cards {border-top:0;}
.trs-policy-hub .trs-policy-hub-cards h2 {color:#f4f2ed;font-size:clamp(26px,3vw,44px)!important;line-height:1;font-weight:900;letter-spacing:-.02em;text-transform:none;min-height:2em;margin:0!important;}
.trs-policy-hub-cards > .wp-block-group > .is-style-label {min-height:3em;line-height:1.5;}
.trs-policy-hub .threers-feature-boxes > .wp-block-group > .is-style-label,
.trs-policy-hub .threers-feature-boxes .trs-policy-card-link a {color:#f4f2ed;}
.trs-policy-hub .trs-policy-contact {font-size:16px;line-height:1.55;margin-top:32px;padding-top:0;}
.trs-policy-hub .trs-policy-contact a {text-decoration:underline;text-decoration-color:#1e90ff;text-underline-offset:5px;}
@media(max-width:700px){.trs-policy-hub .trs-policy-hub-cards h2,.trs-policy-hub-cards > .wp-block-group > .is-style-label {min-height:0;}}
#policies .trs-policy-all .wp-block-button:not(.trs-custom-button)>.wp-block-button__link:hover{background:#f4f2ed!important;color:#0a0a0a!important;}
#policies .trs-policy-all .wp-block-button>.wp-block-button__link:focus-visible{outline:3px solid #7820e2;outline-offset:5px;}
/* Keep the three homepage paths aligned despite different title lengths. */
.threers-weekend-design .threers-feature-boxes h3{min-height:2em;margin-block:0!important;}
.threers-weekend-design .threers-feature-boxes>.wp-block-group{align-items:stretch;}
.trs-competition-rules-grid>.wp-block-group{align-items:stretch;}
.trs-competition-rules-grid>.wp-block-group>.wp-block-buttons{margin-top:auto!important;padding-top:24px;}
.trs-competition-rules-grid .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;}
@media(max-width:700px){.threers-weekend-design .threers-feature-boxes h3{min-height:0;}}
/* Registration topics need their own boundaries, not one continuous price list. */
#passes .trs-pricing-addons{margin-top:64px!important;padding-top:48px!important;border-top:1px solid #667178;}
#volunteer{border-top:1px solid #667178;padding-top:72px!important;padding-bottom:72px!important;}
@media(max-width:700px){#passes .trs-pricing-addons{margin-top:40px!important;padding-top:32px!important;}#volunteer{padding-top:48px!important;padding-bottom:48px!important;}}

/* Sponsors: editable native blocks, scoped to the approved page. */
.trs-sponsors-page{background:#0a0a0a;color:#f4f2ed;margin:0!important}
.trs-sponsors-page>section{padding:64px max(0px,calc((100% - var(--trs-content-width))/2))!important;margin:0!important;box-sizing:border-box}
.trs-sponsors-page .trs-sponsors-hero{padding-top:76px!important;padding-bottom:72px!important}
.trs-sponsors-hero h1{font-size:clamp(60px,8.2vw,104px);line-height:.92;font-weight:900;letter-spacing:-.025em;margin:32px 0}
.trs-sponsors-page p{font-size:18px;line-height:1.55}
.trs-sponsors-page .is-style-eyebrow{font-size:12px;letter-spacing:.3em;color:#1e90ff;font-weight:700}
.trs-sponsors-page h2{font-size:44px;line-height:1.06;font-weight:900;letter-spacing:-.015em}
.trs-sponsor-lines{display:grid;gap:7px;width:180px;margin-top:42px!important}
.trs-sponsor-lines .trs-sponsor-line{height:2px;min-height:2px;margin:0!important;background:#d8187f}
.trs-sponsor-lines .trs-sponsor-line:nth-child(2){width:73%;background:#7820e2}
.trs-sponsor-lines .trs-sponsor-line:nth-child(3){width:46%;background:#1e90ff}
.trs-sponsors-page .trs-sponsors-hero{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#d8187f,#7820e2,#1e90ff) 1}
.trs-sponsors-thanks{border-top:0}
.trs-sponsors-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:56px;align-items:center}
.trs-sponsors-copy h2{margin-top:0}
.trs-sponsors-photo{margin:0!important;max-width:240px}
.trs-sponsors-photo img{display:block;width:100%;height:auto}
.trs-sponsor-list{margin-top:30px!important}
.trs-sponsor-entry{margin:0!important;padding:24px 0;border-bottom:1px solid #404447}
.trs-sponsor-entry:first-child{border-top:1px solid #404447}
.trs-sponsors-invite{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid #1f1f1f}
.trs-sponsors-invite h2{margin-bottom:0}
.trs-sponsors-invite .wp-block-button__link{background:transparent!important;color:#f4f2ed!important;border:1px solid #f4f2ed!important;padding:14px 24px;min-height:48px;font-size:14px;letter-spacing:.14em;font-weight:700}
@media(max-width:700px){.trs-sponsors-grid,.trs-sponsors-invite{grid-template-columns:1fr;gap:32px}.trs-sponsors-page>section{padding-top:40px!important;padding-bottom:40px!important}.trs-sponsors-page h2{font-size:36px}.trs-sponsors-photo{max-width:180px}}

/* Vendors: square, replaceable native logo images and editable directory cards. */
.trs-vendors-page{--trs-vendor-divider:#1f1f1f;background:#0a0a0a;color:#f4f2ed;margin:0!important}
.trs-vendors-page>section{padding:64px max(0px,calc((100% - var(--trs-content-width))/2))!important;margin:0!important;box-sizing:border-box}
.trs-vendors-page .trs-vendors-hero{padding-top:76px!important;padding-bottom:64px!important}
.trs-vendors-hero h1{font-size:clamp(60px,8.2vw,104px);line-height:.92;font-weight:900;letter-spacing:-.025em;margin:32px 0}
.trs-vendors-page p{font-size:18px;line-height:1.55}
.trs-vendors-page .is-style-eyebrow{font-size:12px;letter-spacing:.3em;color:#1e90ff;font-weight:700}
.trs-vendors-page h2{font-size:44px;line-height:1.06;font-weight:900;letter-spacing:-.015em}
.trs-vendors-hero>p:not(.is-style-eyebrow),.trs-vendors-announcement>p{max-width:680px}
.trs-vendor-lines{display:grid;gap:7px;width:180px;margin-top:36px!important}
.trs-vendor-lines .trs-vendor-line{height:2px;min-height:2px;margin:0!important;background:#d8187f}
.trs-vendor-lines .trs-vendor-line:nth-child(2){width:73%;background:#7820e2}
.trs-vendor-lines .trs-vendor-line:nth-child(3){width:46%;background:#1e90ff}
.trs-vendors-page .trs-vendors-hero{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#d8187f,#7820e2,#1e90ff) 1}
.trs-vendors-announcement{border-top:0}
.trs-vendors-directory{border-top:1px solid var(--trs-vendor-divider)}
.trs-vendors-announcement h2{margin-top:20px}
.trs-vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.trs-vendor-card{min-width:0}
.trs-vendor-card .trs-vendor-logo{margin:0 0 24px!important;aspect-ratio:1;background:#f4f2ed;display:flex;align-items:center;justify-content:center}
.trs-vendor-logo img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;padding:24px;box-sizing:border-box}
.trs-vendor-card h3{font-size:24px;font-weight:700;line-height:1.2;margin:0 0 12px}
.trs-vendor-website a{font-size:16px;font-weight:700;color:#f4f2ed;border-bottom:2px solid #1e90ff;text-decoration:none;padding-bottom:6px}
.trs-vendors-invite{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--trs-vendor-divider)}
.trs-vendors-invite h2{margin-bottom:0}
.trs-vendors-invite .wp-block-button__link{background:transparent!important;color:#f4f2ed!important;border:1px solid #f4f2ed!important;padding:14px 24px;min-height:48px;font-size:14px;letter-spacing:.14em;font-weight:700}
@media(max-width:700px){.trs-vendor-grid,.trs-vendors-invite{grid-template-columns:1fr;gap:32px}.trs-vendors-page>section{padding-top:40px!important;padding-bottom:40px!important}.trs-vendors-page h2{font-size:36px}.trs-vendor-card{max-width:440px}}

/* Approved sponsorship page: native editable cards and balanced sections. */
.trs-become-sponsor-page{background:#0a0a0a;color:#f4f2ed}
.trs-become-sponsor-page>section{max-width:1240px;margin:auto!important;padding:56px!important;box-sizing:border-box}
.trs-become-sponsor-page p{font-size:18px;line-height:1.55}
.trs-become-sponsor-page h2{font-size:44px;line-height:1.06;font-weight:900;letter-spacing:-.015em;margin:0 0 24px}
.trs-become-sponsor-page .is-style-eyebrow{font-size:12px;letter-spacing:.22em;color:#1e90ff}
.trs-become-sponsor-page .trs-become-hero{padding-top:76px!important;padding-bottom:64px!important;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#d8187f,#7820e2,#1e90ff) 1}
.trs-become-hero h1{font-size:clamp(60px,8.2vw,104px);line-height:.94;letter-spacing:-.025em;font-weight:900;margin:32px 0}
.trs-become-intro,.trs-become-options-intro,.trs-become-bottom{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.trs-become-options,.trs-become-bottom{border-top:1px solid #1f1f1f}
.trs-become-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.trs-become-card{padding:28px;background:#111315;border:1px solid #303438;min-width:0}
.trs-become-card h3{font-size:24px;line-height:1.2;font-weight:700;margin:18px 0 16px}
.trs-become-card p:last-child{margin:0}
.trs-become-sponsor-page .trs-become-note{font-size:14px;color:#b4bbc0;margin-top:20px}
.trs-become-text-link a{display:inline-block;border-bottom:2px solid #1e90ff;padding:8px 0;font-size:14px;font-weight:700;letter-spacing:.12em;text-decoration:none}
.trs-footer-community{border-top:1px solid #1f1f1f;background:#0a0a0a;padding:0 max(24px,calc((100% - 1128px)/2));margin-top:0!important}
.trs-footer-countdown-band{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;padding:56px 0;border-bottom:1px solid #1f1f1f}
.trs-footer-mantra{color:var(--wp--preset--color--purple,#7820E2);font-size:44px!important;line-height:1.02;font-weight:900;letter-spacing:-.015em;margin:20px 0}
.trs-footer-countdown-band .threers-countdown{padding:0!important;border:0;margin:0;background:transparent}
.trs-footer-countdown-band .threers-countdown__digits{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;max-width:none}
.trs-footer-countdown-band .threers-countdown__digits [data-unit]{font-size:58px}
.trs-footer-countdown-band .threers-countdown__date{font-size:14px;margin-bottom:24px}
.trs-footer-community .site-footer{padding-top:24px!important;border:0!important}
.trs-footer-community .trs-footer-brand{display:flex;justify-content:space-between;align-items:center;border:0!important;padding:12px 0 24px!important}
.trs-footer-brand img{width:150px!important;height:auto}
.trs-footer-brand p{font-size:14px;color:#b4bbc0}
.trs-footer-community .footer-sections{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:800px){.trs-become-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-footer-countdown-band{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.trs-become-sponsor-page>section{padding:40px 24px!important}.trs-become-intro,.trs-become-options-intro,.trs-become-bottom,.trs-become-grid{grid-template-columns:1fr;gap:24px}.trs-become-sponsor-page h2{font-size:36px}.trs-footer-mantra{font-size:36px!important}.trs-footer-countdown-band .threers-countdown__digits{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.trs-footer-countdown-band .threers-countdown__digits [data-unit]{font-size:38px}.trs-footer-community .trs-footer-brand{flex-wrap:wrap}.trs-footer-countdown-band .threers-countdown__unit{font-size:10px}}
.trs-become-sponsor-page .trs-become-bottom h2{font-size:40px!important;line-height:1.06!important}
.trs-become-sponsor-page .trs-become-card h3{text-transform:none}
@media(max-width:600px){.trs-become-sponsor-page .trs-become-bottom h2{font-size:36px!important}}
.trs-become-intro>*,.trs-become-options-intro>*,.trs-become-bottom>*{margin-top:0!important}
.trs-become-grid>.trs-become-card{margin-block:0!important}
.trs-become-sponsor-page h2{font-size:44px!important;line-height:1.06!important}
@media(max-width:600px){.trs-become-sponsor-page h2{font-size:36px!important}}
main#wp--skip-link--target .trs-become-sponsor-page h2{font-size:44px!important;line-height:1.06!important}
@media(max-width:600px){main#wp--skip-link--target .trs-become-sponsor-page h2{font-size:36px!important}}

/* A quiet introduction distinguishes the sponsorship opportunities below it. */
main#wp--skip-link--target .trs-become-sponsor-page .trs-become-intro h2,.editor-styles-wrapper .trs-become-sponsor-page .trs-become-intro h2{font-size:30px!important;font-weight:700!important;line-height:1.2!important;text-transform:none!important;max-width:400px}
.trs-footer-community .trs-footer-countdown-band{display:flex;flex-direction:column;text-align:center;gap:24px}
.trs-footer-countdown-band .trs-footer-mantra{margin:0;font-size:44px!important}
.trs-footer-countdown-band>.wp-block-group>.is-style-eyebrow{display:none}
.trs-footer-countdown-band .threers-countdown{width:100%;max-width:680px}
/* Compact the centered countdown without reducing its readable number sizes. */
.trs-footer-community .trs-footer-countdown-band{padding:32px 0;gap:12px}
.trs-footer-countdown-band .threers-countdown{display:flex;flex-direction:column;align-items:center;gap:16px!important}
.trs-footer-countdown-band .threers-countdown__date,.trs-footer-countdown-band .threers-countdown__digits{margin:0!important}
.trs-footer-countdown-band .threers-countdown__unit{margin-top:10px}
/* Cards-first sponsorship: one invitation above the opportunities. */
.trs-become-options>.trs-become-copy{max-width:700px;margin-left:0;margin-right:0}

/* Keep the adjustable dark overlay above this photo’s brand duotone. */
.trs-city-photo .trs-image-surface>.trs-overlay-layer{z-index:2}
/* Centered newsletter page; native provider fields and validation remain intact. */
.trs-newsletter-hero{text-align:center}
.trs-newsletter-hero h1{font-size:clamp(52px,6.4vw,84px);line-height:1.02;margin:0 auto;text-transform:uppercase}
.trs-newsletter-hero>.has-large-font-size{max-width:560px;margin-inline:auto;text-wrap:balance}
.trs-newsletter-signup{max-width:460px!important;margin-top:28px!important;text-align:left}
.trs-newsletter-signup .ctct-form-wrapper{margin:0;padding:0;background:transparent;border:0}
.trs-newsletter-signup .ctct-form{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.trs-newsletter-signup .ctct-form>.ctct-form-field-email{flex:0 0 auto;width:100%;margin:0}
.trs-newsletter-signup .ctct-form input[type=email]{box-sizing:border-box;width:100%;min-height:54px;background:#171717;color:#F4F2ED;border:1px solid #666;padding:14px 16px;font-size:18px}
.trs-newsletter-signup .ctct-form input[type=submit]{min-height:54px;margin:0;padding:14px 22px;background:transparent;color:#F4F2ED;border:1px solid #7820E2;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.trs-newsletter-signup .ctct-form input[type=submit]:not(:disabled):hover{background:#7820E2}
.trs-newsletter-signup input:focus-visible{outline:2px solid #1E90FF;outline-offset:4px}
.trs-newsletter-signup input:disabled{cursor:not-allowed;opacity:.65}
.trs-newsletter-signup .ctct-disclosure,.trs-newsletter-signup .ctct-form-field-optin{flex-basis:100%}
.trs-newsletter-consent,.trs-newsletter-status{font-size:14px;line-height:1.6;text-align:center;color:#c9cdd0;margin-top:20px!important}
.trs-newsletter-divider{border:0!important;height:1px!important;width:calc(100% - 48px)!important;max-width:var(--trs-content-width)!important;margin:0 auto 48px!important;background:#303030!important}
@media(max-width:600px){.trs-newsletter-hero{padding:56px 24px 40px!important}.trs-newsletter-signup .ctct-form input[type=submit]{width:100%}}
.trs-newsletter-signup .ctct-submit[aria-disabled=true]:disabled{background-image:none!important;color:#F4F2ED!important;text-indent:0!important;opacity:.65!important}
.trs-newsletter-signup .ctct-form-field-submit{margin:0}

@media(max-width:600px){.trs-newsletter-signup .ctct-form-field-submit{flex-basis:100%}}
/* Native clearfix pseudo-elements must not consume space in the signup flex row. */
.trs-newsletter-signup .ctct-form::before,.trs-newsletter-signup .ctct-form::after{content:none;display:none}
/* A single centered column gives the signup equal visual weight on both sides. */
.trs-newsletter-signup .ctct-form>.ctct-form-field-email,
.trs-newsletter-signup .ctct-form>.ctct-form-field-submit{flex:0 0 auto;width:100%}
.trs-newsletter-signup .ctct-form button[type="submit"],
.trs-newsletter-signup .ctct-form input[type="submit"]{display:block;width:auto;max-width:100%;margin-inline:auto}
.trs-newsletter-signup .trs-newsletter-consent{margin-top:16px!important;text-wrap:balance}

/* About 3RS: native editorial blocks and the existing shared staff grid. */
.trs-about-hero{background:#0A0A0A;isolation:isolate}
.trs-about-hero h1{line-height:.98;position:relative;z-index:1}
.trs-about-hero>.wp-block-buttons{position:relative;z-index:1;gap:28px}
.trs-about-section{width:calc(100% - 2 * var(--3rs-gutter));max-width:var(--trs-content-width);margin-inline:auto!important;padding:64px 0;box-sizing:border-box}
.trs-about-story,.trs-about-directors{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:56px;align-items:start}
.trs-about-section h2{font-size:clamp(30px,3.6vw,44px);line-height:1.08;letter-spacing:-.015em}
.trs-about-section h3{font-size:28px;line-height:1.1}
.trs-about-copy>p:first-child{font-size:21px;line-height:1.6}
:is(.trs-about-hero,.trs-about-section) p{line-height:1.7}
.trs-about-pullquote{border-left:2px solid #D8187F;padding:12px 0 12px 24px;margin-block:28px}
.trs-about-pullquote p{font-size:24px;line-height:1.4}
.trs-about-divider{border:0;height:1px;background:#303030;color:#303030;width:calc(100% - 48px);max-width:var(--trs-content-width);margin:0 auto}
.trs-about-experience-intro{max-width:760px;margin-bottom:40px}
.trs-about-experience-grid{gap:24px;align-items:stretch}
.trs-about-experience{--trs-about-accent:#1E90FF;background:#10151b;border:1px solid #252a30;padding:28px;box-sizing:border-box;min-width:0;display:flex;flex-direction:column}
.trs-about-experience-2{--trs-about-accent:#7820E2;background:#15111b;border-color:#2a2032}
.trs-about-experience-3{--trs-about-accent:#D8187F;background:#1a1017;border-color:#32202b}
.trs-about-experience:before{content:'';display:block;width:48px;height:2px;background:var(--trs-about-accent);margin-bottom:24px}
.trs-about-experience>.is-style-eyebrow{color:#F4F2ED;letter-spacing:.18em}
.trs-about-experience>.trs-about-experience-more{margin-top:auto;padding-top:20px;font-size:14px;font-weight:700}
.trs-about-experience-more a{text-underline-offset:5px}
.trs-about-experience>.wp-block-buttons{margin-top:12px}
/* Match the bold title treatment of the following weekend section. */
.trs-home-overview{max-width:1192px;margin-inline:auto;text-align:left}
.entry-content .trs-home-intro-section .trs-home-overview h2,.editor-styles-wrapper .trs-home-intro-section .trs-home-overview h2{font-size:clamp(30px,6.5vw,100px)!important;font-weight:900;line-height:.98;letter-spacing:-.02em;margin:24px 0 32px;max-width:none}
.trs-home-intro-accent{color:#7820E2}
.trs-home-overview>p:not(.is-style-eyebrow){max-width:820px;margin:0 0 20px;line-height:1.75}
.trs-home-overview>.wp-block-buttons{justify-content:flex-start;margin-top:24px}
.trs-home-overview>.is-style-eyebrow{margin:0}
/* Full explanations remain visible beneath the compact overview cards. */
.trs-about-explanations{margin-top:56px}
.trs-about-explanations .trs-about-explanation{grid-template-columns:minmax(0,240px) minmax(0,1fr)!important;gap:48px;padding-block:40px;border-top:1px solid #303030;scroll-margin-top:150px}
.trs-about-explanation-heading h3{margin-top:16px}
.trs-about-explanation-heading>.is-style-eyebrow{color:#1E90FF}
.trs-about-explanation-2 .is-style-eyebrow{color:#a66aff}
.trs-about-explanation-3 .is-style-eyebrow{color:#f062a9}
.trs-about-explanation-copy{max-width:760px;min-width:0}
.trs-about-explanation-copy>p{margin:0 0 22px;font-size:17px;line-height:1.75}
.trs-about-explanation-copy>p:last-child{margin-bottom:0}
@media(max-width:900px){.trs-about-explanations .trs-about-explanation{grid-template-columns:minmax(0,1fr)!important;gap:20px;padding-block:32px}.trs-about-explanation-heading h3{margin-bottom:0}.trs-about-explanations{margin-top:40px}}
.trs-about-director-photos{min-width:0}
.trs-about-director-photos .is-style-staff-grid{--staff-column-gap:24px}
.trs-about-directors .is-style-label{font-size:12px;letter-spacing:.1em;line-height:1.6}

@media(max-width:900px){section.trs-about-story,section.trs-about-directors{grid-template-columns:minmax(0,1fr);gap:28px}.trs-about-experiences .trs-about-experience-grid{grid-template-columns:minmax(0,1fr)}.trs-about-director-photos{width:100%;max-width:620px}.trs-about-experience{padding:28px}.trs-about-section{padding-block:48px}}
@media(max-width:600px){.trs-about-hero{padding-top:48px;padding-bottom:40px}.trs-about-hero h1{font-size:clamp(34px,10vw,52px)}.trs-about-hero>.wp-block-buttons{gap:16px}.trs-about-pullquote{padding-left:18px}.trs-about-pullquote p{font-size:22px}.trs-about-copy>p:first-child{font-size:19px}.trs-about-directors .wp-block-post-title{font-size:21px}.trs-about-director-photos .is-style-staff-grid{--staff-column-gap:16px}}

/* Override the shared full-bleed margins only for the contained About editorial sections. */
.entry-content > .trs-about-section{width:100%}

/* About story refresh: short title, open editorial copy and a quieter closing note. */
.trs-about-hero .trs-about-hero-intro{font-size:clamp(19px,2vw,25px);max-width:620px;margin-block:0 32px;color:#c7c9cc}
/* A single reading column keeps the opening personal and easy to follow. */
.trs-about-letter{max-width:740px;margin-inline:auto}
.trs-about-letter h2{margin-block:20px 28px}
.trs-about-letter>p:not(.is-style-eyebrow){font-size:18px;line-height:1.75;margin-block:0 22px}
.trs-about-letter>.trs-about-letter-lead{font-size:23px;line-height:1.6}
.trs-about-letter>.trs-about-signature{color:#c7c9cc;font-size:16px;margin-bottom:0}
/* Native Group gradient remains editable through the shared Design controls. */
.trs-about-closing-band{padding:0;color:#F4F2ED}
.trs-about-closing-grid{gap:56px;align-items:center}
.trs-about-closing-heading h2{font-size:clamp(30px,3vw,40px);line-height:1.12;margin-block:0}
.trs-about-closing-copy>p{font-size:18px;line-height:1.7;margin-block:0 20px}
.trs-about-closing-copy>p:last-child{margin-bottom:0}
.trs-about-closing-copy strong{color:#F4F2ED}
@media(max-width:1024px){.trs-about-closing-grid{gap:28px}}
@media(max-width:600px){.trs-about-letter>.trs-about-letter-lead{font-size:20px}.trs-about-letter>p:not(.is-style-eyebrow){font-size:17px}.trs-about-closing-copy>p{font-size:17px}}

/* Story color wash uses native editable Group gradient controls. */
.trs-about-story-panel{padding:0;isolation:isolate}
.trs-about-story-content{position:relative;z-index:1}
.trs-about-story-panel .trs-about-letter{margin-left:0;margin-right:auto;max-width:740px}

/* FAQ rhythm: avoid adding the generic block gap to the toggle's own padding. */
.wp-block-accordion.is-style-faq .wp-block-accordion-item{margin-block:0!important}
.wp-block-accordion.is-style-faq .wp-block-accordion-panel{margin-block-start:0!important;padding-bottom:24px;max-width:none}
.wp-block-accordion.is-style-faq .is-open .wp-block-accordion-heading__toggle{padding-bottom:12px}
.wp-block-accordion.is-style-faq .wp-block-accordion-panel>:first-child{margin-top:0}
.wp-block-accordion.is-style-faq .wp-block-accordion-panel>:last-child{margin-bottom:0}

/* Native editable social-link rows wrap long group names on narrow screens. */
.trs-social-connections{width:100%;box-sizing:border-box}
.trs-social-links{gap:16px 28px}
.trs-social-links>p{margin:0;min-width:0;line-height:1.6}
.trs-social-links a{overflow-wrap:anywhere;text-underline-offset:4px}
.trs-social-links a:focus-visible{outline:2px solid #1E90FF;outline-offset:4px}

/* Shared page edges. Full-bleed bands and narrow reading/form columns retain their layouts.
   The same stylesheet is loaded in the native block editor. */
.trs-policy-editorial{width:100%;max-width:var(--trs-content-width)!important;margin-inline:auto!important;padding-inline:0;box-sizing:border-box}
.trs-become-sponsor-page>section{width:calc(100% - 2 * var(--3rs-gutter));max-width:var(--trs-content-width);padding-inline:0!important}
.entry-content > hr.wp-block-separator:not(.is-style-three-lines):not(.is-style-brand):not(.is-style-hero-divider),
.editor-styles-wrapper .is-root-container > hr.wp-block-separator:not(.is-style-three-lines):not(.is-style-brand):not(.is-style-hero-divider){width:100%!important;max-width:var(--trs-content-width)!important;margin-inline:auto!important}
.editor-styles-wrapper .is-root-container > .trs-about-section{width:100%}
.trs-schedule-section{max-width:var(--trs-wide-width,1312px)!important}

/* About story: real brand artwork beside the editable note, on black. */
.trs-about-story-content{gap:48px;align-items:center}
.trs-about-story-image{margin:0;min-width:0;width:100%}
.trs-about-story-image img{display:block;width:100%;height:auto}
@media(max-width:1024px){.trs-about-story-panel .trs-about-story-content{grid-template-columns:minmax(0,1fr);gap:32px}}

/* Native social links stay unboxed, with distinct Page and Group labels. */
.trs-social-connections{margin-top:16px}
.trs-social-icons{gap:4px 20px!important;margin:0!important}
.trs-social-icons .wp-social-link{background:none!important;margin:0!important}
.trs-social-icons .wp-social-link a{display:flex;flex-direction:row;align-items:center;gap:7px;min-height:44px;padding:0!important;border:0;background:transparent;color:#F4F2ED!important;border-radius:0;text-decoration:none}
.trs-social-icons .wp-social-link svg{width:20px;height:20px;flex-shrink:0}
.trs-social-icons .wp-block-social-link-label{font-size:13px!important;line-height:1.4;margin:0!important;white-space:nowrap}
.trs-social-icons .wp-social-link a:hover{color:#a66aff!important;text-decoration:underline;text-underline-offset:4px}
.trs-social-icons .wp-social-link a:focus-visible{outline:2px solid #1E90FF;outline-offset:4px}
.trs-footer-community .site-footer>.wp-block-group.trs-footer-connect{display:flex;flex-wrap:wrap;justify-content:center;align-items:center!important;gap:8px 36px!important;padding-block:16px!important;margin-block:0!important;border-top:1px solid #303030}
.trs-footer-connect .trs-social-connections{margin-top:0}
.trs-footer-connect .wp-block-button__link{font-size:11px;letter-spacing:.08em;padding:12px 16px;min-height:44px;box-sizing:border-box}
/* Compact centered notice, copyright and real policy links are the final content. */
.trs-footer-community .site-footer>.wp-block-group.trs-footer-legal,.site-footer .trs-footer-legal>.footer-legal-details{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;text-align:center;width:100%}
.trs-footer-community .site-footer>.wp-block-group.trs-footer-legal{padding-block:20px!important}
.site-footer .trs-footer-legal p{font-size:13px;line-height:1.6;margin:0!important}
.site-footer .trs-footer-legal .trs-footer-notice{font-size:13px}
.site-footer .trs-footer-legal :is(.footer-legal-details> .wp-block-group,.trs-footer-policy-links){display:flex;flex-wrap:wrap;justify-content:center;gap:0 12px!important;margin:0!important}
.trs-footer-policy-links>p+p:before{content:'|';margin-right:12px;color:#777}
@media(max-width:700px){.trs-footer-community .site-footer>.wp-block-group.trs-footer-connect{justify-content:center;gap:8px!important}.trs-footer-connect .trs-social-icons{justify-content:center}.trs-footer-connect .wp-block-buttons{justify-content:center}.trs-social-icons{column-gap:10px!important}.trs-social-icons .wp-block-social-link-label{font-size:11px!important}.trs-social-icons .wp-social-link a{gap:5px}.trs-social-icons .wp-social-link svg{width:18px;height:18px}}

/* One neutral subject rule across public pages and the native editor. */
:root{--trs-topic-rule:#303030}
hr.wp-block-separator:not(.is-style-three-lines):not(.is-style-brand):not(.is-style-hero-divider){width:100%!important;height:1px!important;border:0!important;background:var(--trs-topic-rule)!important;color:var(--trs-topic-rule)!important;opacity:1!important;max-width:var(--trs-content-width);margin-block:0!important;margin-inline:auto!important}
:is(.trs-sponsors-invite,.trs-vendors-directory,.trs-vendors-invite,.trs-become-options,.trs-become-bottom,#volunteer){border-top:0!important}
:is(.trs-sponsors-hero,.trs-vendors-hero,.trs-become-hero){border-bottom:0!important;border-image:none!important}
:is(.trs-policy-chapter,.trs-policy-local-nav,.trs-about-explanation,.trs-support-staff__intro,.trs-support-staff__role,.trs-footer-community,.trs-footer-countdown-band),.site-footer>.wp-block-group{border-color:var(--trs-topic-rule)!important}
/* Policy hero/chapter and pricing subtopic rules use the same neutral treatment. */
.trs-policy-editorial .trs-policy-editorial-hero::after{height:1px!important;background:var(--trs-topic-rule)!important}
:is(.trs-policy-contact,.trs-policy-return){border-top:1px solid var(--trs-topic-rule);padding-top:24px!important}
#passes .trs-pricing-addons{border-color:var(--trs-topic-rule)!important}
.entry-content .trs-become-sponsor-page>hr.wp-block-separator.threers-topic-divider,.editor-styles-wrapper .trs-become-sponsor-page>hr.wp-block-separator.threers-topic-divider{width:calc(100% - 2 * var(--3rs-gutter))!important}

/* Recognizable logos only; native screen-reader names stay available. */
.trs-social-icons .wp-social-link a{width:auto;min-width:44px;min-height:44px;justify-content:center;gap:7px}
.trs-social-page a::after{content:"Page"}
.trs-social-group a::after{content:"Group"}
.trs-social-page a::after,.trs-social-group a::after{font-size:12px;line-height:1.4}
.trs-social-icons .wp-social-link svg{width:24px;height:24px}
.trs-social-icons .wp-block-social-link-label.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.trs-social-heading{font-size:12px!important;line-height:1.4!important;letter-spacing:.22em;margin:32px 0 8px!important;color:#a66aff}
.threers-contact-section .wp-block-column:nth-child(2)>.is-style-eyebrow:first-child{margin-top:0}

/* Beginner Track follows the home page’s three accent cards. */
.trs-beginner-content{background:#0A0A0A;color:#F4F2ED}
.trs-beginner-content>p,.trs-beginner-content>.wp-block-list{max-width:820px;margin-left:max(0px,calc((100% - var(--trs-content-width))/2))!important;margin-right:auto!important}
.trs-beginner-content>h2{margin-top:48px;margin-bottom:24px}
.trs-beginner-content>h2:first-child{margin-top:0}
.trs-beginner-cards{gap:24px!important;margin-block:40px!important;align-items:stretch!important}
.trs-beginner-cards>.wp-block-column{display:flex;min-width:0}
.trs-beginner-card{--track-color:#1E90FF;background:#0e1114;border:1px solid #183447;padding:clamp(24px,3.2vw,48px);width:100%;box-sizing:border-box}
.trs-beginner-card-2{--track-color:#7820E2;background:#110e15;border-color:#30203f}
.trs-beginner-card-3{--track-color:#D8187F;background:#150e12;border-color:#42182e}
.trs-beginner-card::before{content:"";display:block;width:56px;height:3px;background:var(--track-color);margin-bottom:28px}
.trs-beginner-card h3{font-size:26px!important;line-height:1.1;margin-top:0}
.trs-beginner-card h2{font-size:44px!important;line-height:1;margin-block:24px}
.trs-beginner-card p{color:#A7AFB4;font-size:16px;line-height:1.7}
@media(max-width:781px){.trs-beginner-cards{flex-direction:column}.trs-beginner-cards>.wp-block-column{flex-basis:auto!important}.trs-beginner-card{padding:28px}}
/* Keep these page titles at the established hero scale on small screens too. */
.is-style-page-hero.trs-beginner-hero h1:not(.is-style-eyebrow),.is-style-page-hero.trs-about-hero h1:not(.is-style-eyebrow){font-size:clamp(44px,8.2vw,104px)!important;line-height:.98;letter-spacing:-.02em}

/* A quiet form rhythm, from introduction through status and consent. */
.trs-newsletter-hero>.has-large-font-size{margin-bottom:0!important}
.trs-newsletter-signup{margin-top:12px!important}
.trs-newsletter-signup .ctct-form{gap:16px}
.trs-newsletter-signup .ctct-form>p{margin:0!important;padding:0}
.trs-newsletter-signup .ctct-form label{display:block;margin-bottom:6px}
.trs-newsletter-signup .trs-newsletter-status{margin:24px 0 0!important}
.trs-newsletter-signup .trs-newsletter-consent{margin-top:20px!important}
.trs-become-sponsor-page .trs-sponsor-contact-form{padding-block:56px!important}
.trs-sponsor-contact-form>.wp-block-shortcode,.trs-sponsor-contact-form>.ctct-form-wrapper{max-width:760px;margin-inline:auto}
.trs-sponsor-contact-form>h2{margin-bottom:32px}
.trs-sponsor-contact-form .ctct-form{max-width:760px;margin-inline:auto}
/* Public link availability and readable policy destinations. */
.trs-policy-editorial :is(p,li,dd) a:not(:where(.trs-policy-guide *,.trs-policy-local-nav *)),.trs-policy-hub :is(p,li) a{color:#8CC8FF;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.trs-policy-editorial :is(p,li,dd) a:not(:where(.trs-policy-guide *,.trs-policy-local-nav *)):hover,.trs-policy-hub :is(p,li) a:hover{color:#c3a0ff}
.trs-beginner-status{color:#a7afb4;margin-block:24px!important}
.trs-registration-action [aria-disabled=true]{cursor:not-allowed}
.trs-coming-soon-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:16px;box-sizing:border-box;background:transparent;border:0;overflow:auto}
.trs-coming-soon-dialog[open]{display:flex;align-items:center;justify-content:center}
.trs-coming-soon-card{width:480px;max-width:100%;max-height:calc(100dvh - 32px);padding:28px;background:#0A0A0A;color:#F4F2ED;border:1px solid #666;border-top:2px solid #7820E2;border-radius:4px;box-sizing:border-box;overflow:auto}
#trs-reporting-notice-title{font-size:28px!important;line-height:1.2;margin:0 0 20px;text-transform:none}
.trs-coming-soon-dialog p{line-height:1.7;margin:0 0 24px}
.trs-coming-soon-dialog button{min-height:44px;padding:10px 20px;border:1px solid #a66aff;color:#F4F2ED;background:transparent;cursor:pointer}
.trs-coming-soon-dialog button:focus-visible{outline:2px solid #1E90FF;outline-offset:3px}
.trs-reporting-action{text-decoration:underline;text-underline-offset:3px}
.is-style-section-light .trs-reporting-action{color:#6024a7}
.trs-policy-editorial a:focus-visible,.trs-policy-hub a:focus-visible,.trs-reporting-action:focus-visible{outline:2px solid #1E90FF;outline-offset:3px}

/* One artwork canvas for inner-page heroes, independent of title height.
   Explicit native artwork controls continue to override these shared defaults. */
.is-style-page-hero{background-color:#0A0A0A;isolation:isolate;border-bottom:0}
.is-style-page-hero::before{
 top:var(--trs-hero-artwork-top,var(--trs-template-hero-top,calc(clamp(420px,42vw,680px) * -.25)));
 height:var(--trs-hero-artwork-size,var(--trs-template-hero-size,clamp(420px,42vw,680px)));
}
/* Nested native heroes bleed out of the content grid; their words keep its edges. */
.trs-policy-editorial>.trs-policy-editorial-hero,
:is(.trs-sponsors-page,.trs-vendors-page,.trs-become-sponsor-page)>.is-style-page-hero{
 width:100vw;max-width:none!important;box-sizing:border-box;
 margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
 padding-left:max(var(--3rs-gutter),calc((100vw - var(--trs-content-width))/2))!important;
 padding-right:max(var(--3rs-gutter),calc((100vw - var(--trs-content-width))/2))!important;
}
.trs-policy-editorial>.trs-policy-editorial-hero{padding-top:clamp(40px,5vw,72px);padding-bottom:56px}
.trs-policy-editorial .trs-policy-editorial-hero::after{display:none}
/* Native separators are siblings outside the clipped artwork, never painted over it. */
.trs-policy-editorial>.threers-topic-divider{margin-bottom:24px!important}

/* Brand-book text pairings on the existing dark Home surfaces.
   Accent bars keep their original magenta/purple/blue colors. */
.trs-home-intro-accent,.threers-weekend-design .threers-weekend-accent{color:#1E90FF}
.hero-event-date .hero-event-date__date{color:#F4F2ED}
.threers-weekend-design .threers-feature-boxes>.wp-block-group>.is-style-label,
.threers-weekend-design .threers-feature-boxes>.wp-block-group>p:last-child,
.threers-weekend-design .threers-feature-boxes a{color:#1E90FF}

/* Center the status line between copy and cards; separate the longer topics. */
.trs-beginner-status+.trs-beginner-cards{margin-top:24px!important}
.trs-beginner-content>hr.wp-block-separator:not(.is-style-three-lines):not(.is-style-brand):not(.is-style-hero-divider){margin-block:40px!important}
.trs-beginner-content>hr.threers-topic-divider+h2{margin-top:0}

/* FAQ topics use the policy guide's left-column reading pattern. */
.trs-faq-questions{scroll-margin-top:calc(var(--wp-admin--admin-bar--height,0px) + 128px)}
.trs-faq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.trs-faq-guide{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 120px);padding:24px 20px;background:#0A0A0A;border-top:3px solid #1E90FF;margin:0!important}
.trs-faq-guide>.is-style-eyebrow{font-size:12px;font-weight:700;letter-spacing:.3em;line-height:1.4;margin:0 0 16px}
.trs-faq-guide>.trs-faq-topic-link{margin:0;font-size:16px;line-height:1.55}
.trs-faq-guide a{display:block;padding:12px 0;border-bottom:1px solid #303030;color:#F4F2ED;text-decoration:none;overflow-wrap:anywhere}
.trs-faq-guide a:hover{text-decoration:underline;text-underline-offset:4px;color:#1E90FF}
.trs-faq-guide a:focus-visible{outline:2px solid #1E90FF;outline-offset:4px}
.trs-faq-topic-groups{min-width:0;margin:0!important}
.trs-faq-topic{margin:0 0 48px!important;scroll-margin-top:calc(var(--wp-admin--admin-bar--height,0px) + 160px)}
.trs-faq-topic:last-child{margin-bottom:0!important}
.trs-faq-topic>h2{font-size:clamp(30px,3vw,40px);font-weight:900;letter-spacing:-.015em;line-height:1.1;margin:0 0 24px}
.trs-faq-topic>.wp-block-accordion{margin:0!important}
@media(max-width:900px){.trs-faq-layout{grid-template-columns:1fr;gap:32px}.trs-faq-guide{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.trs-faq-guide>.is-style-eyebrow{grid-column:1/-1}.trs-faq-guide a{height:100%;box-sizing:border-box;min-height:44px}.trs-faq-topic>h2{font-size:32px}}

/* Keep the contact label and social destinations together as one editable unit. */
.trs-contact-social{margin-top:24px!important}
.trs-contact-social>.trs-social-heading{font-size:12px!important;line-height:1.4!important;font-weight:700;letter-spacing:.3em;margin:0 0 8px!important;color:#1E90FF}
.trs-contact-social>.trs-social-connections{margin:0!important}
.trs-contact-social .trs-social-icons{gap:0 20px!important}
/* A quiet contact line needs space, without another dividing rule. */
.trs-policy-hub>.trs-policy-contact{border-top:0;padding-top:0!important;margin-top:32px;font-size:16px;line-height:1.55}

/* Blue distinguishes prose links; navigation and buttons keep component styling.
   The layer overrides older prose-link colors, including their hover states. */
@layer trs-site-links {
 :where(.wp-site-blocks,body.wp-theme-3rs-year-one>dialog,.editor-styles-wrapper .is-root-container){--trs-site-link:#1E90FF}
 :where(.wp-site-blocks,body.wp-theme-3rs-year-one>dialog,.editor-styles-wrapper .is-root-container) :is(.is-style-section-light,.is-style-card-light,.has-contrast-background-color){--trs-site-link:#005EA8}
 :where(.wp-site-blocks,body.wp-theme-3rs-year-one>dialog,.editor-styles-wrapper .is-root-container) :is(.threers-weekend-design,.is-style-card,.has-base-background-color){--trs-site-link:#1E90FF}
 :where(.wp-site-blocks,body.wp-theme-3rs-year-one>dialog,.editor-styles-wrapper .is-root-container) :is(p,li,dd) a[href]:not(:where(nav *,header *,footer *,.trs-faq-guide *,.trs-policy-guide *,.trs-policy-local-nav *,.wp-block-buttons *,.wp-block-social-links *,.trs-social-connections *,.footer-links *,.wp-block-button__link)) {
  color:var(--trs-site-link,#1E90FF)!important;
  text-underline-offset:4px;
 }
 :where(.wp-site-blocks,body.wp-theme-3rs-year-one>dialog,.editor-styles-wrapper .is-root-container) :is(p,li,dd) a[href]:not(:where(nav *,header *,footer *,.trs-faq-guide *,.trs-policy-guide *,.trs-policy-local-nav *,.wp-block-buttons *,.wp-block-social-links *,.trs-social-connections *,.footer-links *,.wp-block-button__link)) :where(span,strong,em,b,i,mark,small){color:inherit!important}
}

/* About closes directly into the shared footer. */
.wp-site-blocks:has(.trs-about-closing-band)>footer.wp-block-template-part{margin-block-start:0;}
.wp-site-blocks:has(.trs-about-closing-band) .trs-footer-community{border-top:0!important;}

/* Registration closes directly into the shared countdown. */
.wp-site-blocks:has(.trs-registration-policies)>footer.wp-block-template-part{margin-block-start:0;}
.wp-site-blocks:has(.trs-registration-policies) .trs-footer-community{border-top:0!important;}

/* Artwork must cover the complete native hero, including its lower padding. */
.is-style-page-hero::before{min-height:calc(100% - var(--trs-hero-artwork-top,var(--trs-template-hero-top,calc(clamp(420px,42vw,680px) * -.25))));}
/* Policy articles end with one return link and a compact, unruled footer transition. */
.trs-policy-editorial:has(>.trs-policy-return){padding-bottom:28px;}
.trs-policy-editorial:has(>.trs-policy-return) .trs-policy-chapter:last-child{border-bottom:0!important;padding-bottom:16px;}
.trs-policy-editorial>.trs-policy-return{border-top:0!important;padding-top:0!important;margin-top:16px;}
.wp-site-blocks:has(.trs-policy-return,.trs-newsletter-hero)>footer.wp-block-template-part{margin-block-start:0;}
.wp-site-blocks:has(.trs-policy-return,.trs-newsletter-hero) .trs-footer-community{border-top:0!important;}
/* Staff's outer native section supplies the final spacing; avoid nested padding. */
#all>.trs-support-staff{padding-bottom:0;}
.trs-sponsors-coming-soon{font-size:clamp(24px,3vw,36px);font-weight:700;margin:0;}

/* One edge-to-edge rule begins the shared footer on every page. */
.wp-site-blocks>footer.wp-block-template-part{margin-block-start:0!important;border-top:1px solid var(--trs-topic-rule,#303030)!important;width:100%;max-width:none;box-sizing:border-box;}
.wp-site-blocks>footer.wp-block-template-part .trs-footer-community{border-top:0!important;}

/* Policy reading layout: a quieter, hierarchical guide and generous text rhythm. */
.trs-policy-editorial .trs-policy-editorial-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.trs-policy-editorial .trs-policy-guide{background:#111319;border:1px solid #303641;border-top:3px solid #1e90ff;padding:22px 18px;position:sticky;top:calc(120px + var(--wp-admin--admin-bar--height,0px));max-height:calc(100dvh - 140px - var(--wp-admin--admin-bar--height,0px));overflow-y:auto;scrollbar-width:thin;scrollbar-color:#667178 transparent}
.trs-policy-editorial .trs-policy-guide{box-sizing:border-box;overflow-x:hidden;scrollbar-gutter:stable}
.trs-policy-editorial .trs-policy-guide::-webkit-scrollbar{width:8px}.trs-policy-editorial .trs-policy-guide::-webkit-scrollbar-thumb{background:#667178;border-radius:8px}
.trs-policy-editorial .trs-policy-guide .trs-policy-guide-label{margin:0 0 14px;color:#9aabb9;letter-spacing:.19em}
.trs-policy-editorial .trs-policy-guide p{margin:0!important;line-height:1.4}
.trs-policy-editorial .trs-policy-guide a{display:flex;align-items:center;min-height:44px;border:0!important;border-radius:3px;padding:8px 10px!important;color:#c8cbd0;font-size:14px;line-height:1.42;text-decoration:none;overflow-wrap:normal}
.trs-policy-editorial .trs-policy-guide a{overflow-wrap:anywhere}
.trs-policy-editorial .trs-policy-guide p.trs-guide-level-2:not(:nth-child(2)){border-top:1px solid #303641;margin-top:8px!important;padding-top:8px}
.trs-policy-editorial .trs-policy-guide .trs-guide-level-2 a{font-weight:700;color:#f4f2ed}
.trs-policy-editorial .trs-policy-guide .trs-guide-level-3 a{padding-left:20px!important;color:#c8cbd0}
.trs-policy-editorial .trs-policy-guide .trs-guide-level-4 a{padding-left:30px!important;color:#aeb8c2;font-size:13px}
.trs-policy-editorial .trs-policy-guide a:hover{background:#222633;color:#fff}
.trs-policy-editorial .trs-policy-guide a:focus-visible{outline-offset:-2px}
.trs-policy-editorial .trs-policy-chapter{padding:34px 0 40px;border-color:#313640}
.trs-policy-editorial .trs-policy-chapter:first-child{padding-top:0}
.trs-policy-editorial .trs-policy-chapter-copy{max-width:820px}
.trs-policy-editorial .trs-policy-chapter-copy :is(p,li){line-height:1.7}
.trs-policy-editorial .trs-policy-chapter-copy li+li{margin-top:8px}
@media(max-width:760px){.trs-policy-editorial .trs-policy-editorial-layout{grid-template-columns:minmax(0,1fr);gap:32px}.trs-policy-editorial .trs-policy-guide{position:static;max-height:none;overflow:visible;padding:20px}.trs-policy-editorial .trs-policy-chapter{padding:28px 0 32px}}
@media(max-width:760px){.trs-policy-editorial .trs-policy-guide{max-height:min(45dvh,420px);overflow-y:auto;overflow-x:hidden}}
/* Match the quieter reading scale of the website policies. */
.trs-policy-editorial:not(.trs-policy-hub) .trs-policy-chapter-copy h2{font-size:clamp(24px,2.3vw,32px)!important;line-height:1.25!important;margin:0 0 12px}
.trs-policy-editorial:not(.trs-policy-hub) .trs-policy-chapter-copy h3.trs-policy-subheading{font-size:21px!important;margin:28px 0 12px}
.trs-policy-editorial:not(.trs-policy-hub) .trs-policy-chapter{padding:28px 0 32px}
