
	body.sjh-flagship-site {
		--sjh-pad: clamp(28px, 4.2vw, 84px);
		--sjh-section-y: clamp(68px, 7vw, 110px);
		--sjh-hero-top: clamp(128px, 10vw, 168px);
		--sjh-hero-bottom: clamp(44px, 5vw, 74px);
		--sjh-h1-size: clamp(52px, 6.2vw, 104px);
		--sjh-h2-size: clamp(36px, 4.4vw, 70px);
		--sjh-h3-size: clamp(24px, 2.3vw, 38px);
		--sjh-lede-size: clamp(21px, 2.1vw, 34px);
		--sjh-body-size: clamp(18px, 1.45vw, 25px);
		--sjh-metal: #0d4c3d;
		--sjh-metal-dark: #05271f;
		--sjh-metal-mid: #1f7a67;
		--sjh-line: rgba(6, 31, 25, .16);
	}

	body.sjh-flagship-site :is(.event-archive-hero, .sjh-about-intro, .sjh-clients-intro, .sjh-contact-intro, .sjh-service-hero),
	body.sjh-flagship-site .sjh-contact-page .sjh-contact-intro,
	body.sjh-flagship-site .sjh-clients-page .sjh-clients-intro,
	body.sjh-flagship-site .sjh-about-page .sjh-about-intro {
		min-height: clamp(390px, 50svh, 590px) !important;
		padding: var(--sjh-hero-top) var(--sjh-pad) var(--sjh-hero-bottom) !important;
		display: grid !important;
		align-items: end !important;
		justify-items: start !important;
	}

	body.sjh-flagship-site :is(.event-archive-content, .sjh-about-hero-grid, .sjh-clients-hero-grid, .sjh-contact-intro-grid, .sjh-service-hero-inner),
	body.sjh-flagship-site .event-archive-content,
	body.sjh-flagship-site .sjh-about-hero-grid,
	body.sjh-flagship-site .sjh-clients-hero-grid,
	body.sjh-flagship-site .sjh-contact-intro-grid,
	body.sjh-flagship-site .sjh-service-hero-inner {
		width: calc(100dvw - (2 * var(--sjh-pad))) !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(0, .74fr) minmax(380px, .6fr) !important;
		gap: clamp(30px, 5vw, 88px) !important;
		align-items: end !important;
		justify-items: start !important;
		justify-self: start !important;
	}

	body.sjh-flagship-site :is(.event-archive-content, .sjh-about-hero-grid, .sjh-clients-hero-grid, .sjh-contact-intro-grid, .sjh-service-hero-inner) > *,
	body.sjh-flagship-site .sjh-contact-intro-grid > *,
	body.sjh-flagship-site .sjh-clients-hero-grid > *,
	body.sjh-flagship-site .sjh-about-hero-grid > * {
		max-width: none !important;
		margin-inline: 0 !important;
		padding-inline: 0 !important;
		justify-self: start !important;
	}

	body.sjh-flagship-site :is(.event-archive-title, .event-single-title, .sjh-about-page .display, .sjh-clients-page .display, .sjh-contact-page .display, .sjh-service-page h1) {
		max-width: 100% !important;
		margin: 0 !important;
		color: var(--sjh-metal-dark) !important;
		font-size: var(--sjh-h1-size) !important;
		line-height: .9 !important;
		letter-spacing: -.066em !important;
		text-wrap: balance !important;
	}

	body.sjh-flagship-site :is(.event-archive-lede, .event-single-lede, .sjh-about-page .intro-copy, .sjh-clients-page .intro-copy, .sjh-contact-page .intro-copy, .sjh-service-hero-copy p) {
		max-width: 800px !important;
		margin: 0 !important;
		padding-top: clamp(16px, 1.8vw, 28px) !important;
		border-top: 1px solid var(--sjh-line) !important;
		color: rgba(5, 39, 31, .82) !important;
		font-size: var(--sjh-lede-size) !important;
		line-height: 1.14 !important;
		letter-spacing: -.04em !important;
		text-wrap: pretty !important;
	}

	body.sjh-flagship-site :is(.section-title, .event-gallery-title, .event-related-services h2, .sjh-about-page h2, .sjh-clients-page h2, .sjh-contact-page h2, .sjh-service-page h2) {
		color: var(--sjh-metal-dark) !important;
		font-size: var(--sjh-h2-size) !important;
		line-height: .96 !important;
		letter-spacing: -.058em !important;
		text-wrap: balance !important;
	}

	body.sjh-flagship-site :is(.text-link, .sjh-service-text-link, .sjh-about-group-cta) {
		position: relative !important;
		width: max-content !important;
		max-width: 100% !important;
		padding-bottom: 10px !important;
		border: 0 !important;
		box-shadow: none !important;
		color: var(--sjh-metal) !important;
		text-decoration: none !important;
	}

	body.sjh-flagship-site :is(.text-link, .sjh-service-text-link, .sjh-about-group-cta)::before {
		content: none !important;
		display: none !important;
	}

	body.sjh-flagship-site :is(.text-link, .sjh-service-text-link, .sjh-about-group-cta)::after {
		content: "" !important;
		position: absolute !important;
		left: 0 !important;
		right: auto !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 1px !important;
		margin: 0 !important;
		background: currentColor !important;
		transform: scaleX(1) !important;
		transform-origin: left center !important;
		transition: transform .34s cubic-bezier(.16, 1, .3, 1) !important;
	}

	body.sjh-flagship-site :is(.text-link, .sjh-service-text-link, .sjh-about-group-cta):hover::after {
		transform: scaleX(.72) !important;
	}

	body.sjh-flagship-site :is(.event-video-lightbox, .event-image-lightbox) {
		background:
			radial-gradient(circle at 18% 12%, rgba(31, 122, 103, .32), transparent 34%),
			radial-gradient(circle at 86% 82%, rgba(13, 76, 61, .42), transparent 38%),
			linear-gradient(135deg, #031712, #0d4c3d 58%, #173f35) !important;
	}

	body.sjh-flagship-site .sjh-about-editorial-media {
		position: sticky !important;
		top: 112px !important;
		aspect-ratio: 16 / 9 !important;
		min-height: 0 !important;
		max-height: 520px !important;
	}

	body.sjh-flagship-site .sjh-about-copy {
		padding-top: 0 !important;
	}

	body.sjh-flagship-site .sjh-about-copy .section-title {
		max-width: 11ch !important;
	}

	body.sjh-flagship-site .sjh-about-principle-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		border-top: 1px solid var(--sjh-line) !important;
	}

	body.sjh-flagship-site .sjh-about-principle {
		position: relative !important;
		min-height: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(50px, .1fr) minmax(180px, .24fr) minmax(0, .66fr) !important;
		gap: clamp(18px, 3.2vw, 58px) !important;
		align-items: baseline !important;
		padding: clamp(22px, 2.5vw, 38px) 0 !important;
		border-top: 0 !important;
		border-bottom: 1px solid var(--sjh-line) !important;
		transition: color .3s ease, transform .35s cubic-bezier(.16, 1, .3, 1) !important;
	}

	body.sjh-flagship-site .sjh-about-principle::before {
		content: "" !important;
		position: absolute !important;
		inset: 10px 0 !important;
		border: 1px solid rgba(13, 76, 61, .26) !important;
		opacity: 0 !important;
		transform: scaleX(.97) !important;
		transform-origin: center !important;
		transition: opacity .32s ease, transform .42s cubic-bezier(.16, 1, .3, 1) !important;
		pointer-events: none !important;
	}

	body.sjh-flagship-site .sjh-about-principle:hover::before,
	body.sjh-flagship-site .sjh-about-principle:focus-within::before {
		opacity: 1 !important;
		transform: scaleX(1) !important;
	}

	body.sjh-flagship-site .sjh-about-principle span,
	body.sjh-flagship-site .sjh-about-principle h3,
	body.sjh-flagship-site .sjh-about-principle p {
		margin: 0 !important;
	}

	body.sjh-flagship-site .sjh-about-principle span,
	body.sjh-flagship-site .sjh-about-principle h3 {
		color: var(--sjh-metal) !important;
	}

	body.sjh-flagship-site .sjh-about-principle p {
		color: rgba(5, 39, 31, .78) !important;
		font-size: var(--sjh-body-size) !important;
		line-height: 1.3 !important;
	}

	body.sjh-flagship-site .sjh-about-image-run {
		width: 100% !important;
		max-width: none !important;
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: clamp(20px, 2vw, 34px) !important;
		margin: 0 !important;
		padding: var(--sjh-section-y) var(--sjh-pad) !important;
	}

	body.sjh-flagship-site .sjh-about-image-run figure,
	body.sjh-flagship-site .sjh-about-image-run figure:nth-child(n+2) {
		min-height: 0 !important;
		height: clamp(280px, 28vw, 470px) !important;
		aspect-ratio: auto !important;
	}

	body.sjh-flagship-site .sjh-about-image-run figure::before {
		content: "" !important;
		position: absolute !important;
		inset: 14px !important;
		z-index: 3 !important;
		border: 1px solid rgba(255,255,255,.54) !important;
		opacity: 0 !important;
		transform: scale(.985) !important;
		transition: opacity .32s ease, transform .42s cubic-bezier(.16, 1, .3, 1) !important;
		pointer-events: none !important;
	}

	body.sjh-flagship-site .sjh-about-image-run figure:hover::before {
		opacity: 1 !important;
		transform: scale(1) !important;
	}

	body.sjh-flagship-site .sjh-clients-hero-media figure,
	body.sjh-flagship-site .sjh-contact-hero-media {
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 16 / 6.4 !important;
		max-height: 540px !important;
	}

	body.sjh-flagship-site .sjh-client-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 0 !important;
		border-top: 1px solid var(--sjh-line) !important;
		border-left: 1px solid var(--sjh-line) !important;
	}

	body.sjh-flagship-site .sjh-client-card {
		min-height: clamp(154px, 13vw, 218px) !important;
		grid-template-columns: 1fr !important;
		gap: clamp(16px, 1.6vw, 24px) !important;
		padding: clamp(24px, 2.6vw, 42px) !important;
		border-top: 0 !important;
		border-right: 1px solid var(--sjh-line) !important;
		border-bottom: 1px solid var(--sjh-line) !important;
		background: rgba(255, 255, 255, .56) !important;
	}

	body.sjh-flagship-site .sjh-client-card::after {
		width: auto !important;
		height: 0 !important;
		inset: auto 0 0 !important;
		background: var(--sjh-metal) !important;
		transition: height .36s cubic-bezier(.16, 1, .3, 1) !important;
	}

	body.sjh-flagship-site .sjh-client-card:hover::after,
	body.sjh-flagship-site .sjh-client-card:focus-visible::after {
		width: auto !important;
		height: 4px !important;
	}

	body.sjh-flagship-site .sjh-client-holding.is-wordmark {
		width: 100% !important;
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) !important;
		gap: 16px !important;
		align-items: center !important;
		opacity: 1 !important;
		color: var(--sjh-metal-dark) !important;
	}

	body.sjh-flagship-site .sjh-client-mark {
		width: 54px !important;
		height: 54px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 1px solid rgba(13, 76, 61, .24) !important;
		border-radius: 50% !important;
		background: rgba(13, 76, 61, .055) !important;
		color: var(--sjh-metal) !important;
		font: 800 13px/1 Inter, Arial, sans-serif !important;
		letter-spacing: .08em !important;
	}

	body.sjh-flagship-site .sjh-client-wordmark {
		display: block !important;
		color: var(--sjh-metal-dark) !important;
		font: 750 clamp(18px, 1.5vw, 26px)/1.04 Inter, Arial, sans-serif !important;
		letter-spacing: -.035em !important;
	}

	body.sjh-flagship-site .sjh-client-card.is-wordmark-logo .sjh-client-name {
		display: none !important;
	}

	body.sjh-flagship-site .sjh-service-page {
		--sjh-blue: var(--sjh-metal) !important;
	}

	body.sjh-flagship-site .sjh-service-hero h1 {
		max-width: 10.5ch !important;
		font-size: var(--sjh-h1-size) !important;
		line-height: .9 !important;
	}

	body.sjh-flagship-site .sjh-service-media-strip {
		height: clamp(300px, 43vw, 620px) !important;
	}

	body.sjh-flagship-site .sjh-service-detail-list {
		display: grid !important;
		gap: 0 !important;
		margin-top: clamp(18px, 2vw, 30px) !important;
		padding-top: 0 !important;
		border-top: 1px solid var(--sjh-line) !important;
	}

	body.sjh-flagship-site .sjh-service-detail-list span {
		display: grid !important;
		grid-template-columns: minmax(92px, .32fr) minmax(0, .68fr) !important;
		gap: 18px !important;
		align-items: baseline !important;
		padding: 18px 0 !important;
		border: 0 !important;
		border-bottom: 1px solid var(--sjh-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: inherit !important;
	}

	body.sjh-flagship-site .sjh-service-detail-list small {
		color: var(--sjh-metal) !important;
		font: 800 11px/1.1 Inter, Arial, sans-serif !important;
		letter-spacing: .13em !important;
		text-transform: uppercase !important;
	}

	body.sjh-flagship-site .sjh-service-detail-list strong {
		color: var(--sjh-metal-dark) !important;
		font: 650 clamp(18px, 1.55vw, 25px)/1.1 Inter, Arial, sans-serif !important;
		letter-spacing: -.035em !important;
	}

	body.sjh-flagship-site .sjh-service-related-grid {
		gap: clamp(16px, 1.7vw, 28px) !important;
	}

	body.sjh-flagship-site .sjh-service-related-card,
	body.sjh-flagship-site .sjh-service-index-card {
		min-height: 0 !important;
	}

	@media (max-width: 1100px) {
		body.sjh-flagship-site .sjh-about-principle {
			grid-template-columns: minmax(44px, .12fr) minmax(150px, .3fr) minmax(0, .58fr) !important;
		}
	}

	@media (max-width: 900px) {
		body.sjh-flagship-site {
			--sjh-pad: clamp(18px, 5vw, 28px);
			--sjh-hero-top: clamp(104px, 23vw, 134px);
			--sjh-hero-bottom: clamp(38px, 9vw, 58px);
			--sjh-h1-size: clamp(44px, 13vw, 70px);
			--sjh-h2-size: clamp(32px, 9vw, 52px);
			--sjh-lede-size: clamp(20px, 6vw, 30px);
		}

		body.sjh-flagship-site :is(.event-archive-content, .sjh-about-hero-grid, .sjh-clients-hero-grid, .sjh-contact-intro-grid, .sjh-service-hero-inner),
		body.sjh-flagship-site .sjh-contact-intro-grid,
		body.sjh-flagship-site .sjh-clients-hero-grid,
		body.sjh-flagship-site .sjh-about-hero-grid {
			width: calc(100dvw - (2 * var(--sjh-pad))) !important;
			grid-template-columns: 1fr !important;
			gap: clamp(20px, 7vw, 34px) !important;
		}

		body.sjh-flagship-site .sjh-about-editorial-media {
			position: relative !important;
			top: auto !important;
			max-height: none !important;
		}

		body.sjh-flagship-site .sjh-about-principle {
			grid-template-columns: 1fr !important;
			gap: 12px !important;
		}

		body.sjh-flagship-site .sjh-about-image-run,
		body.sjh-flagship-site .sjh-client-grid {
			grid-template-columns: 1fr !important;
		}

		body.sjh-flagship-site .sjh-about-image-run figure,
		body.sjh-flagship-site .sjh-about-image-run figure:nth-child(n+2) {
			height: clamp(250px, 76vw, 420px) !important;
		}

		body.sjh-flagship-site .sjh-client-card {
			min-height: 142px !important;
		}
	}
