
	.reading-progress {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99999;
		width: 0%;
		height: 3px;
		background: var(--blue, #0d4c3d);
		pointer-events: none;
	}

	.event-single,
	.event-archive-page {
		background: #fff;
		color: var(--black, #0a0a0a);
		font-family: var(--body, Georgia, serif);
	}

	.event-single {
		--event-pad: clamp(32px, 5.1vw, 110px);
	}

	body.single-sjh_event {
		overflow-x: clip;
	}

	body.single-sjh_event .site-header {
		background: rgba(255,255,255,.98);
		border-bottom-color: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	body.single-sjh_event .site-header .mark {
		background: var(--blue, #0d4c3d);
		color: #fff;
	}

	body.single-sjh_event .site-header .word,
	body.single-sjh_event .site-header .nav {
		color: var(--black, #0a0a0a);
	}

	body.single-sjh_event .site-header .nav a::after {
		background: var(--blue, #0d4c3d);
	}

	body.single-sjh_event .site-header.scrolled {
		background: rgba(255,255,255,.95);
		border-bottom-color: var(--line, rgba(0,0,0,.08));
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
	}

	body.single-sjh_event .site-header.scrolled .mark {
		background: var(--blue, #0d4c3d);
		color: #fff;
	}

	body.single-sjh_event .site-header.scrolled .word,
	body.single-sjh_event .site-header.scrolled .nav {
		color: var(--black, #0a0a0a);
	}

	body.single-sjh_event .site-header.scrolled .nav a:hover {
		color: var(--blue, #0d4c3d);
	}

	body.single-sjh_event .site-header.scrolled .nav a::after {
		background: var(--blue, #0d4c3d);
	}

	.event-video-hero {
		width: 100vw;
		margin: 0;
		padding: 64px 0 0;
		background: #fff;
	}

	.event-video-frame {
		position: relative;
		width: 100%;
		aspect-ratio: 3 / 2;
		margin: 0;
		overflow: hidden;
		background: #f4f2ef;
	}

	.event-video-trigger {
		width: 100%;
		height: 100%;
		display: block;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: inherit;
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
	}

	.event-video-trigger::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.22));
		opacity: .72;
		transition: opacity .42s ease;
		pointer-events: none;
	}

	.event-video-frame img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: cover;
		object-position: center 42%;
		transition: scale .9s cubic-bezier(.16, 1, .3, 1), filter .5s ease;
	}

	.event-video-frame:hover img,
	.event-video-frame:focus-within img {
		scale: 1.025;
		filter: saturate(1.04) contrast(1.02);
	}

	.event-video-frame:hover .event-video-trigger::after,
	.event-video-frame:focus-within .event-video-trigger::after {
		opacity: .42;
	}

	.event-play-button {
		--play-magnet-x: 0px;
		--play-magnet-y: 0px;
		--play-scale: 1;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 3;
		width: clamp(58px, 8vw, 108px);
		height: clamp(58px, 8vw, 108px);
		border-radius: 50%;
		background: rgba(255,255,255,.74);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
		transform: translate(calc(-50% + var(--play-magnet-x)), calc(-50% + var(--play-magnet-y))) scale(var(--play-scale));
		box-shadow: 0 18px 46px rgba(0,0,0,.18);
		overflow: hidden;
		pointer-events: none;
		will-change: transform;
		transition: background .32s ease, box-shadow .42s ease;
	}

	.event-play-button::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 53%;
		z-index: 2;
		width: 0;
		height: 0;
		border-top: clamp(12px, 1.7vw, 20px) solid transparent;
		border-bottom: clamp(12px, 1.7vw, 20px) solid transparent;
		border-left: clamp(18px, 2.35vw, 30px) solid var(--blue, #0d4c3d);
		transform: translate(-50%, -50%);
		transition: border-left-color .3s ease, transform .38s cubic-bezier(.16, 1, .3, 1);
	}

	.event-play-button::after {
		content: "";
		display: none;
	}

	.event-video-trigger.is-play-button-hovered .event-play-button,
	.event-video-frame:focus-within .event-play-button {
		--play-scale: 1.055;
		background: rgba(13, 76, 61,.94);
		box-shadow: 0 22px 58px rgba(13, 76, 61,.28);
	}

	.event-video-trigger.is-play-button-hovered .event-play-button::before,
	.event-video-frame:focus-within .event-play-button::before {
		border-left-color: #fff;
		transform: translate(-50%, -50%) scale(1.08);
	}

	.event-video-trigger.is-play-button-hovered .event-play-button::after,
	.event-video-frame:focus-within .event-play-button::after {
		opacity: 1;
		transform: scale(1);
	}

	.event-play-copy {
		display: none;
	}

	body.event-video-lightbox-open {
		overflow: hidden;
	}

	.event-video-lightbox {
		position: fixed;
		inset: 0;
		z-index: 9998;
		display: grid;
		place-items: center;
		padding: clamp(18px, 4vw, 64px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .42s ease, visibility 0s linear .42s;
	}

	.event-video-lightbox.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s;
	}

	.event-video-lightbox-backdrop {
		position: absolute;
		inset: 0;
		border: 0;
		background: rgba(13, 76, 61,.84);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		cursor: pointer;
		opacity: 0;
		transition: opacity .42s ease;
	}

	.event-video-lightbox.is-open .event-video-lightbox-backdrop {
		opacity: 1;
	}

	.event-video-lightbox-panel {
		position: relative;
		z-index: 1;
		width: min(1120px, 100%);
		color: #fff;
		opacity: 0;
		transform: translateY(26px) scale(.965);
		transition: opacity .46s cubic-bezier(.16, 1, .3, 1), transform .46s cubic-bezier(.16, 1, .3, 1);
	}

	.event-video-lightbox.is-open .event-video-lightbox-panel {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.event-video-lightbox-media {
		position: relative;
		overflow: hidden;
		aspect-ratio: 16 / 9;
		background: #050505;
		box-shadow: 0 28px 90px rgba(0,0,0,.34);
	}

	.event-video-lightbox-media video {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: contain;
		background: #050505;
	}

	.event-video-lightbox-close {
		position: absolute;
		right: 0;
		top: -54px;
		z-index: 2;
		min-height: 36px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font: 700 12px/1 Arial, sans-serif;
		letter-spacing: .14em;
		text-transform: uppercase;
		cursor: pointer;
		transition: opacity .25s ease, transform .25s ease;
	}

	.event-video-lightbox-close:hover,
	.event-video-lightbox-close:focus-visible {
		opacity: .78;
		transform: translateY(-2px);
	}

	.event-video-lightbox-caption {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: clamp(14px, 2vw, 26px);
		align-items: baseline;
		margin-top: 18px;
	}

	.event-video-lightbox-caption span {
		font: 700 12px/1 Arial, sans-serif;
		letter-spacing: .14em;
		text-transform: uppercase;
		opacity: .76;
	}

	.event-video-lightbox-caption strong {
		font: 600 clamp(24px, 3.2vw, 46px)/1 var(--serif, Georgia, serif);
		letter-spacing: -.02em;
	}

	.event-single-hero,
	.event-archive-hero {
		position: relative;
		min-height: auto;
		display: flex;
		align-items: flex-end;
		padding: 70px var(--event-pad, var(--pad, 44px)) 16px;
		overflow: hidden;
	}

	.event-video-hero + .event-single-hero {
		padding-top: clamp(20px, 3vw, 42px);
	}

	.event-single-hero {
		background: #fff;
		color: var(--black, #0a0a0a);
	}

	.event-archive-hero {
		padding-top: clamp(118px, 9vw, 164px);
		padding-bottom: 34px;
		background: #fff;
		color: var(--black, #0a0a0a);
	}

	.event-single-hero::after {
		display: none;
	}

	.event-single-media {
		display: none;
	}

	.event-single-media img,
	.event-single-media video {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: cover;
		object-position: center 36%;
		filter: saturate(.92) contrast(1.04);
	}

	.event-single-content,
	.event-archive-content {
		position: relative;
		z-index: 2;
		width: calc(100vw - (2 * var(--event-pad, var(--pad, 44px))));
		max-width: none;
	}

	.event-kicker {
		display: inline-flex;
		gap: 10px;
		align-items: center;
		margin-bottom: 28px;
		color: currentColor;
		font: 700 clamp(14px, 1.6vw, 18px)/1 var(--body, Georgia, serif);
		letter-spacing: .12em;
		text-transform: uppercase;
	}

	.event-kicker::before {
		content: "";
		width: 54px;
		height: 2px;
		background: currentColor;
	}

	.event-single-title,
	.event-archive-title {
		margin: 0;
		font-family: var(--serif, Georgia, serif);
		font-weight: 600;
		letter-spacing: -.01em;
		line-height: 1;
	}

	.event-single-title {
		width: 100%;
		max-width: none;
		color: var(--blue, #0d4c3d);
		font-size: var(--sjh-h1-size, clamp(50px, 4.875vw, 78px));
		line-height: var(--sjh-h1-line, 1);
	}

	.event-archive-title {
		max-width: 900px;
		color: var(--blue, #0d4c3d);
		font-size: var(--sjh-h1-size, clamp(50px, 4.875vw, 78px));
		letter-spacing: -.01em;
		line-height: var(--sjh-h1-line, 1);
	}

	.event-single-lede,
	.event-archive-lede {
		width: 100%;
		max-width: none;
		margin: 16px 0 0;
		font: 400 var(--sjh-p-size, clamp(18px, 1.625vw, 26px))/var(--sjh-p-line, 1.5) var(--body, Georgia, serif);
	}

	.event-single-lede { color: var(--black, #0a0a0a); }
	.event-archive-content .event-kicker { color: var(--blue, #0d4c3d); }
	.event-archive-lede { color: #222; }

	.event-meta-row {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		margin-top: 2px;
	}

	.event-meta-row span,
	.event-tax-pill {
		display: inline-flex;
		align-items: center;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		color: var(--blue, #0d4c3d);
		font: 400 clamp(22px, 2.6vw, 36px)/1.08 var(--serif, Georgia, serif);
		letter-spacing: 0;
		text-transform: none;
	}

	.event-meta-row span:nth-child(n+2) { display: none; }

	.event-tax-row .event-tax-pill {
		min-height: 30px;
		padding: 0 12px;
		border: 1px solid rgba(13, 76, 61,.22);
		border-radius: 999px;
		background: rgba(13, 76, 61,.04);
		color: var(--blue, #0d4c3d);
		font: 700 10px/1 Arial, sans-serif;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.event-tax-row {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 18px;
	}

	.event-tax-pill {
		border-color: rgba(255,255,255,.22);
		background: rgba(255,255,255,.08);
	}

	.event-intro-panel {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 0 var(--event-pad, var(--pad, 44px)) 28px;
	}

	.event-intro-panel h2 {
		display: none;
		max-width: 1180px;
		margin: 0;
		color: var(--blue, #0d4c3d);
		font: 700 var(--sjh-h2-size, clamp(38px, 3.75vw, 60px))/var(--sjh-h2-line, 1) var(--serif, Georgia, serif);
		letter-spacing: -.01em;
	}

	.event-intro-panel p {
		width: 100%;
		max-width: 820px;
		margin: 0;
		color: #202020;
		font: 400 var(--sjh-p-size, clamp(18px, 1.625vw, 26px))/var(--sjh-p-line, 1.5) var(--body, Georgia, serif);
	}

	.event-zigzag {
		max-width: 1500px;
		margin: 0 auto;
		display: grid;
		gap: clamp(56px, 7vw, 96px);
		padding: 0 var(--pad, 72px) clamp(80px, 11vw, 140px);
	}

	.event-static-scroll {
		padding: clamp(18px, 2.5vw, 42px) var(--event-pad, var(--pad, 44px)) clamp(42px, 6vw, 90px);
		background: #fff;
	}

	.event-static-layout {
		width: calc(100vw - (2 * var(--event-pad, var(--pad, 44px))));
		max-width: none;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 25vw);
		gap: clamp(30px, 4.8vw, 86px);
		align-items: start;
	}

	.event-static-grid {
		width: 100%;
		max-width: none;
		margin: 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(12px, 1.1vw, 16px);
	}

	.event-static-frame {
		position: relative;
		min-height: 0;
		aspect-ratio: 1 / 1.2;
		margin: 0;
		overflow: hidden;
		background: #f4f2ef;
	}

	.event-static-frame:nth-child(1),
	.event-static-frame:nth-child(4),
	.event-static-frame:nth-child(5) {
		grid-column: 1 / -1;
		aspect-ratio: 3 / 2;
		min-height: 0;
	}

	.event-static-frame img {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		object-position: center 28%;
		opacity: .96;
		transition: scale .85s cubic-bezier(.16, 1, .3, 1), opacity .5s ease;
	}

	.event-static-frame.is-portrait,
	.event-static-frame.is-squareish {
		grid-column: auto;
		aspect-ratio: auto;
		min-height: 0;
		background: #f7f5f1;
	}

	.event-static-frame.is-portrait {
		aspect-ratio: 1 / 1.2;
	}

	.event-static-frame.is-portrait img {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		object-position: center top;
	}

	.event-static-frame.is-squareish {
		display: grid;
		place-items: center;
		padding: clamp(10px, 1.4vw, 22px);
	}

	.event-static-frame.is-squareish img {
		position: relative;
		top: auto;
		left: auto;
		object-position: center center;
	}

	.event-static-frame.is-squareish img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: min(86vh, 920px);
		object-fit: contain;
	}

	.event-static-frame:nth-child(1).is-portrait,
	.event-static-frame:nth-child(1).is-squareish,
	.event-static-frame:nth-child(4).is-portrait,
	.event-static-frame:nth-child(4).is-squareish,
	.event-static-frame:nth-child(5).is-portrait,
	.event-static-frame:nth-child(5).is-squareish {
		display: block;
		grid-column: 1 / -1;
		aspect-ratio: 3 / 2;
		padding: 0;
	}

	.event-static-frame:nth-child(1).is-portrait img,
	.event-static-frame:nth-child(1).is-squareish img,
	.event-static-frame:nth-child(4).is-portrait img,
	.event-static-frame:nth-child(4).is-squareish img,
	.event-static-frame:nth-child(5).is-portrait img,
	.event-static-frame:nth-child(5).is-squareish img {
		width: 100%;
		max-width: none;
		height: 100%;
		max-height: none;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		object-position: center 28%;
	}

	.event-static-frame:hover img {
		scale: 1.035;
		opacity: .88;
	}

	.event-static-copy {
		position: sticky;
		top: 104px;
		display: grid;
		gap: clamp(14px, 1.55vw, 22px);
		padding-top: clamp(4px, .6vw, 10px);
	}

	.event-static-copy span {
		width: fit-content;
		padding-bottom: 9px;
		border-bottom: 1px solid currentColor;
		color: var(--blue, #0d4c3d);
		font: 700 12px/1 Arial, sans-serif;
		letter-spacing: .16em;
		text-transform: uppercase;
	}

	.event-static-copy h2 {
		max-width: 440px;
		margin: 0;
		color: var(--blue, #0d4c3d);
		font: 700 var(--sjh-h2-size, clamp(38px, 3.75vw, 60px))/var(--sjh-h2-line, 1) var(--serif, Georgia, serif);
		letter-spacing: -.015em;
	}

	.event-static-copy p {
		max-width: 430px;
		margin: 0;
		color: #202020;
		font: 400 var(--sjh-p-size, clamp(18px, 1.625vw, 26px))/var(--sjh-p-line, 1.5) var(--body, Georgia, serif);
	}

	.event-static-copy .event-static-outcome {
		color: rgba(10,10,10,.72);
		font-size: var(--sjh-p-size, clamp(18px, 1.625vw, 26px));
	}

	.event-static-meta {
		display: grid;
		gap: 8px;
		margin-top: clamp(8px, 1.4vw, 20px);
		padding-top: clamp(18px, 2.4vw, 30px);
		border-top: 1px solid rgba(13, 76, 61,.18);
	}

	.event-static-meta small {
		color: var(--blue, #0d4c3d);
		font: 700 11px/1.35 Arial, sans-serif;
		letter-spacing: .12em;
		text-transform: uppercase;
	}

	.event-story-block {
		display: grid;
		grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
		gap: clamp(32px, 4.5vw, 72px);
		align-items: start;
	}

	.event-story-block.is-reverse {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	}

	.event-story-block.is-reverse .event-story-image {
		order: -1;
	}

	.event-story-text {
		position: sticky;
		top: 130px;
	}

	.event-story-label {
		display: block;
		margin-bottom: 16px;
		color: var(--blue, #0d4c3d);
		font: 700 14px/1 Arial, sans-serif;
		letter-spacing: .14em;
		text-transform: uppercase;
	}

	.event-story-text h2 {
		margin: 0;
		color: var(--black, #0a0a0a);
		font: 700 var(--sjh-h2-size, clamp(38px, 3.75vw, 60px))/var(--sjh-h2-line, 1) var(--serif, Georgia, serif);
		letter-spacing: -.02em;
	}

	.event-story-text p {
		margin: 22px 0 0;
		color: #333;
		font: 400 var(--sjh-p-size, clamp(18px, 1.625vw, 26px))/var(--sjh-p-line, 1.5) var(--body, Georgia, serif);
	}

	.event-story-image {
		position: relative;
		aspect-ratio: 3 / 4;
		overflow: hidden;
		border-radius: 4px;
		background: #111;
		box-shadow: 0 16px 36px rgba(0,0,0,.06);
	}

	.event-story-image img {
		width: 100%;
		height: 116%;
		display: block;
		position: absolute;
		top: -8%;
		left: 0;
		object-fit: cover;
		transition: scale .85s cubic-bezier(.16, 1, .3, 1);
	}

	.event-story-image:hover img {
		scale: 1.05;
	}

	.event-outcome {
		position: relative;
		padding: clamp(90px, 12vw, 160px) var(--pad, 72px);
		background: var(--blue, #0d4c3d);
		color: #fff;
		overflow: hidden;
	}

	.event-outcome::before {
		content: "“";
		position: absolute;
		top: -6vw;
		left: 2vw;
		font: 400 48vw/1 var(--serif, Georgia, serif);
		color: rgba(255,255,255,.07);
		pointer-events: none;
		user-select: none;
	}

	.event-outcome-inner {
		position: relative;
		z-index: 2;
	}

	.event-outcome span {
		display: block;
		margin-bottom: 24px;
		font: 700 15px/1 Arial, sans-serif;
		letter-spacing: .13em;
		text-transform: uppercase;
		color: rgba(255,255,255,.85);
	}

	.event-outcome p {
		width: 100%;
		max-width: none;
		margin: 0;
		font: 500 clamp(32px, 4.6vw, 72px)/1.15 var(--serif, Georgia, serif);
	}

	.event-gallery-section {
		padding: clamp(22px, 3.2vw, 48px) var(--event-pad, var(--pad, 44px)) clamp(28px, 4vw, 66px);
		background: #fff;
	}

	.event-gallery-head {
		width: calc(100vw - (2 * var(--event-pad, var(--pad, 44px))));
		max-width: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: clamp(20px, 3vw, 48px);
		margin: 0 0 clamp(22px, 2.8vw, 34px);
	}

	.event-gallery-title {
		margin: 0;
		color: var(--black, #0a0a0a);
		font: 700 var(--sjh-h2-size, clamp(38px, 3.75vw, 60px))/var(--sjh-h2-line, 1) var(--serif, Georgia, serif);
		letter-spacing: -.02em;
	}

	.event-gallery-controls {
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(12px, 1.45vw, 20px);
		padding-top: 0;
	}

	.event-gallery-frame {
		position: relative;
		width: calc(100vw - (2 * var(--event-pad, var(--pad, 44px))));
		max-width: none;
		margin: 0;
		background: transparent;
	}

	.event-gallery-open {
		width: 100%;
		display: grid;
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
		gap: clamp(14px, 2vw, 30px);
		align-items: stretch;
		padding: 0;
		border: 0;
		background: transparent;
		color: inherit;
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
	}

	.event-gallery-open::after {
		display: none;
	}

	.event-gallery-primary,
	.event-gallery-secondary {
		position: relative;
		display: block;
		height: clamp(340px, 41vw, 660px);
		aspect-ratio: auto;
		overflow: hidden;
		background: #f4f2ef;
	}

	.event-gallery-secondary {
		aspect-ratio: auto;
	}

	.event-gallery-primary img,
	.event-gallery-secondary img,
	.event-gallery-frame img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: cover;
		object-position: center 28%;
		transition: opacity .32s ease, scale .8s cubic-bezier(.16, 1, .3, 1), filter .45s ease;
	}

	.event-gallery-frame.is-changing img {
		opacity: 1;
		scale: 1;
	}

	.event-gallery-open:hover img,
	.event-gallery-open:focus-visible img {
		scale: 1.025;
		filter: saturate(1.04) contrast(1.02);
	}

	.event-gallery-count {
		position: static;
		min-width: 52px;
		color: var(--black, #0a0a0a);
		font: 700 clamp(13px, .95vw, 16px)/1 Arial, sans-serif;
		letter-spacing: .08em;
		text-transform: uppercase;
		text-align: center;
		text-shadow: none;
	}

	.event-gallery-arrow {
		position: relative;
		top: auto;
		z-index: 1;
		width: clamp(40px, 3.1vw, 46px);
		height: clamp(40px, 3.1vw, 46px);
		border: 1px solid rgba(13, 76, 61,.18);
		border-radius: 50%;
		background: rgba(255,255,255,.94);
		color: var(--blue, #0d4c3d);
		box-shadow: 0 10px 28px rgba(0,0,0,.08);
		overflow: hidden;
		transform: none;
		cursor: pointer;
		transition: transform .3s cubic-bezier(.16, 1, .3, 1), background .28s ease, border-color .28s ease, box-shadow .3s ease, color .28s ease, opacity .28s ease;
	}

	.event-gallery-arrow:hover,
	.event-gallery-arrow:focus-visible {
		background: var(--blue, #0d4c3d);
		border-color: var(--blue, #0d4c3d);
		color: #fff;
		box-shadow: 0 16px 36px rgba(13, 76, 61,.22);
		transform: translateY(-2px) scale(1.04);
	}

	.event-gallery-arrow.is-prev,
	.event-gallery-arrow.is-next {
		left: auto;
		right: auto;
	}

	.event-gallery-arrow::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		width: 11px;
		height: 11px;
		margin: auto;
		border-top: 2px solid currentColor;
		border-left: 2px solid currentColor;
		transform: translateX(2px) rotate(-45deg);
	}

	.event-gallery-arrow::after {
		content: "";
		display: none;
	}

	.event-gallery-arrow:hover::after,
	.event-gallery-arrow:focus-visible::after {
		opacity: 1;
		transform: scale(1);
	}

	.event-gallery-arrow.is-next::before {
		transform: translateX(-2px) rotate(135deg);
	}

	.event-image-lightbox,
	.event-video-lightbox {
		-webkit-tap-highlight-color: transparent;
	}

	body.event-image-lightbox-open {
		overflow: hidden;
	}

	.event-image-lightbox {
		position: fixed;
		inset: 0;
		z-index: 9998;
		display: grid;
		place-items: center;
		padding: clamp(28px, 4vw, 58px) clamp(34px, 5.4vw, 92px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .42s ease, visibility 0s linear .42s;
	}

	.event-image-lightbox.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s;
	}

	.event-image-lightbox-backdrop {
		position: absolute;
		inset: 0;
		border: 0;
		background: rgba(13, 76, 61,.76);
		backdrop-filter: blur(18px) saturate(1.05);
		-webkit-backdrop-filter: blur(18px) saturate(1.05);
		cursor: pointer;
		opacity: 0;
		transition: opacity .42s ease;
	}

	.event-image-lightbox.is-open .event-image-lightbox-backdrop {
		opacity: 1;
	}

	.event-image-lightbox-panel {
		position: relative;
		z-index: 1;
		width: min(1340px, 100%);
		color: #fff;
		opacity: 0;
		transform: translateY(18px) scale(.975);
		transition: opacity .48s cubic-bezier(.16, 1, .3, 1), transform .48s cubic-bezier(.16, 1, .3, 1);
	}

	.event-image-lightbox.is-open .event-image-lightbox-panel {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.event-image-lightbox-frame {
		position: relative;
		width: 100%;
		height: min(72vh, 760px);
		margin: 0;
		display: grid;
		place-items: center;
		overflow: hidden;
		background: rgba(0,0,0,.12);
		box-shadow: 0 24px 72px rgba(0,0,0,.22);
	}

	.event-image-lightbox-frame img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: contain;
		opacity: 1;
		transition: opacity .28s ease, transform .36s cubic-bezier(.16, 1, .3, 1);
	}

	.event-image-lightbox-frame.is-changing img {
		opacity: 0;
		transform: scale(.985);
	}

	.event-image-lightbox-close,
	.event-video-lightbox-close {
		border: 0 !important;
		outline: 0 !important;
		box-shadow: none !important;
	}

	.event-image-lightbox-close {
		position: absolute;
		right: 0;
		top: -44px;
		z-index: 3;
		min-height: 30px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font: 700 11px/1 Arial, sans-serif;
		letter-spacing: .16em;
		text-transform: uppercase;
		cursor: pointer;
		transition: opacity .25s ease, transform .25s ease;
	}

	.event-image-lightbox-close:hover,
	.event-image-lightbox-close:focus-visible {
		opacity: .76;
		transform: translateY(-2px);
	}

	.event-image-lightbox-footer {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: clamp(12px, 1.5vw, 22px);
		align-items: baseline;
		margin-top: 15px;
		padding: 0 clamp(2px, .4vw, 6px);
	}

	.event-image-lightbox-footer span {
		font: 700 11px/1 Arial, sans-serif;
		letter-spacing: .14em;
		text-transform: uppercase;
		opacity: .82;
	}

	.event-image-lightbox-footer strong {
		font: 600 clamp(24px, 2.5vw, 38px)/1 var(--serif, Georgia, serif);
		letter-spacing: -.02em;
	}

	.event-image-lightbox-arrow {
		position: absolute;
		top: 50%;
		z-index: 3;
		width: clamp(40px, 3.1vw, 46px);
		height: clamp(40px, 3.1vw, 46px);
		border: 1px solid rgba(255,255,255,.7);
		border-radius: 50%;
		background: rgba(255,255,255,.92);
		color: var(--blue, #0d4c3d);
		overflow: hidden;
		cursor: pointer;
		transform: translateY(-50%);
		box-shadow: 0 10px 28px rgba(0,0,0,.12);
		transition: transform .3s cubic-bezier(.16, 1, .3, 1), background .28s ease, border-color .28s ease, box-shadow .3s ease, color .28s ease;
	}

	.event-image-lightbox-arrow:hover,
	.event-image-lightbox-arrow:focus-visible {
		background: var(--blue, #0d4c3d);
		border-color: var(--blue, #0d4c3d);
		color: #fff;
		box-shadow: 0 16px 36px rgba(0,0,0,.2);
		transform: translateY(-50%) scale(1.04);
	}

	.event-image-lightbox-arrow.is-prev { left: clamp(12px, 1.6vw, 22px); }
	.event-image-lightbox-arrow.is-next { right: clamp(12px, 1.6vw, 22px); }

	.event-image-lightbox-arrow::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid currentColor;
		border-left: 2px solid currentColor;
		transform: translateX(2px) rotate(-45deg);
	}

	.event-image-lightbox-arrow::after {
		content: "";
		display: none;
	}

	.event-image-lightbox-arrow:hover::after,
	.event-image-lightbox-arrow:focus-visible::after {
		opacity: 1;
		transform: scale(1);
	}

	.event-image-lightbox-arrow.is-next::before {
		transform: translateX(-2px) rotate(135deg);
	}

	.event-gallery-grid {
		width: min(100%, 820px);
		margin: 0;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		padding: 0;
		background: #fff;
	}

	.event-gallery-grid figure {
		position: relative;
		aspect-ratio: 4 / 3;
		min-height: 0;
		margin: 0;
		overflow: hidden;
		background: #f4f2ef;
	}

	.event-gallery-grid img {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		object-position: center 38%;
		opacity: .94;
		transition: scale .85s cubic-bezier(.16, 1, .3, 1), opacity .5s;
	}

	.event-gallery-grid figure.is-portrait img,
	.event-gallery-grid figure.is-squareish img {
		width: auto;
		max-width: 100%;
		height: 100%;
		position: relative;
		top: auto;
		left: auto;
		object-fit: contain;
		object-position: center center;
		margin: 0 auto;
	}

	.event-gallery-grid figure:hover img {
		scale: 1.06;
		opacity: .75;
	}

	.event-related-services {
		display: grid;
		grid-template-columns: minmax(260px, .32fr) minmax(0, 1fr);
		gap: clamp(28px, 5vw, 84px);
		align-items: start;
		padding: clamp(18px, 3vw, 42px) var(--event-pad, var(--pad, 44px)) clamp(18px, 3vw, 42px);
		background: #fff;
	}

	.event-related-services h2 {
		margin: 0;
		color: var(--blue, #0d4c3d);
		font: 600 clamp(30px, 3.4vw, 54px)/1 var(--serif, Georgia, serif);
		letter-spacing: -.01em;
	}

	.event-related-service-links {
		display: grid;
		border-top: 1px solid rgba(13, 76, 61,.24);
	}

	.event-related-service-links a {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 24px;
		padding: clamp(16px, 2vw, 24px) 0;
		border-bottom: 1px solid rgba(13, 76, 61,.18);
		color: #111;
		font: 400 clamp(21px, 2.2vw, 32px)/1.1 var(--serif, Georgia, serif);
		transition: color .25s ease, padding-left .32s cubic-bezier(.16, 1, .3, 1);
	}

	.event-related-service-links a::after {
		content: "→";
		color: var(--blue, #0d4c3d);
		font: 400 clamp(20px, 2vw, 28px)/1 var(--serif, Georgia, serif);
		transition: transform .32s cubic-bezier(.16, 1, .3, 1);
	}

	.event-related-service-links a:hover,
	.event-related-service-links a:focus-visible {
		color: var(--blue, #0d4c3d);
		padding-left: 10px;
	}

	.event-related-service-links a:hover::after,
	.event-related-service-links a:focus-visible::after {
		transform: translateX(6px);
	}

	.event-next {
		padding: clamp(18px, 3vw, 42px) var(--event-pad, var(--pad, 44px)) clamp(34px, 5vw, 72px);
		background: #fff;
		color: var(--blue, #0d4c3d);
	}

	.event-next-inner {
		width: calc(100vw - (2 * var(--event-pad, var(--pad, 44px))));
		max-width: none;
		display: grid;
		grid-template-columns: 1fr;
		gap: clamp(32px, 6vw, 92px);
		align-items: end;
	}

	.event-next a {
		position: relative;
		display: inline-flex;
		width: 100%;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
		padding-top: clamp(16px, 2vw, 28px);
		color: var(--blue, #0d4c3d);
		border-top: 1px solid rgba(13, 76, 61,.46);
		border-bottom: 0;
		font: 700 clamp(18px, 2vw, 30px)/1.1 var(--serif, Georgia, serif);
		letter-spacing: .01em;
		text-transform: uppercase;
		transition: color .25s ease;
	}

	.event-next a::after {
		content: "→";
		position: relative;
		width: clamp(36px, 4vw, 52px);
		height: clamp(36px, 4vw, 52px);
		display: grid;
		flex: 0 0 auto;
		place-items: center;
		border: 1px solid rgba(13, 76, 61,.34);
		border-radius: 50%;
		background: rgba(13, 76, 61,.04);
		color: var(--blue, #0d4c3d);
		font: 400 clamp(20px, 2vw, 28px)/1 var(--serif, Georgia, serif);
		overflow: hidden;
		transition: transform .32s cubic-bezier(.16, 1, .3, 1), background .28s ease, color .28s ease, border-color .28s ease, box-shadow .32s ease;
	}

	.event-next a:hover::after,
	.event-next a:focus-visible::after {
		background: var(--blue, #0d4c3d);
		border-color: var(--blue, #0d4c3d);
		color: #fff;
		box-shadow: 0 14px 34px rgba(13, 76, 61,.2);
		transform: translateX(6px) scale(1.045);
	}

	.event-next .event-tax-pill {
		border-color: rgba(13, 76, 61,.24);
		background: rgba(13, 76, 61,.05);
		color: var(--blue, #0d4c3d);
		font: 700 12px/1 Arial, sans-serif;
	}

	.event-next .event-tax-pill:hover {
		background: var(--blue, #0d4c3d);
		border-color: var(--blue, #0d4c3d);
		color: #fff;
	}

	.event-filter-bar {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		padding: 0 var(--pad, 44px) 34px;
	}

	.event-filter-bar a,
	.event-filter-bar > span {
		display: inline-flex;
		align-items: center;
		min-height: 42px;
		padding: 0 22px;
		border: 1px solid rgba(13, 76, 61,.18);
		border-radius: 999px;
		color: #111;
		font: 700 13px/1 Arial, sans-serif;
		letter-spacing: .08em;
		text-transform: uppercase;
		transition: background .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease, transform .38s cubic-bezier(.16, 1, .3, 1), box-shadow .38s ease;
	}

	.event-filter-bar a {
		--filter-x: 50%;
		--filter-y: 50%;
		position: relative;
		isolation: isolate;
		overflow: hidden;
		background: rgba(255,255,255,.88);
	}

	.event-filter-bar a::before {
		content: "";
		position: absolute;
		left: var(--filter-x);
		top: var(--filter-y);
		z-index: -1;
		width: 180%;
		aspect-ratio: 1;
		border-radius: 50%;
		background: var(--blue, #0d4c3d);
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
		transition: opacity .2s ease, transform .48s cubic-bezier(.16, 1, .3, 1);
	}

	.event-filter-bar a::after {
		content: "";
		position: absolute;
		inset: -1px;
		z-index: -2;
		border-radius: inherit;
		background: var(--blue, #0d4c3d);
		opacity: 0;
		transform: scale(.94);
		transition: opacity .28s ease, transform .42s cubic-bezier(.16, 1, .3, 1);
	}

	.event-filter-bar a > span {
		position: relative;
		z-index: 1;
		display: inline-flex;
		align-items: center;
		transition: transform .38s cubic-bezier(.16, 1, .3, 1);
	}

	.event-filter-bar a:hover {
		border-color: var(--blue, #0d4c3d);
		color: #fff;
		background: transparent;
		box-shadow: 0 14px 34px rgba(13, 76, 61,.12);
		transform: translateY(-2px);
	}

	.event-filter-bar a.is-active,
	.event-filter-bar a.is-pending {
		border-color: var(--blue, #0d4c3d);
		color: #fff;
		background: transparent;
		box-shadow: 0 10px 30px rgba(13, 76, 61,.1);
	}

	.event-filter-bar a:hover::before,
	.event-filter-bar a:focus-visible::before {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	.event-filter-bar a.is-active::after,
	.event-filter-bar a.is-pending::after {
		opacity: 1;
		transform: scale(1);
	}

	.event-filter-bar a:hover > span,
	.event-filter-bar a:focus-visible > span {
		transform: translateY(-1px);
	}

	.event-archive-grid {
		position: relative;
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(18px, 3vw, 42px);
		padding: 0 var(--pad, 44px) 48px;
		background: #fff;
		border-top: 0;
		transition: opacity .25s ease, transform .25s ease;
		overflow: hidden;
	}

	.event-archive-grid::before {
		content: "";
		position: absolute;
		left: var(--pad, 44px);
		right: var(--pad, 44px);
		top: 0;
		z-index: 3;
		height: 2px;
		background: var(--blue, #0d4c3d);
		opacity: 0;
		transform: scaleX(.08);
		transform-origin: left center;
		pointer-events: none;
	}

	.event-archive-page.is-filtering .event-archive-grid {
		pointer-events: none;
	}

	.event-archive-page.is-filtering .event-filter-bar a {
		pointer-events: none;
		opacity: .58;
	}

	.event-archive-page.is-filtering .event-filter-bar a.is-pending {
		opacity: 1;
		transform: translateY(-2px);
	}

	.event-archive-page.is-filtering .event-archive-grid::before {
		opacity: 1;
		animation: sjhFilterProgress 1.05s cubic-bezier(.65, 0, .35, 1) infinite;
	}

	@keyframes sjhFilterProgress {
		0% {
			transform: translateX(-8%) scaleX(.08);
		}
		45% {
			transform: translateX(28%) scaleX(.36);
		}
		100% {
			transform: translateX(104%) scaleX(.08);
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.event-filter-bar a,
		.event-filter-bar a::before,
		.event-filter-bar a::after,
		.event-filter-bar a > span {
			transition: none;
		}

		.event-filter-bar a:hover,
		.event-filter-bar a:focus-visible {
			transform: none;
			box-shadow: none;
		}

		.event-archive-page.is-filtering .event-archive-grid::before {
			animation: none;
			opacity: .7;
			transform: scaleX(1);
		}
	}

	.event-archive-card {
		position: relative;
		aspect-ratio: 4 / 3;
		overflow: hidden;
		background: #000;
		will-change: transform, opacity;
	}

	.event-archive-card img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: cover;
		object-position: center 30%;
		opacity: .9;
		transform: scale(1.02);
		transition: transform 1s cubic-bezier(.16, 1, .3, 1), opacity .8s ease;
	}

	.event-archive-card:hover img,
	.event-archive-card.is-hovered img {
		opacity: .82;
		transform: scale(1.055);
	}

	.event-archive-card-panel {
		position: absolute;
		inset: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: clamp(16px, 2vw, 28px);
		background: rgba(255,255,255,.74);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		color: var(--black, #0a0a0a);
		opacity: 0;
		transition: opacity .42s ease;
	}

	.event-archive-card:hover .event-archive-card-panel,
	.event-archive-card.is-hovered .event-archive-card-panel,
	.event-archive-card:focus-visible .event-archive-card-panel {
		opacity: 1;
	}

	.event-archive-card-panel-inner {
		transform: translateY(0);
		transition: transform .55s cubic-bezier(.16, 1, .3, 1);
	}

	.event-archive-card:not(:hover):not(.is-hovered):not(:focus-visible) .event-archive-card-panel-inner {
		transform: translateY(18px);
	}

	.event-archive-card-panel strong {
		display: block;
		max-width: 92%;
		color: var(--blue, #0d4c3d);
		font: 600 clamp(22px, 2.5vw, 34px)/1.05 var(--serif, Georgia, serif);
		letter-spacing: 0;
	}

	.event-archive-card-panel span {
		display: block;
		max-width: 92%;
		margin-top: 12px;
		color: #111;
		font: 400 clamp(15px, 1.35vw, 20px)/1.18 var(--serif, Georgia, serif);
		letter-spacing: 0;
		text-transform: none;
	}

	@media (max-width: 900px) {
		.event-video-hero {
			padding-top: 64px;
		}

		.event-video-frame {
			aspect-ratio: 4 / 3;
		}

		.event-video-lightbox {
			padding: 18px;
			align-items: center;
		}

		.event-video-lightbox-close {
			top: -46px;
		}

		.event-video-lightbox-caption {
			grid-template-columns: 1fr;
			gap: 8px;
		}

		.event-image-lightbox {
			padding: 18px;
		}

		.event-image-lightbox-panel {
			width: 100%;
		}

		.event-image-lightbox-frame {
			height: min(66vh, 620px);
		}

		.event-image-lightbox-arrow {
			top: 50%;
			bottom: auto;
			width: 40px;
			height: 40px;
			transform: translateY(-50%);
		}

		.event-image-lightbox-arrow:hover,
		.event-image-lightbox-arrow:focus-visible {
			transform: translateY(-50%) scale(1.045);
		}

		.event-image-lightbox-arrow.is-prev {
			left: 8px;
		}

		.event-image-lightbox-arrow.is-next {
			right: 8px;
		}

		.event-story-block,
		.event-static-layout,
		.event-static-grid {
			grid-template-columns: 1fr;
		}

		.event-static-copy {
			position: static;
			order: -1;
			padding-bottom: 20px;
		}

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

		.event-gallery-head {
			align-items: end;
		}

		.event-gallery-open {
			grid-template-columns: 1fr;
		}

		.event-gallery-primary,
		.event-gallery-secondary {
			height: clamp(280px, 70vw, 520px);
			aspect-ratio: auto;
		}

		.event-related-services {
			grid-template-columns: 1fr;
			gap: 18px;
		}

		.event-story-block.is-reverse {
			grid-template-columns: 1fr;
		}

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

		.event-story-block.is-reverse .event-story-image {
			order: 0;
		}

		.event-story-text {
			position: static;
		}

		.event-static-frame,
		.event-static-frame:nth-child(1),
		.event-static-frame:nth-child(4n),
		.event-static-frame:nth-child(5n) {
			grid-column: auto;
			aspect-ratio: 4 / 3;
			min-height: clamp(280px, 70vw, 560px);
		}

		.event-static-frame.is-portrait,
		.event-static-frame.is-squareish {
			aspect-ratio: auto;
			min-height: 0;
		}

		.event-next-inner {
			grid-template-columns: 1fr;
		}
	}

	@media (max-width: 600px) {
		.event-video-hero {
			padding-top: 82px;
		}

		.event-video-frame {
			aspect-ratio: 1 / 1.08;
		}

		.event-play-copy {
			bottom: 22px;
		}

		.event-video-lightbox {
			padding: 14px;
			padding-top: clamp(92px, 18vh, 150px);
			align-items: start;
			justify-items: center;
		}

		.event-video-lightbox-panel {
			width: 100%;
		}

		.event-video-lightbox-media {
			aspect-ratio: 16 / 9;
		}

		.event-video-lightbox-media video {
			object-fit: contain;
		}

		.event-video-lightbox-close {
			position: absolute;
			top: -56px;
			right: 8px;
			bottom: auto;
			min-height: 38px;
			padding: 0 12px;
			border: 1px solid rgba(255,255,255,.76);
			background: rgba(13, 76, 61,.18);
			backdrop-filter: blur(10px);
			-webkit-backdrop-filter: blur(10px);
		}

		.event-video-lightbox-caption strong {
			font-size: clamp(24px, 10vw, 38px);
		}

		.event-gallery-frame {
			aspect-ratio: auto;
		}

		.event-gallery-head {
			display: grid;
			grid-template-columns: 1fr;
			gap: 18px;
		}

		.event-gallery-controls {
			width: 100%;
			justify-content: space-between;
			padding-top: 0;
		}

		.event-gallery-count {
			position: static;
			left: auto;
			bottom: auto;
			min-width: 70px;
		}

		.event-gallery-arrow {
			width: 44px;
			height: 44px;
			transform: none;
		}

		.event-gallery-arrow:hover,
		.event-gallery-arrow:focus-visible {
			transform: translateY(-2px) scale(1.045);
		}

		.event-image-lightbox {
			padding: 92px 12px 18px;
			align-items: start;
		}

		.event-image-lightbox-close {
			position: absolute;
			top: -50px;
			right: 0;
			min-height: 32px;
			padding: 0;
			background: transparent;
		}

		.event-image-lightbox-frame {
			height: auto;
			aspect-ratio: 4 / 3;
		}

		.event-image-lightbox-footer {
			grid-template-columns: 1fr;
			gap: 8px;
		}

		.event-image-lightbox-footer strong {
			font-size: clamp(22px, 8vw, 32px);
		}

		.event-single-hero,
		.event-archive-hero {
			padding-top: 150px;
		}

		.event-meta-row span,
		.event-tax-pill {
			font-size: 11px;
		}

		.event-meta-row span {
			min-height: 0;
			padding: 0;
		}

		.event-tax-pill {
			min-height: 32px;
			padding: 0 12px;
		}

		.event-archive-card-panel {
			opacity: 1;
			background: rgba(255,255,255,.78);
		}

		.event-archive-card-panel-inner {
			transform: translateY(0) !important;
		}

		.event-archive-grid {
			grid-template-columns: 1fr;
		}

		.event-gallery-grid {
			grid-template-columns: 1fr;
		}
	}

	@media (hover: none), (pointer: coarse) {
		.event-archive-card-panel {
			opacity: 1;
			background: rgba(255,255,255,.78);
		}

		.event-archive-card-panel-inner {
			transform: translateY(0) !important;
		}
	}
