/* Homepage mission — editorial bridge between the page and newsletter. */
.isFrontPage .hm-home-mission {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: clamp(48px, 5.5vw, 76px) 0;
	background: var(--hm-secondary) !important;
	color: var(--hm-primary);
	font-family: "BrownStd-Regular", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	text-align: left !important;
}

.isFrontPage .hm-home-mission .wpr-block,
.isFrontPage .hm-home-mission .block.widthRegulator {
	position: relative;
	overflow: visible;
}

.isFrontPage .hm-home-mission__layout {
	display: grid;
	grid-template-columns: minmax(260px, .72fr) minmax(360px, 1.28fr);
	gap: clamp(40px, 6vw, 84px);
	align-items: start;
	width: 100%;
}

.isFrontPage .hm-home-mission__heading,
.isFrontPage .hm-home-mission__body {
	min-width: 0;
}

.isFrontPage .hm-home-mission__eyebrow {
	margin: 0 0 10px;
	color: var(--hm-accent) !important;
	font-family: "BrownStd-Bold", sans-serif;
	font-size: 1rem !important;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

.isFrontPage .hm-home-mission__heading h2 {
	max-width: 640px;
	margin: 0;
	color: var(--hm-primary) !important;
	font-family: "BrownStd-Bold", sans-serif;
	font-size: clamp(2.35rem, 4vw, 4.25rem) !important;
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: .98 !important;
	text-wrap: balance;
}

.isFrontPage .hm-home-mission__body {
	max-width: 720px;
	padding: 4px 0 4px clamp(24px, 3vw, 38px);
	background: transparent;
	border-left: 5px solid var(--hm-accent3);
}

.isFrontPage .hm-home-mission__body p {
	margin: 0;
	color: var(--hm-primary) !important;
	font-family: "BrownStd-Regular", sans-serif !important;
	font-size: clamp(1.05rem, 1.35vw, 1.2rem) !important;
	letter-spacing: 0;
	line-height: 1.52 !important;
}

.isFrontPage .hm-home-mission__body p:first-child {
	font-family: "BrownStd-Bold", sans-serif !important;
	font-size: clamp(1.1rem, 1.45vw, 1.28rem) !important;
	line-height: 1.48 !important;
}

.isFrontPage .hm-home-mission__body p + p {
	margin-top: 1.15em;
}

.isFrontPage .hm-home-mission__body a {
	color: var(--hm-primary) !important;
	text-decoration-color: var(--hm-primary);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.isFrontPage .hm-home-mission__body a:hover,
.isFrontPage .hm-home-mission__body a:focus-visible {
	color: var(--hm-primary) !important;
	text-decoration-color: var(--hm-accent);
}

@media screen and (max-width: 900px) {
	.isFrontPage .hm-home-mission {
		padding: 48px 0;
	}

	.isFrontPage .hm-home-mission__layout {
		grid-template-columns: 1fr;
		gap: 30px;
		align-items: start;
	}

	.isFrontPage .hm-home-mission__heading h2 {
		max-width: 760px;
		font-size: clamp(2.4rem, 8vw, 3.6rem) !important;
	}

	.isFrontPage .hm-home-mission__body {
		max-width: 760px;
	}
}

@media screen and (max-width: 600px) {
	.isFrontPage .hm-home-mission {
		padding: 38px 0 42px;
	}

	.isFrontPage .hm-home-mission__layout {
		gap: 22px;
	}

	.isFrontPage .hm-home-mission__eyebrow {
		margin-bottom: 8px;
		font-size: 14px !important;
	}

	.isFrontPage .hm-home-mission__heading h2 {
		font-size: clamp(2.2rem, 9vw, 3rem) !important;
		line-height: 1.02 !important;
	}

	.isFrontPage .hm-home-mission__body {
		margin: 0;
		padding: 2px 0 2px 18px;
	}

	.isFrontPage .hm-home-mission__body p,
	.isFrontPage .hm-home-mission__body p:first-child {
		font-size: 1.05rem !important;
		line-height: 1.48 !important;
	}
}

@media print {
	.isFrontPage .hm-home-mission {
		padding: 24pt 0 !important;
		background: #fff !important;
		border-top: 1px solid #000;
		color: #000 !important;
		break-inside: avoid;
	}

	.isFrontPage .hm-home-mission__layout {
		display: block;
	}

	.isFrontPage .hm-home-mission__eyebrow {
		margin-bottom: 10pt;
		color: #000 !important;
	}

	.isFrontPage .hm-home-mission__heading h2 {
		margin-bottom: 16pt;
		color: #000 !important;
		font-size: 24pt !important;
		line-height: 1.05 !important;
	}

	.isFrontPage .hm-home-mission__body {
		max-width: none;
		padding: 0 0 0 14pt;
		background: transparent;
		border-left: 2pt solid #000;
	}

	.isFrontPage .hm-home-mission__body p,
	.isFrontPage .hm-home-mission__body p:first-child {
		color: #000 !important;
		font-size: 11pt !important;
		line-height: 1.45 !important;
	}
}

/*
 * Homepage: when only one activity is available, use a compact editorial
 * layout on desktop instead of stretching its image across the full section.
 * The screen-only query deliberately leaves mobile and print unchanged.
 */
@media screen and (min-width: 1024px) {
	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child {
		display: grid !important;
		grid-template-columns: minmax(340px, 40%) minmax(0, 60%);
		align-items: center;
		min-height: 0;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child > a {
		position: static;
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: center;
		width: calc(100% - 36px);
		max-width: 760px;
		min-width: 0;
		min-height: 0;
		max-height: 480px;
		margin: 18px auto;
		overflow: hidden;
		background: color-mix(in srgb, var(--home-activity) 18%, #fff);
		border-radius: 9px;
		box-shadow: 0 8px 20px color-mix(in srgb, var(--hm-primary) 15%, transparent);
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child > a img {
		position: static;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 480px !important;
		margin: 0 !important;
		object-fit: contain !important;
		transform: none;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child > .hm-activite-contenu {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		gap: 0;
		width: 100%;
		min-width: 0;
		align-content: center;
		padding: clamp(22px, 2.25vw, 36px) clamp(22px, 2.5vw, 40px) !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-meta {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		gap: 8px 10px !important;
		margin: 0 0 14px !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-type,
	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-date {
		display: inline-flex !important;
		align-items: center !important;
		box-sizing: border-box;
		width: auto !important;
		max-width: 100%;
		min-height: 46px !important;
		height: auto !important;
		padding: 10px 15px !important;
		font-family: "BrownStd-Bold", sans-serif !important;
		font-size: 15px !important;
		font-weight: normal !important;
		line-height: 1.2 !important;
		text-align: left !important;
		border: 2px solid var(--hm-primary) !important;
		border-radius: 999px !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-type {
		order: 1;
		flex: 0 0 auto;
		color: #fff !important;
		background: var(--hm-primary) !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-date {
		order: 2;
		color: var(--hm-primary) !important;
		background: #fff !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-titre {
		grid-column: 1;
		grid-row: 2;
		max-width: 22ch;
		margin: 0 !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-extrait {
		grid-column: 1;
		grid-row: 3;
		max-width: 66ch;
		margin: 16px 0 0 !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-details {
		grid-column: 1;
		grid-row: 4;
		display: grid;
		min-width: 0;
		margin-top: 24px;
		padding-top: 22px;
		color: var(--hm-primary);
		border-top: 1px solid color-mix(in srgb, var(--hm-primary) 28%, transparent);
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-details-summary {
		max-width: 66ch;
		margin: 0 !important;
		color: var(--hm-primary) !important;
		font-size: 16px !important;
		line-height: 1.46 !important;
	}
}

@media screen and (max-width: 1023px) {
	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child > .hm-activite-contenu,
	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child:hover > .hm-activite-contenu {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		gap: 0 !important;
		padding: 18px !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-meta {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		flex-flow: row wrap !important;
		align-items: center !important;
		gap: 7px 8px !important;
		margin: 0 0 12px !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-type,
	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-date {
		display: inline-flex !important;
		align-items: center !important;
		align-self: auto !important;
		justify-content: flex-start !important;
		box-sizing: border-box;
		width: auto !important;
		max-width: 100%;
		min-height: 40px !important;
		height: auto !important;
		padding: 8px 12px !important;
		font-family: "BrownStd-Bold", sans-serif !important;
		font-size: 13px !important;
		font-weight: normal !important;
		line-height: 1.2 !important;
		text-align: left !important;
		border: 2px solid var(--hm-primary) !important;
		border-radius: 999px !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-type {
		order: 1;
		color: #fff !important;
		background: var(--hm-primary) !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-date {
		order: 2;
		color: var(--hm-primary) !important;
		background: #fff !important;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-titre {
		grid-column: 1;
		grid-row: 2;
	}

	.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-extrait {
		grid-column: 1;
		grid-row: 3;
		margin-top: 10px !important;
	}
}

.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activite-details {
	display: none;
}

/*
 * Homepage single activity: the title permalink covers the complete card.
 * Keep every element shadow-free for a flatter, cleaner presentation.
 */
.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child {
	position: relative;
	cursor: pointer;
	box-shadow: none !important;
}

.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child *,
.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child *::before,
.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child *::after {
	box-shadow: none !important;
	text-shadow: none !important;
}

.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-titre a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 5;
	border-radius: inherit;
}

.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-titre a:focus-visible {
	outline: none;
}

.isFrontPage .hm-homepage-2026 .hm-home-events .hm-activites-accueil > .hm-activite-item:only-child .hm-activite-titre a:focus-visible::after {
	inset: 4px;
	outline: 3px solid var(--hm-primary);
	outline-offset: -3px;
}

/*
 * Homepage colour pairing: Panorama is the dark band and Memento is its
 * light counterpart. This final block supersedes the historical Memento
 * palette variants above on desktop and mobile.
 */
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader {
	margin-top: 20px !important;
	color: var(--hm-primary) !important;
	background: var(--hm-secondary) !important;
	box-shadow: 0 0 0 100vmax var(--hm-secondary) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-home-section-heading {
	border-bottom-color: color-mix(in srgb, var(--hm-primary) 24%, transparent) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-home-eyebrow,
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-home-section-heading h2,
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__tagline-copy,
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__mission > p,
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__mission > p:last-child {
	color: var(--hm-primary) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__tagline-title {
	color: var(--hm-accent) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__mission h3 {
	color: var(--hm-primary) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__more {
	color: var(--hm-primary) !important;
	background: var(--hm-accent2) !important;
	border-color: var(--hm-accent2) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__more:hover,
body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__more:focus-visible {
	color: var(--hm-primary) !important;
	background: var(--hm-accent3) !important;
	border-color: var(--hm-accent3) !important;
}

body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__card {
	border-color: color-mix(in srgb, var(--hm-primary) 28%, transparent) !important;
}

/*
 * Homepage article cards: keep the existing editorial treatment while
 * shortening the visible summaries. The PHP template supplies one canonical
 * 90-word excerpt; screen layouts then clamp it to suit their available width.
 */
@media screen {
	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:not(.is-newsletter)
		.item-contenu2024 > p.hm-blog-excerpt {
		display: -webkit-box !important;
		overflow: hidden !important;
		text-align: left !important;
		text-justify: auto;
		-webkit-hyphens: none;
		hyphens: none;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 7 !important;
		line-clamp: 7;
	}

	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:first-child:not(.is-newsletter)
		.item-contenu2024 > p.hm-blog-excerpt {
		-webkit-line-clamp: 10 !important;
		line-clamp: 10;
	}
}

@media screen and (max-width: 768px) {
	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:not(.is-newsletter)
		.item-contenu2024 > p.hm-blog-excerpt {
		-webkit-line-clamp: 5 !important;
		line-clamp: 5;
	}

	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:first-child:not(.is-newsletter)
		.item-contenu2024 > p.hm-blog-excerpt {
		-webkit-line-clamp: 7 !important;
		line-clamp: 7;
	}
}

@media print {
	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story
		.item-contenu2024 > p.hm-blog-excerpt {
		display: block !important;
		overflow: visible !important;
		max-height: none !important;
		text-align: left !important;
		text-justify: auto;
		-webkit-hyphens: none;
		hyphens: none;
		-webkit-box-orient: initial !important;
		-webkit-line-clamp: unset !important;
		line-clamp: unset;
	}

	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader {
		color: #111 !important;
		background: #fff !important;
		box-shadow: none !important;
	}

	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-home-eyebrow,
	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-home-section-heading h2,
	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__tagline-title,
	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__tagline-copy,
	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__mission h3,
	body.isFrontPage .hm-homepage-2026 > section.hm-memento-reader .hm-memento-reader__mission > p {
		color: #111 !important;
	}
}

/*
 * Homepage featured story: the first, portrait-format card always crops from
 * the centre. Its responsive image markup supplies a sharper source on
 * high-density desktop and mobile displays.
 */
.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:first-child .hm-blog-image img {
	object-position: 50% 50% !important;
}

@media print {
	.isFrontPage .hm-home-news .hm-blog-list > .hm-home-story:first-child .hm-blog-image img {
		object-position: 50% 50% !important;
	}
}
