:root {
	--hm-panorama-orange: #ec8c37;
	--hm-panorama-theme: var(--hm-panorama-orange);
	--hm-panorama-theme-ink: #262626;
	--hm-panorama-blue: #5ba4d8;
	--hm-panorama-green: #6fc09a;
	--hm-panorama-charcoal: #262626;
	--hm-panorama-grey: #4f4f4f;
	--hm-panorama-cream: #f1f0ef;
	--hm-panorama-white: #fff;
	--hm-panorama-toolbar-height: 72px;
	--hm-panorama-toolbar-safe-top: calc(max(16px, env(safe-area-inset-top)) + var(--hm-panorama-toolbar-height) + clamp(34px, 5vh, 72px));
	--hm-panorama-gutter: clamp(24px, 4vw, 72px);
	--hm-panorama-transition: 680ms cubic-bezier(.22, 1, .36, 1);
	--hm-panorama-font-regular: "BrownStd-Regular", Arial, sans-serif;
	--hm-panorama-font-bold: "BrownStd-Bold", Arial, sans-serif;
}

.hm-panorama-font--cooper {
	--hm-panorama-font-regular: "Cooper", Georgia, serif;
	--hm-panorama-font-bold: "Cooper", Georgia, serif;
}

.hm-panorama-font--cooper,
.hm-panorama-font--cooper *,
.hm-panorama-font--cooper *::before,
.hm-panorama-font--cooper *::after {
	font-weight: 400 !important;
	font-synthesis: none;
}

.hm-panorama-font--brown {
	--hm-panorama-font-regular: "BrownStd-Regular", Arial, sans-serif;
	--hm-panorama-font-bold: "BrownStd-Bold", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.hm-panorama-html {
	margin: 0 !important;
	padding: 0;
	background: var(--hm-panorama-charcoal);
	scroll-behavior: smooth;
}

body.hm-panorama-document {
	width: 100%;
	min-width: 320px;
	height: 100%;
	margin: 0;
	overflow: hidden !important;
	color: var(--hm-panorama-white);
	background: var(--hm-panorama-theme);
	font-family: var(--hm-panorama-font-regular);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/*
 * Panorama conserve le défilement tactile, à la molette et au clavier,
 * mais n’affiche jamais les barres natives du navigateur.
 */
.hm-panorama-html,
body.hm-panorama-document,
.hm-panorama,
.hm-panorama * {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.hm-panorama-html::-webkit-scrollbar,
body.hm-panorama-document::-webkit-scrollbar,
.hm-panorama::-webkit-scrollbar,
.hm-panorama *::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.hm-panorama-document #wpadminbar {
	display: none !important;
}

body.hm-panorama-document #axeptio_overlay,
body.hm-panorama-document #axeptio_main,
body.hm-panorama-document [id*="axeptio" i],
body.hm-panorama-document [class*="axeptio" i],
body.hm-panorama-document [data-axeptio-cookies],
body.hm-panorama-document .ax-widget-container,
body.hm-panorama-document iframe[src*="axeptio" i],
body.hm-panorama-document iframe[src*="axept.io" i] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.hm-panorama-document .grecaptcha-badge {
	visibility: hidden !important;
}

body.hm-panorama-document button,
body.hm-panorama-document input,
body.hm-panorama-document textarea,
body.hm-panorama-document select {
	font: inherit;
}

body.hm-panorama-document button,
body.hm-panorama-document a {
	-webkit-tap-highlight-color: transparent;
}

body.hm-panorama-document a {
	color: inherit;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hm-panorama__skip {
	position: fixed;
	z-index: 2147483647;
	top: 12px;
	left: 12px;
	padding: 12px 16px;
	color: #fff;
	background: #111;
	font-family: var(--hm-panorama-font-bold);
	text-decoration: none;
	transform: translateY(-150%);
	transition: transform 160ms ease;
}

.hm-panorama__skip:focus {
	transform: translateY(0);
}

.hm-panorama {
	position: relative;
	z-index: 2147483647;
	isolation: isolate;
	width: 100%;
	height: 100dvh;
	overflow: hidden;
	background: var(--hm-panorama-theme);
}

body.hm-panorama-document .hm-panorama:not(.is-reading-mode) {
	position: fixed;
	inset: 0;
}

.hm-panorama__toolbar {
	position: fixed;
	z-index: 2147483646;
	top: max(16px, env(safe-area-inset-top));
	right: max(18px, env(safe-area-inset-right));
	left: max(18px, env(safe-area-inset-left));
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(120px, 1fr) auto auto;
	align-items: center;
	min-height: 56px;
	padding: 7px 8px 7px 18px;
	color: #fff;
	background: rgb(21 21 21 / 84%);
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 4px;
	box-shadow: 0 12px 42px rgb(0 0 0 / 22%);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.hm-panorama__brand {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	min-width: 0;
	height: 38px;
	text-decoration: none;
}

.hm-panorama__brand img {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	max-width: 30px;
	height: 30px;
	object-fit: contain;
	object-position: center;
}

.hm-panorama__brand-word {
	display: block;
	flex: 0 0 auto;
	width: 124px;
	height: 34px;
	color: currentColor;
}

.hm-panorama__brand-word-svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	color: inherit;
}

.hm-panorama__brand-word-letter {
	fill: currentColor;
	font-family: var(--hm-panorama-font-bold);
	font-size: 112px;
	font-weight: 700;
}

.hm-panorama__brand-word-o {
	fill: currentColor;
	fill-rule: evenodd;
}

.hm-panorama__progress {
	position: relative;
	display: flex;
	gap: clamp(2px, .35vw, 5px);
	align-items: center;
	width: min(30vw, 420px);
	height: 4px;
	margin-inline: auto;
	overflow: visible;
}

.hm-panorama__progress-segment {
	position: relative;
	flex: 1 1 0;
	min-width: 2px;
	height: 3px;
	overflow: hidden;
	background: rgb(255 255 255 / 25%);
	border-radius: 999px;
	transition: height 180ms ease, background-color 180ms ease;
}

.hm-panorama__progress-segment i {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--hm-panorama-theme);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 420ms cubic-bezier(.22, 1, .36, 1);
}

.hm-panorama__progress-segment.is-complete i,
.hm-panorama__progress-segment.is-current i {
	transform: scaleX(1);
}

.hm-panorama__progress-segment.is-current {
	height: 4px;
	background: rgb(255 255 255 / 42%);
}

.hm-panorama__counter {
	display: flex;
	gap: 5px;
	align-items: baseline;
	margin: 0 14px 0 20px;
	color: rgb(255 255 255 / 65%);
	font-size: .7rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: .1em;
}

.hm-panorama__counter b {
	color: #fff;
	font-family: var(--hm-panorama-font-bold);
	font-size: .9rem;
	font-weight: 700;
}

.hm-panorama__toolbar-actions {
	display: flex;
	gap: 5px;
	align-items: center;
}

.hm-panorama__toolbar-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	color: #fff;
	background: transparent;
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	font-size: .78rem;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.hm-panorama__toolbar-button:hover,
.hm-panorama__toolbar-button:focus-visible {
	color: var(--hm-panorama-theme-ink);
	background: var(--hm-panorama-theme);
	outline: none;
}

.hm-panorama__toolbar-button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.hm-panorama__toolbar-button--mode {
	gap: 9px;
	padding-inline: 14px;
	border-left: 1px solid rgb(255 255 255 / 14%);
	border-right: 1px solid rgb(255 255 255 / 14%);
}

.hm-panorama__toolbar-button--mode span {
	white-space: nowrap;
}

.hm-panorama__viewport {
	display: flex;
	width: 100%;
	height: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	touch-action: pan-x pan-y;
}

.hm-panorama__viewport::-webkit-scrollbar {
	display: none;
}

.hm-panorama__viewport:focus-visible {
	outline: 3px solid var(--hm-panorama-theme);
	outline-offset: -3px;
}

.hm-panorama__scene {
	--hm-panorama-scene-bg: var(--hm-panorama-charcoal);
	--hm-panorama-scene-ink: #fff;
	--hm-panorama-scene-muted: rgb(255 255 255 / 70%);
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: 100dvh;
	min-height: 560px;
	overflow: hidden;
	color: var(--hm-panorama-scene-ink);
	background: var(--hm-panorama-scene-bg);
	font-family: var(--hm-panorama-font-regular);
	scroll-snap-align: start;
	scroll-snap-stop: always;
	isolation: isolate;
}

.hm-panorama__tone--charcoal {
	--hm-panorama-scene-bg: var(--hm-panorama-charcoal);
	--hm-panorama-scene-ink: #fff;
	--hm-panorama-scene-muted: rgb(255 255 255 / 68%);
}

.hm-panorama__tone--cream {
	--hm-panorama-scene-bg: var(--hm-panorama-cream);
	--hm-panorama-scene-ink: var(--hm-panorama-charcoal);
	--hm-panorama-scene-muted: rgb(38 38 38 / 66%);
}

.hm-panorama__tone--orange {
	--hm-panorama-scene-bg: var(--hm-panorama-orange);
	--hm-panorama-scene-ink: #fff;
	--hm-panorama-scene-muted: rgb(255 255 255 / 78%);
}

.hm-panorama__tone--blue {
	--hm-panorama-scene-bg: var(--hm-panorama-blue);
	--hm-panorama-scene-ink: #fff;
	--hm-panorama-scene-muted: rgb(255 255 255 / 78%);
}

.hm-panorama__tone--green {
	--hm-panorama-scene-bg: var(--hm-panorama-green);
	--hm-panorama-scene-ink: #fff;
	--hm-panorama-scene-muted: rgb(255 255 255 / 78%);
}

.hm-panorama__cover-media,
.hm-panorama__cover-shade,
.hm-panorama__photo-shade,
.hm-panorama__scene-backdrop,
.hm-panorama__backdrop-shade,
.hm-panorama__media--full {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.hm-panorama__cover-image,
.hm-panorama__image,
.hm-panorama__background-image,
.hm-panorama__background-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--hm-panorama-focus, 50% 50%);
}

.hm-panorama__cover-image {
	object-position: var(--hm-panorama-focus, 50% 50%);
	transform: scale(1.015);
	animation: hm-panorama-cover-in 1500ms cubic-bezier(.22, 1, .36, 1) both;
}

.hm-panorama__scene-backdrop {
	z-index: 0;
	margin: 0;
	overflow: hidden;
}

.hm-panorama__image-effect-canvas {
	position: absolute;
	z-index: 1;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.hm-panorama__background-video {
	position: absolute;
	inset: 0;
}

.hm-panorama__backdrop-shade {
	z-index: 1;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 62%) 0%, rgb(0 0 0 / 34%) 52%, rgb(0 0 0 / 20%) 100%),
		linear-gradient(0deg, rgb(0 0 0 / 34%) 0%, transparent 55%);
}


.hm-panorama__background-annotations {
	--hm-annotation-marker-size: clamp(30px, 2.8vw, 42px);
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.hm-panorama__annotation-lines {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.hm-panorama__annotation-line {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 3;
	vector-effect: non-scaling-stroke;
}

.hm-panorama__annotation-line--path {
	stroke-dasharray: 8 6;
}

.hm-panorama__annotation-marker {
	position: absolute;
	z-index: 3;
	display: grid;
	width: var(--hm-annotation-marker-size);
	aspect-ratio: 1;
	place-items: center;
	transform: translate(-50%, -50%);
	color: #fff;
	background: var(--hm-annotation-color);
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 3px 14px rgb(0 0 0 / 38%);
	font-family: var(--hm-panorama-font-bold);
	font-size: clamp(.68rem, 1vw, .84rem);
	font-weight: 700;
	line-height: 1;
}

.hm-panorama__annotation-label {
	--hm-annotation-label-x: calc((var(--hm-annotation-marker-size) / 2) + 9px);
	--hm-annotation-label-y: -50%;
	position: absolute;
	z-index: 2;
	display: block;
	max-width: min(240px, 28vw);
	padding: 7px 9px 7px 10px;
	transform: translate(var(--hm-annotation-label-x), var(--hm-annotation-label-y));
	color: #fff;
	background: rgb(20 22 24 / 82%);
	border-left: 3px solid var(--hm-annotation-color);
	border-radius: 4px;
	box-shadow: 0 3px 14px rgb(0 0 0 / 25%);
	font-family: var(--hm-panorama-font-regular);
	font-size: clamp(.68rem, .9vw, .84rem);
	font-weight: 400;
	line-height: 1.25;
	overflow-wrap: anywhere;
	text-wrap: balance;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.hm-panorama__annotation-label.is-left {
	--hm-annotation-label-x: calc(-100% - (var(--hm-annotation-marker-size) / 2) - 9px);
	border-right: 3px solid var(--hm-annotation-color);
	border-left: 0;
}

.hm-panorama__annotation-label.is-below {
	--hm-annotation-label-y: calc((var(--hm-annotation-marker-size) / 2) + 8px);
}

.hm-panorama__annotation-label.is-above {
	--hm-annotation-label-y: calc(-100% - (var(--hm-annotation-marker-size) / 2) - 8px);
}

.hm-panorama__annotation-marker--path {
	border-radius: 5px;
}

.hm-panorama__annotation-legend {
	position: absolute;
	z-index: 4;
	top: 50%;
	right: var(--hm-panorama-gutter);
	width: min(290px, 25vw);
	padding: 16px 18px;
	transform: translateY(-50%);
	color: #fff;
	background: rgb(20 22 24 / 78%);
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 10px;
	box-shadow: 0 10px 34px rgb(0 0 0 / 22%);
	font-family: var(--hm-panorama-font-regular);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.hm-panorama__align--right .hm-panorama__annotation-legend {
	right: auto;
	left: var(--hm-panorama-gutter);
}

.hm-panorama__annotation-legend > strong {
	display: block;
	margin-bottom: 10px;
	font-family: var(--hm-panorama-font-bold);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.hm-panorama__annotation-legend ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-panorama__annotation-legend li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	font-size: clamp(.72rem, .9vw, .86rem);
	line-height: 1.3;
}

.hm-panorama__annotation-legend-symbol {
	position: relative;
	display: block;
	width: 14px;
	height: 14px;
	background: var(--hm-annotation-color);
	border: 1.5px solid #fff;
	border-radius: 50%;
}

.hm-panorama__annotation-legend-symbol--path {
	border-radius: 3px;
}

.hm-panorama__annotation-legend-symbol--arrow {
	width: 17px;
	height: 3px;
	background: var(--hm-annotation-color);
	border: 0;
	border-radius: 3px;
}

.hm-panorama__annotation-legend-symbol--arrow::after {
	position: absolute;
	top: 50%;
	right: -1px;
	width: 7px;
	height: 7px;
	transform: translateY(-50%) rotate(45deg);
	border-top: 3px solid var(--hm-annotation-color);
	border-right: 3px solid var(--hm-annotation-color);
	content: "";
}

.hm-panorama__scene--photo .hm-panorama__backdrop-shade {
	display: none;
}

.hm-panorama__scene--text.has-backdrop,
.hm-panorama__scene--png.has-backdrop,
.hm-panorama__scene--png-sequence.has-backdrop,
.hm-panorama__scene--image.has-backdrop,
.hm-panorama__scene--image-horizontal.has-backdrop,
.hm-panorama__scene--image-vertical.has-backdrop,
.hm-panorama__scene--gallery.has-backdrop,
.hm-panorama__scene--map.has-backdrop,
.hm-panorama__scene--quote.has-backdrop,
.hm-panorama__scene--video.has-backdrop {
	--hm-panorama-scene-ink: #fff !important;
	--hm-panorama-scene-muted: rgb(255 255 255 / 72%) !important;
}

.hm-panorama__media--split,
.hm-panorama__media--portrait,
.hm-panorama__media--audio,
.hm-panorama__video-wrap {
	z-index: 2;
}

.hm-panorama__media--caption-only {
	z-index: 4;
	pointer-events: none;
}

@keyframes hm-panorama-cover-in {
	from {
		opacity: .7;
		transform: scale(1.08);
	}
	to {
		opacity: 1;
		transform: scale(1.015);
	}
}

.hm-panorama__cover-shade {
	z-index: 1;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 74%) 0%, rgb(0 0 0 / 42%) 47%, rgb(0 0 0 / 8%) 76%),
		linear-gradient(0deg, rgb(0 0 0 / 52%) 0%, transparent 42%);
}

.hm-panorama__cover-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: safe flex-end;
	width: min(820px, 66vw);
	height: 100%;
	overflow-y: auto;
	padding: var(--hm-panorama-toolbar-safe-top) var(--hm-panorama-gutter) clamp(64px, 9vh, 104px);
}

.hm-panorama__cover-content h1,
.hm-panorama__content h2 {
	margin: 0;
	font-family: var(--hm-panorama-font-bold);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: .96;
	text-wrap: balance;
}

.hm-panorama__cover-content h1 {
	max-width: 12ch;
	font-size: clamp(3.7rem, 7.2vw, 8.2rem);
}

.hm-panorama__title-image {
	--hm-panorama-title-image-width: min(100%, 780px);
	--hm-panorama-title-image-height: 34dvh;
	--hm-panorama-title-image-mobile-width: 90%;
	display: block;
	width: auto;
	max-width: var(--hm-panorama-title-image-width);
	height: auto;
	max-height: var(--hm-panorama-title-image-height);
	object-fit: contain;
	object-position: left bottom;
}

.hm-panorama__scene-title-image {
	--hm-panorama-scene-title-width: min(100%, 900px);
	--hm-panorama-scene-title-height: 32dvh;
	--hm-panorama-scene-title-mobile-width: 92%;
	display: block;
	width: auto;
	max-width: var(--hm-panorama-scene-title-width);
	height: auto;
	max-height: var(--hm-panorama-scene-title-height);
	margin: 0;
	object-fit: contain;
	object-position: left center;
}

.hm-panorama__title-image--small {
	--hm-panorama-title-image-width: min(100%, 420px);
	--hm-panorama-title-image-height: 24dvh;
	--hm-panorama-title-image-mobile-width: 58%;
}

.hm-panorama__title-image--medium {
	--hm-panorama-title-image-width: min(100%, 600px);
	--hm-panorama-title-image-height: 31dvh;
	--hm-panorama-title-image-mobile-width: 76%;
}

.hm-panorama__title-image--xlarge {
	--hm-panorama-title-image-width: min(100%, 1040px);
	--hm-panorama-title-image-height: 43dvh;
	--hm-panorama-title-image-mobile-width: 100%;
}

.hm-panorama__scene-title-image--small {
	--hm-panorama-scene-title-width: min(100%, 420px);
	--hm-panorama-scene-title-height: 20dvh;
	--hm-panorama-scene-title-mobile-width: 60%;
}

.hm-panorama__scene-title-image--medium {
	--hm-panorama-scene-title-width: min(100%, 650px);
	--hm-panorama-scene-title-height: 27dvh;
	--hm-panorama-scene-title-mobile-width: 78%;
}

.hm-panorama__scene-title-image--xlarge {
	--hm-panorama-scene-title-width: min(100%, 1150px);
	--hm-panorama-scene-title-height: 42dvh;
	--hm-panorama-scene-title-mobile-width: 100%;
}

.hm-panorama-title-image--svg {
	aspect-ratio: auto;
	object-fit: initial;
}

.hm-panorama__align--center .hm-panorama__scene-title-image {
	margin-inline: auto;
	object-position: center;
}

.hm-panorama__align--right .hm-panorama__scene-title-image {
	margin-left: auto;
	object-position: right center;
}

.hm-panorama__eyebrow {
	margin: 0 0 clamp(16px, 2.2vh, 25px);
	font-family: var(--hm-panorama-font-bold);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.25;
	text-transform: uppercase;
}

.hm-panorama__eyebrow::before {
	display: inline-block;
	width: 27px;
	height: 4px;
	margin-right: 12px;
	background: var(--hm-panorama-theme);
	content: "";
	vertical-align: .18em;
}

.hm-panorama__intro {
	max-width: 58ch;
	margin: clamp(18px, 2.4vh, 28px) 0 0;
	font-size: clamp(1.05rem, 1.34vw, 1.34rem);
	line-height: 1.44;
	text-wrap: pretty;
}

.hm-panorama__intro p,
.hm-panorama__caption-text p,
.hm-panorama__caption-credit p {
	margin: 0;
}

.hm-panorama__intro p + p,
.hm-panorama__caption-text p + p,
.hm-panorama__caption-credit p + p {
	margin-top: .55em;
}

.hm-panorama__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 20px;
	margin: clamp(14px, 1.9vh, 22px) 0 0;
	color: rgb(255 255 255 / 72%);
	font-size: .78rem;
}

.hm-panorama__meta span + span::before {
	margin-right: 20px;
	color: var(--hm-panorama-theme);
	content: "•";
}

.hm-panorama__start {
	display: inline-flex;
	gap: 24px;
	align-items: center;
	min-height: 50px;
	margin-top: clamp(18px, 2.6vh, 30px);
	padding: 0 20px;
	color: #fff;
	background: transparent;
	border: 1px solid rgb(255 255 255 / 65%);
	border-radius: 0;
	cursor: pointer;
	font-family: var(--hm-panorama-font-bold);
	font-size: .82rem;
	letter-spacing: .04em;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.hm-panorama__start:hover,
.hm-panorama__start:focus-visible {
	color: var(--hm-panorama-theme-ink);
	background: var(--hm-panorama-theme);
	border-color: var(--hm-panorama-theme);
	outline: none;
}

.hm-panorama__start svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.hm-panorama__cover-caption {
	position: absolute;
	z-index: 3;
	right: var(--hm-panorama-gutter);
	bottom: clamp(68px, 9vh, 104px);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: min(32vw, 420px);
	color: rgb(255 255 255 / 78%);
	font-size: .7rem;
	line-height: 1.35;
	text-align: right;
}

.hm-panorama__caption-credit {
	margin-top: 4px;
	font-size: .62rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.hm-panorama__content {
	position: relative;
	z-index: 3;
}

.hm-panorama__content h2 {
	font-size: clamp(3rem, 5.8vw, 7.2rem);
}

.hm-panorama__body {
	max-width: 62ch;
	margin-top: clamp(24px, 3.6vh, 42px);
	font-size: clamp(1.06rem, 1.35vw, 1.34rem);
	line-height: 1.58;
	text-wrap: pretty;
}

.hm-panorama__body > :first-child {
	margin-top: 0;
}

.hm-panorama__body > :last-child {
	margin-bottom: 0;
}

.hm-panorama__body blockquote {
	position: relative;
	margin: 1.6em 0;
	padding: .3em 0 .3em clamp(20px, 2.5vw, 38px);
	border-left: 3px solid currentColor;
	color: var(--hm-panorama-scene-ink, currentColor);
	font-size: 1.16em;
	line-height: 1.42;
}

.hm-panorama__body blockquote::before {
	display: block;
	margin-bottom: .1em;
	font-family: Georgia, serif;
	font-size: 2.8em;
	line-height: .65;
	content: "“";
}

.hm-panorama__body blockquote p {
	margin: 0 0 .7em;
}

.hm-panorama__body blockquote p:last-child {
	margin-bottom: 0;
}

.hm-panorama__body blockquote cite,
.hm-panorama__body blockquote footer {
	display: block;
	margin-top: 1em;
	font-size: .72em;
	font-style: normal;
	letter-spacing: .04em;
}

.hm-panorama__body a {
	text-decoration-color: var(--hm-panorama-theme);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.hm-panorama__body strong,
.hm-panorama__body b {
	font-family: var(--hm-panorama-font-bold);
	font-weight: 700;
}

.hm-panorama__scene--photo {
	background: var(--hm-panorama-scene-bg);
}

.hm-panorama__media {
	margin: 0;
}

.hm-panorama__media--full {
	z-index: 0;
}

.hm-panorama__photo-shade {
	z-index: 1;
	background: linear-gradient(90deg, rgb(0 0 0 / 72%) 0%, rgb(0 0 0 / 28%) 48%, transparent 76%);
}

.hm-panorama__content--overlay {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: min(690px, 58vw);
	height: 100%;
	padding: calc(var(--hm-panorama-toolbar-height) + 72px) var(--hm-panorama-gutter) clamp(80px, 10vh, 118px);
	color: #fff;
}

.hm-panorama__content--overlay h2 {
	font-size: clamp(3.2rem, 6vw, 7.4rem);
}

.hm-panorama__caption {
	position: absolute;
	z-index: 4;
	right: clamp(20px, 2.6vw, 44px);
	bottom: clamp(78px, 9vh, 108px);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: min(360px, 35vw);
	padding: 7px 10px;
	color: #fff;
	background: rgb(0 0 0 / 45%);
	font-size: .68rem;
	line-height: 1.35;
	text-align: right;
	backdrop-filter: blur(8px);
}

.hm-panorama__scene--split {
	display: grid;
	grid-template-columns: minmax(0, 58fr) minmax(380px, 42fr);
}

.hm-panorama__layout--image-right {
	grid-template-columns: minmax(380px, 42fr) minmax(0, 58fr);
}

.hm-panorama__layout--image-right .hm-panorama__media--split {
	grid-column: 2;
}

.hm-panorama__layout--image-right .hm-panorama__content--split {
	grid-column: 1;
	grid-row: 1;
}

.hm-panorama__media--split {
	position: relative;
	min-width: 0;
	height: 100%;
}

.hm-panorama__content--split {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	height: 100%;
	padding: calc(var(--hm-panorama-toolbar-height) + 58px) clamp(36px, 5vw, 88px) clamp(60px, 8vh, 90px);
	color: var(--hm-panorama-scene-ink);
	background: var(--hm-panorama-scene-bg);
	overflow-y: auto;
}

.hm-panorama__content--split h2 {
	font-size: clamp(2.7rem, 4.2vw, 5.5rem);
}

.hm-panorama__content--split .hm-panorama__body {
	font-size: clamp(1rem, 1.2vw, 1.2rem);
}

.hm-panorama__scene--text {
	display: grid;
	place-items: center;
}

.hm-panorama__content--text {
	width: min(1120px, calc(100% - (2 * var(--hm-panorama-gutter))));
	max-height: calc(100dvh - var(--hm-panorama-toolbar-height) - 110px);
	padding-top: calc(var(--hm-panorama-toolbar-height) + 50px);
	color: var(--hm-panorama-scene-ink);
	overflow-y: auto;
}

.hm-panorama__content--text h2 {
	max-width: 13ch;
	font-size: clamp(3.6rem, 7vw, 8.4rem);
}

.hm-panorama__content--text .hm-panorama__body {
	max-width: 52ch;
	margin-left: clamp(0px, 12vw, 190px);
	font-size: clamp(1.16rem, 1.55vw, 1.52rem);
}

.hm-panorama__align--center .hm-panorama__content--text,
.hm-panorama__align--center .hm-panorama__content--png,
.hm-panorama__align--center .hm-panorama__sequence-heading,
.hm-panorama__align--center .hm-panorama__content--image,
.hm-panorama__align--center .hm-panorama__gallery-heading {
	align-items: center;
	text-align: center;
}

.hm-panorama__align--center .hm-panorama__content--text .hm-panorama__body {
	margin-inline: auto;
}

.hm-panorama__align--right .hm-panorama__content--text,
.hm-panorama__align--right .hm-panorama__content--png,
.hm-panorama__align--right .hm-panorama__sequence-heading,
.hm-panorama__align--right .hm-panorama__content--image,
.hm-panorama__align--right .hm-panorama__gallery-heading {
	align-items: flex-end;
	text-align: right;
}

.hm-panorama__align--right .hm-panorama__content--text .hm-panorama__body {
	margin-right: 0;
	margin-left: auto;
}

.hm-panorama__scene--image,
.hm-panorama__scene--image-horizontal,
.hm-panorama__scene--image-vertical {
	display: grid;
	grid-template-columns: minmax(320px, 52fr) minmax(320px, 48fr);
	gap: clamp(28px, 5vw, 84px);
	align-items: center;
	padding: calc(var(--hm-panorama-toolbar-height) + 52px) var(--hm-panorama-gutter) clamp(74px, 9vh, 104px);
}

.hm-panorama__scene--image-horizontal {
	grid-template-columns: minmax(420px, 65fr) minmax(280px, 35fr);
}

.hm-panorama__scene--image-vertical {
	grid-template-columns: minmax(280px, 42fr) minmax(360px, 58fr);
}

.hm-panorama__media--single-photo {
	position: relative;
	z-index: 2;
	justify-self: end;
	max-width: 100%;
	width: min(42vw, 640px);
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
}

.hm-panorama__media--landscape {
	width: min(58vw, 920px);
	aspect-ratio: 16 / 9;
}

.hm-panorama__media--portrait-single {
	width: min(34vw, 500px);
	aspect-ratio: 3 / 4;
}

.hm-panorama__media--single-photo .hm-panorama__image {
	object-fit: cover;
}

.hm-panorama__content--image {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	color: var(--hm-panorama-scene-ink);
}

.hm-panorama__content--image h2 {
	max-width: 11ch;
	font-size: clamp(3rem, 5vw, 6.4rem);
}

.hm-panorama__content--image .hm-panorama__body,
.hm-panorama__content--png .hm-panorama__body,
.hm-panorama__gallery-heading .hm-panorama__body,
.hm-panorama__sequence-heading .hm-panorama__body {
	max-width: 46ch;
	margin-top: clamp(12px, 2vh, 24px);
	font-size: clamp(.98rem, 1.12vw, 1.16rem);
	line-height: 1.5;
}

.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal {
	grid-template-columns: minmax(280px, 35fr) minmax(420px, 65fr);
}

.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical {
	grid-template-columns: minmax(360px, 58fr) minmax(280px, 42fr);
}

.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__media--single-photo,
.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__media--single-photo,
.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__media--single-photo {
	grid-column: 2;
	justify-self: start;
}

.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__content--image,
.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__content--image,
.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__content--image {
	grid-column: 1;
	grid-row: 1;
}

.hm-panorama__scene--png {
	display: grid;
	place-items: center;
}

.hm-panorama__content--png {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(1180px, calc(100% - (2 * var(--hm-panorama-gutter))));
	height: 100%;
	padding: calc(var(--hm-panorama-toolbar-height) + 56px) 0 clamp(76px, 9vh, 104px);
	color: var(--hm-panorama-scene-ink);
}

.hm-panorama__content--png h2 {
	max-width: 13ch;
	font-size: clamp(2.6rem, 4.8vw, 6rem);
}

.hm-panorama__media--png {
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin: clamp(18px, 3vh, 38px) 0 0;
}

.hm-panorama__png-image {
	display: block;
	width: auto;
	max-width: min(78vw, 1040px);
	height: auto;
	max-height: 58dvh;
	margin: 0;
	object-fit: contain;
}

.hm-panorama__align--center .hm-panorama__media--png {
	margin-inline: auto;
}

.hm-panorama__align--right .hm-panorama__media--png {
	margin-left: auto;
}

.hm-panorama__scene--png-sequence {
	display: grid;
	place-items: stretch;
}

.hm-panorama__content--png-sequence {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	color: var(--hm-panorama-scene-ink);
}

.hm-panorama__sequence-heading {
	position: absolute;
	z-index: 3;
	top: calc(var(--hm-panorama-toolbar-height) + clamp(34px, 6vh, 72px));
	left: var(--hm-panorama-gutter);
	display: flex;
	flex-direction: column;
	max-width: min(44vw, 680px);
	pointer-events: none;
}

.hm-panorama__sequence-heading .hm-panorama__body {
	max-width: 40ch;
}

.hm-panorama__sequence-heading h2 {
	max-width: 12ch;
	font-size: clamp(2.6rem, 5vw, 6.2rem);
}

.hm-panorama__png-sequence {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	isolation: isolate;
}

.hm-panorama__png-sequence-stage {
	position: absolute;
	inset: calc(var(--hm-panorama-toolbar-height) + 24px) var(--hm-panorama-gutter) 72px;
}

.hm-panorama__png-sequence-layer {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	will-change: transform, opacity;
	animation-duration: var(--hm-sequence-duration, 8s);
	animation-delay: var(--hm-layer-delay, 0s);
	animation-timing-function: cubic-bezier(.22, 1, .36, 1);
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-fill-mode: both;
	animation-play-state: paused;
}

.hm-panorama__png-sequence.is-continuous.is-running .hm-panorama__png-sequence-layer {
	animation-play-state: running;
}

.hm-panorama__png-sequence.is-scroll .hm-panorama__png-sequence-layer {
	animation-duration: 1s;
	animation-delay: var(--hm-sequence-delay, 0s);
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-play-state: paused;
}

.hm-panorama__png-sequence-image {
	display: block;
	width: auto;
	max-width: min(84vw, 1280px);
	height: auto;
	max-height: min(78dvh, 900px);
	object-fit: contain;
}

.hm-panorama__png-sequence .hm-panorama__caption {
	position: absolute;
	z-index: 4;
	right: var(--hm-panorama-gutter);
	bottom: 76px;
	max-width: min(38ch, 46vw);
}

.hm-panorama__png-sequence--parallax .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-parallax;
}

.hm-panorama__png-sequence--float .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-float;
}

.hm-panorama__png-sequence--breathe .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-breathe;
}

.hm-panorama__png-sequence--cascade .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-cascade;
}

.hm-panorama__png-sequence--bloom .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-bloom;
}

.hm-panorama__png-sequence--traverse .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-traverse;
}

.hm-panorama__png-sequence--orbit .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-orbit;
}

.hm-panorama__png-sequence--focus .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-focus;
}

.hm-panorama__png-sequence--assemble .hm-panorama__png-sequence-layer {
	animation-name: hm-panorama-sequence-assemble;
}

.hm-panorama__png-sequence--frame .hm-panorama__png-sequence-layer {
	opacity: 0;
	animation-name: hm-panorama-sequence-frame;
	animation-direction: normal;
	animation-timing-function: steps(1, end);
}

.hm-panorama__png-sequence--frame.is-scroll .hm-panorama__png-sequence-layer {
	animation-name: none;
}

.hm-panorama__png-sequence--frame .hm-panorama__png-sequence-layer.is-current {
	opacity: 1;
}

@keyframes hm-panorama-sequence-parallax {
	from { opacity: .58; transform: translate3d(var(--hm-layer-x), var(--hm-layer-y), 0) scale(.94); }
	to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes hm-panorama-sequence-float {
	from { transform: translate3d(0, var(--hm-layer-y), 0) rotate(var(--hm-layer-rotation)); }
	to { transform: translate3d(0, var(--hm-layer-y-neg), 0) rotate(var(--hm-layer-rotation-neg)); }
}

@keyframes hm-panorama-sequence-breathe {
	from { opacity: .7; transform: scale(.91); }
	to { opacity: 1; transform: scale(1.04); }
}

@keyframes hm-panorama-sequence-cascade {
	from { opacity: 0; transform: translate3d(0, var(--hm-layer-y-double), 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hm-panorama-sequence-bloom {
	from { opacity: 0; transform: scale(.28) rotate(var(--hm-layer-rotation)); }
	to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes hm-panorama-sequence-traverse {
	from { opacity: .22; transform: translate3d(var(--hm-layer-x-quad), 0, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hm-panorama-sequence-orbit {
	from { transform: rotate(0) translateX(var(--hm-layer-x)) rotate(0); }
	to { transform: rotate(360deg) translateX(var(--hm-layer-x)) rotate(-360deg); }
}

@keyframes hm-panorama-sequence-focus {
	from { opacity: .24; transform: scale(.76); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes hm-panorama-sequence-assemble {
	from { opacity: .25; transform: translate3d(var(--hm-layer-x), var(--hm-layer-y), 0) rotate(var(--hm-layer-rotation)) scale(.88); }
	to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes hm-panorama-sequence-frame {
	0%, 18% { opacity: 1; }
	18.01%, 100% { opacity: 0; }
}

.hm-panorama__scene--gallery {
	display: block;
	overflow-y: auto;
	overscroll-behavior-y: contain;
}

.hm-panorama__content--gallery {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
	padding: calc(var(--hm-panorama-toolbar-height) + 36px) 0 clamp(72px, 8vh, 92px);
	color: var(--hm-panorama-scene-ink);
}

.hm-panorama__gallery-heading {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	width: min(1180px, calc(100% - (2 * var(--hm-panorama-gutter))));
	margin: 0 auto 22px;
}

.hm-panorama__gallery-heading h2 {
	max-width: 14ch;
	font-size: clamp(2.5rem, 4.5vw, 5.6rem);
}

.hm-panorama__gallery-heading .hm-panorama__body {
	max-width: 68ch;
}

.hm-panorama__gallery {
	display: flex;
	flex: 1 0 clamp(220px, 38dvh, 420px);
	flex-direction: column;
	min-height: 0;
}

.hm-panorama__gallery-track {
	display: flex;
	flex: 1 1 auto;
	gap: clamp(12px, 2vw, 28px);
	min-height: 0;
	padding: 0 var(--hm-panorama-gutter) 10px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-padding-inline: var(--hm-panorama-gutter);
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	touch-action: pan-x;
	-ms-overflow-style: none;
}

.hm-panorama__gallery-track::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.hm-panorama__gallery-track:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -4px;
}

.hm-panorama__gallery-item {
	position: relative;
	flex: 0 0 min(68vw, 980px);
	height: 100%;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	scroll-snap-align: start;
}

.hm-panorama__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hm-panorama__gallery-controls {
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
	align-items: center;
	justify-content: flex-start;
	width: min(1180px, calc(100% - (2 * var(--hm-panorama-gutter))));
	margin: 0 auto 12px;
	padding: 0;
	color: var(--hm-panorama-scene-muted);
	font-size: .72rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hm-panorama__gallery-controls button {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	padding: 0;
	color: var(--hm-panorama-scene-ink);
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	cursor: pointer;
}

.hm-panorama__gallery-controls button:hover,
.hm-panorama__gallery-controls button:focus-visible {
	color: var(--hm-panorama-scene-bg);
	background: var(--hm-panorama-scene-ink);
	outline: none;
}

@media (min-width: 821px) and (min-height: 561px), (min-width: 1025px) {
	.hm-panorama:not(.is-reading-mode) .hm-panorama__scene--gallery {
		min-height: 0;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__content--gallery {
		--hm-panorama-gallery-bottom-clearance: max(104px, calc(82px + env(safe-area-inset-bottom)));
		display: grid;
		grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
		gap: clamp(28px, 3vw, 48px);
		align-items: center;
		padding-right: var(--hm-panorama-gutter);
		padding-bottom: var(--hm-panorama-gallery-bottom-clearance);
		padding-left: var(--hm-panorama-gutter);
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-heading {
		width: 100%;
		max-height: calc(100dvh - var(--hm-panorama-toolbar-height) - 36px - var(--hm-panorama-gallery-bottom-clearance));
		margin: 0;
		overflow-y: auto;
		overscroll-behavior-y: contain;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery {
		width: calc(100% + var(--hm-panorama-gutter));
		min-width: 0;
		height: calc(100dvh - var(--hm-panorama-toolbar-height) - 36px - var(--hm-panorama-gallery-bottom-clearance));
		align-self: start;
		margin-right: calc(-1 * var(--hm-panorama-gutter));
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-controls {
		width: 100%;
		flex-direction: row-reverse;
		justify-content: flex-start;
		padding-right: var(--hm-panorama-gutter);
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-controls button {
		transform: scaleX(-1);
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-track {
		gap: 0;
		min-width: 0;
		padding-right: 0;
		padding-left: 0;
		scroll-padding-inline: 0;
		direction: rtl;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-item {
		flex-basis: 100%;
		direction: ltr;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__content--gallery {
		grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__gallery {
		grid-column: 1;
		grid-row: 1;
		margin-right: 0;
		margin-left: calc(-1 * var(--hm-panorama-gutter));
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__gallery-controls {
		flex-direction: row;
		justify-content: flex-start;
		padding-right: 0;
		padding-left: var(--hm-panorama-gutter);
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__gallery-controls button {
		transform: none;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__gallery-track {
		direction: ltr;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__gallery-position--left .hm-panorama__gallery-heading {
		grid-column: 2;
		grid-row: 1;
	}
}

.hm-panorama__scene--map {
	display: block;
	background: #e9e6df;
}

.hm-panorama__content--map {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	padding: 0;
	overflow: hidden;
	color: #fff;
}

.hm-panorama__map-overlay {
	position: absolute;
	z-index: 700;
	top: calc(var(--hm-panorama-toolbar-height) + max(54px, 7vh));
	left: var(--hm-panorama-gutter);
	display: flex;
	flex-direction: column;
	width: min(470px, calc(100% - (2 * var(--hm-panorama-gutter))));
	max-height: calc(100dvh - var(--hm-panorama-toolbar-height) - 160px);
	padding: clamp(24px, 3vw, 44px);
	overflow-y: auto;
	color: #fff;
	background: rgb(25 25 25 / 88%);
	border-top: 5px solid var(--hm-panorama-map-color, var(--hm-panorama-theme));
	box-shadow: 0 22px 70px rgb(0 0 0 / 28%);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.hm-panorama__map-overlay h2 {
	max-width: 12ch;
	color: #fff;
	font-size: clamp(2.4rem, 4.3vw, 5.4rem);
}

.hm-panorama__map-overlay .hm-panorama__eyebrow::before {
	background: var(--hm-panorama-map-color, var(--hm-panorama-theme));
}

.hm-panorama__map-location {
	margin: 9px 0 0;
	color: rgb(255 255 255 / 72%);
	font-size: .78rem;
	letter-spacing: .04em;
}

.hm-panorama__map-route-meta {
	align-self: flex-start;
	margin: 12px 0 0;
	padding: 6px 9px;
	color: #262626;
	background: var(--hm-panorama-map-color, var(--hm-panorama-theme));
	font-family: var(--hm-panorama-font-bold);
	font-size: .72rem;
	letter-spacing: .035em;
}

.hm-panorama__map-body {
	margin-top: 20px;
	color: rgb(255 255 255 / 88%);
	font-size: clamp(.95rem, 1.15vw, 1.12rem);
}

.hm-panorama__map-shell {
	position: absolute;
	inset: 0;
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	background: #e8e5df;
}

.hm-panorama__map-canvas,
.hm-panorama__map-fallback {
	grid-area: 1 / 1;
}

.hm-panorama__map-canvas {
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background: #f1f0ef;
}

.hm-panorama__map-canvas .leaflet-tile {
	image-rendering: auto;
}

.hm-panorama__map-shell--color .hm-panorama__map-canvas,
.hm-panorama__map-shell--voyager .hm-panorama__map-canvas {
	background: #dce4e7;
}

.hm-panorama__map-shell--color .leaflet-tile-pane,
.hm-panorama__map-shell--voyager .leaflet-tile-pane {
	opacity: 1;
	filter: none;
	mix-blend-mode: normal;
}

.hm-panorama__map-shell--minimal .leaflet-tile-pane {
	opacity: .96;
	filter: saturate(.72) contrast(.98) brightness(1.02);
}

.hm-panorama__map-shell--tinted .hm-panorama__map-canvas {
	background: color-mix(in srgb, var(--hm-panorama-map-color, #ec8c37) 24%, #f1f0ef);
}

.hm-panorama__map-shell--tinted .leaflet-tile-pane {
	opacity: .72;
	filter: grayscale(.72) saturate(.4) contrast(.92) brightness(1.08);
	mix-blend-mode: multiply;
}

.hm-panorama__map-shell--monochrome .leaflet-tile-pane {
	filter: grayscale(1) contrast(.95) brightness(1.04);
}

.hm-panorama__map-shell--dark .hm-panorama__map-canvas {
	background: #1f2222;
}

.hm-panorama__map-shell--dark .leaflet-tile-pane {
	opacity: 1;
	filter: none;
}

.hm-panorama__map-fallback {
	z-index: 2;
	align-self: center;
	justify-self: center;
	padding: 10px 14px;
	color: #fff !important;
	background: #262626;
	font-family: var(--hm-panorama-font-bold);
	font-size: .78rem;
	text-decoration: none;
}

.hm-panorama__map-shell.is-ready .hm-panorama__map-fallback {
	display: none;
}

.hm-panorama__map-print-attribution {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hm-panorama__map-shell .leaflet-top.leaflet-left {
	top: calc(var(--hm-panorama-toolbar-height) + 50px);
	right: var(--hm-panorama-gutter);
	left: auto;
}

.hm-panorama__map-shell .leaflet-control-zoom {
	border: 0;
	border-radius: 0;
	box-shadow: 0 8px 28px rgb(0 0 0 / 22%);
}

.hm-panorama__map-shell .leaflet-control-zoom a {
	width: 40px;
	height: 40px;
	color: #262626;
	background: rgb(255 255 255 / 94%);
	border-color: rgb(38 38 38 / 15%);
	border-radius: 0 !important;
	font-family: var(--hm-panorama-font-bold);
	font-size: 20px;
	line-height: 40px;
}

.hm-panorama__map-shell .leaflet-control-zoom a:hover,
.hm-panorama__map-shell .leaflet-control-zoom a:focus-visible {
	color: #262626;
	background: var(--hm-panorama-map-color, var(--hm-panorama-theme));
}

.hm-panorama__map-shell .leaflet-control-attribution {
	color: #262626;
	background: rgb(255 255 255 / 88%);
	font-family: Arial, sans-serif;
	font-size: 10px;
}

.hm-panorama__map-shell .leaflet-control-attribution a {
	color: #135e96;
}

.hm-panorama__map-shell .leaflet-popup-content-wrapper,
.hm-panorama__map-shell .leaflet-popup-tip {
	color: #262626;
	background: #fff;
	border-radius: 0;
}

.hm-panorama__map-shell .leaflet-popup-content {
	min-width: 150px;
	margin: 13px 16px;
	font-family: var(--hm-panorama-font-regular);
	line-height: 1.35;
}

.hm-panorama__map-shell .leaflet-popup-content strong {
	font-family: var(--hm-panorama-font-bold);
}

.hm-panorama__map-shell .leaflet-popup-content p {
	margin: 5px 0 0;
}

.hm-panorama__map-marker {
	display: grid;
	place-items: center;
	background: transparent;
	border: 0;
}

.hm-panorama__map-marker span {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	background: var(--hm-panorama-pin-color, var(--hm-panorama-map-color, var(--hm-panorama-theme)));
	border: 3px solid var(--hm-panorama-pin-ink, #262626);
	border-radius: 50% 50% 50% 8px;
	box-shadow: 0 4px 14px rgb(0 0 0 / 30%);
	transform: rotate(-45deg);
}

.hm-panorama__map-marker b {
	display: block;
	color: var(--hm-panorama-pin-ink, #262626);
	font-family: var(--hm-panorama-font-bold);
	font-size: 12px;
	line-height: 1;
	transform: rotate(45deg);
}

.hm-panorama__align--center .hm-panorama__map-overlay {
	right: auto;
	left: 50%;
	align-items: center;
	text-align: center;
	transform: translateX(-50%);
}

.hm-panorama__align--right .hm-panorama__map-overlay {
	right: var(--hm-panorama-gutter);
	left: auto;
	align-items: flex-end;
	text-align: right;
}

.hm-panorama__map-point-list {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hm-panorama__map-legend {
	position: absolute;
	z-index: 690;
	bottom: 46px;
	left: var(--hm-panorama-gutter);
	width: min(310px, calc(100% - (2 * var(--hm-panorama-gutter))));
	max-height: min(34dvh, 320px);
	padding: 16px 18px;
	overflow-y: auto;
	color: #262626;
	background: rgb(255 255 255 / 92%);
	border-top: 4px solid var(--hm-panorama-map-color, var(--hm-panorama-theme));
	box-shadow: 0 12px 36px rgb(0 0 0 / 20%);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.hm-panorama__map-legend > strong {
	display: block;
	margin-bottom: 9px;
	font-family: var(--hm-panorama-font-bold);
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.hm-panorama__map-legend ul {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-panorama__map-legend li {
	display: grid;
	grid-template-columns: 17px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	font-size: .82rem;
	line-height: 1.25;
}

.hm-panorama__map-legend-swatch {
	display: block;
	width: 15px;
	height: 15px;
	background: var(--hm-panorama-legend-color);
	border: 2px solid rgb(38 38 38 / 70%);
	border-radius: 50%;
	print-color-adjust: exact;
	-webkit-print-color-adjust: exact;
}

.hm-panorama__scene--quote {
	display: grid;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
}

.hm-panorama__scene--quote:not(:has(.hm-panorama__media--portrait)) {
	grid-template-columns: 1fr;
	place-items: center;
}

.hm-panorama__media--portrait {
	position: relative;
	height: 100%;
}

.hm-panorama__content--quote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: calc(var(--hm-panorama-toolbar-height) + 55px) clamp(42px, 6vw, 110px) clamp(60px, 7vh, 90px);
	color: var(--hm-panorama-scene-ink);
	overflow-y: auto;
}

.hm-panorama__scene--quote:not(:has(.hm-panorama__media--portrait)) .hm-panorama__content--quote {
	width: min(1180px, calc(100% - (2 * var(--hm-panorama-gutter))));
}

.hm-panorama__content--quote h2 {
	margin-bottom: clamp(24px, 3vh, 38px);
	font-size: clamp(2.4rem, 3.6vw, 4.5rem);
}

.hm-panorama__content--quote blockquote {
	position: relative;
	margin: 0;
	padding: 0;
}

.hm-panorama__content--quote blockquote::before {
	display: block;
	margin-bottom: 12px;
	color: var(--hm-panorama-theme);
	font-family: var(--hm-panorama-font-bold);
	font-size: clamp(4.5rem, 7vw, 8rem);
	line-height: .55;
	content: "“";
}

.hm-panorama__content--quote blockquote .hm-panorama__body {
	max-width: 19ch;
	margin: 0;
	font-family: var(--hm-panorama-font-bold);
	font-size: clamp(2.1rem, 4.2vw, 5rem);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.04;
}

.hm-panorama__content--quote blockquote footer {
	margin-top: clamp(22px, 3vh, 34px);
	color: var(--hm-panorama-scene-muted);
	font-size: .82rem;
	letter-spacing: .05em;
}

.hm-panorama__scene--video {
	display: grid;
	grid-template-columns: minmax(300px, 31fr) minmax(0, 69fr);
	gap: clamp(28px, 4vw, 70px);
	align-items: center;
	padding: calc(var(--hm-panorama-toolbar-height) + 50px) var(--hm-panorama-gutter) clamp(54px, 7vh, 78px);
	background: var(--hm-panorama-scene-bg);
}

.hm-panorama__content--media-heading {
	color: #fff;
}

.hm-panorama__content--media-heading h2 {
	font-size: clamp(2.6rem, 4vw, 5.2rem);
}

.hm-panorama__content--media-heading .hm-panorama__body {
	font-size: clamp(.96rem, 1.1vw, 1.14rem);
}

.hm-panorama__video-wrap {
	position: relative;
	min-width: 0;
	margin: 0;
}

.hm-panorama__video {
	display: block;
	width: 100%;
	max-height: 72dvh;
	background: #000;
	box-shadow: 0 26px 72px rgb(0 0 0 / 35%);
}

.hm-panorama__video-wrap .hm-panorama__caption {
	right: 12px;
	bottom: 12px;
}

.hm-panorama__scene--audio {
	display: grid;
	grid-template-columns: minmax(0, 48fr) minmax(380px, 52fr);
}

.hm-panorama__media--audio {
	position: relative;
	height: 100%;
}

.hm-panorama__content--audio {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: calc(var(--hm-panorama-toolbar-height) + 58px) clamp(42px, 7vw, 130px) clamp(60px, 8vh, 92px);
	color: var(--hm-panorama-scene-ink);
	background: var(--hm-panorama-scene-bg);
	overflow-y: auto;
}

.hm-panorama__content--audio h2 {
	font-size: clamp(3rem, 4.8vw, 6.2rem);
}

.hm-panorama__audio {
	width: min(100%, 580px);
	margin-top: clamp(28px, 4vh, 46px);
	accent-color: var(--hm-panorama-theme);
}

.hm-panorama__scene--end {
	display: grid;
	place-items: center;
}

.hm-panorama__content--end {
	width: min(1000px, calc(100% - (2 * var(--hm-panorama-gutter))));
	max-height: calc(100dvh - var(--hm-panorama-toolbar-height) - 110px);
	padding-top: calc(var(--hm-panorama-toolbar-height) + 45px);
	color: var(--hm-panorama-scene-ink);
	overflow-y: auto;
}

.hm-panorama__content--end h2 {
	max-width: 13ch;
	font-size: clamp(3.6rem, 7vw, 8.2rem);
}

.hm-panorama .hm-panorama__title--short {
	max-width: 12ch;
	font-size: clamp(3.7rem, 6.4vw, 7.6rem);
	line-height: .94;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.hm-panorama .hm-panorama__title--medium {
	max-width: 16ch;
	font-size: clamp(3rem, 5.2vw, 6.2rem);
	line-height: .97;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.hm-panorama .hm-panorama__title--long {
	max-width: 22ch;
	font-size: clamp(2.35rem, 4.1vw, 4.9rem);
	line-height: 1;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.hm-panorama .hm-panorama__title--xlong {
	max-width: 28ch;
	font-size: clamp(1.9rem, 3.25vw, 3.9rem);
	line-height: 1.04;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.hm-panorama .hm-panorama__title-text-size--small.hm-panorama__title-text-size--small {
	font-size: clamp(2.35rem, 4.1vw, 4.9rem);
}

.hm-panorama .hm-panorama__title-text-size--medium.hm-panorama__title-text-size--medium {
	font-size: clamp(3rem, 5.2vw, 6.2rem);
}

.hm-panorama .hm-panorama__title-text-size--large.hm-panorama__title-text-size--large {
	font-size: clamp(3.7rem, 6.4vw, 7.6rem);
}

.hm-panorama .hm-panorama__title-text-size--xlarge.hm-panorama__title-text-size--xlarge {
	font-size: clamp(4.25rem, 7.2vw, 8.4rem);
}

.hm-panorama__eyebrow--medium {
	font-size: .7rem;
	letter-spacing: .11em;
}

.hm-panorama__eyebrow--long {
	max-width: 58ch;
	font-size: .64rem;
	letter-spacing: .07em;
	line-height: 1.35;
}

.hm-panorama__credits {
	max-width: 70ch;
	font-size: clamp(1rem, 1.25vw, 1.2rem);
}

.hm-panorama__end-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: clamp(34px, 5vh, 58px);
}

.hm-panorama__end-actions button,
.hm-panorama__end-actions a {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 17px;
	color: var(--hm-panorama-scene-ink);
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 0;
	cursor: pointer;
	font-family: var(--hm-panorama-font-bold);
	font-size: .8rem;
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.hm-panorama__end-actions button:hover,
.hm-panorama__end-actions button:focus-visible,
.hm-panorama__end-actions a:hover,
.hm-panorama__end-actions a:focus-visible {
	color: var(--hm-panorama-scene-bg);
	background: var(--hm-panorama-scene-ink);
	border-color: var(--hm-panorama-scene-ink);
	outline: none;
}

.hm-panorama__end-actions a.hm-panorama__classic-view-link {
	color: var(--hm-panorama-scene-bg);
	background: var(--hm-panorama-scene-ink);
	border-color: var(--hm-panorama-scene-ink);
}

.hm-panorama__end-actions a.hm-panorama__classic-view-link:hover,
.hm-panorama__end-actions a.hm-panorama__classic-view-link:focus-visible {
	color: var(--hm-panorama-scene-ink);
	background: transparent;
}

.hm-panorama__end-actions svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.hm-panorama__navigation {
	position: fixed;
	z-index: 2147483646;
	right: max(24px, env(safe-area-inset-right));
	bottom: max(22px, env(safe-area-inset-bottom));
	left: max(24px, env(safe-area-inset-left));
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	pointer-events: none;
}

.hm-panorama__navigation > * {
	pointer-events: auto;
}

.hm-panorama__instruction {
	position: fixed;
	bottom: max(22px, env(safe-area-inset-bottom));
	left: max(24px, env(safe-area-inset-left));
	margin: 0 0 7px;
	color: rgb(255 255 255 / 74%);
	font-size: .68rem;
	letter-spacing: .08em;
	text-shadow: 0 1px 8px rgb(0 0 0 / 60%);
	text-transform: uppercase;
	transition: opacity 380ms ease, transform 380ms ease;
}

.hm-panorama.has-interacted .hm-panorama__instruction {
	opacity: 0;
	transform: translateY(8px);
}

.hm-panorama__navigation > div {
	display: flex;
	gap: 7px;
}

.hm-panorama__navigation button {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	color: #fff;
	background: rgb(21 21 21 / 78%);
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 0;
	box-shadow: 0 9px 28px rgb(0 0 0 / 20%);
	cursor: pointer;
	backdrop-filter: blur(14px);
	transition: color 180ms ease, background-color 180ms ease, opacity 180ms ease;
}

.hm-panorama__navigation button:hover,
.hm-panorama__navigation button:focus-visible {
	color: var(--hm-panorama-theme-ink);
	background: var(--hm-panorama-theme);
	border-color: var(--hm-panorama-theme);
	outline: none;
}

.hm-panorama__navigation button:disabled {
	opacity: .28;
	cursor: default;
}

.hm-panorama__navigation svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

body.hm-panorama-reading {
	height: auto;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	background: var(--hm-panorama-cream);
}

.hm-panorama.is-reading-mode {
	height: auto;
	min-height: 100dvh;
	overflow: visible;
}

.hm-panorama.is-reading-mode .hm-panorama__viewport {
	display: block;
	height: auto;
	overflow: visible;
	scroll-snap-type: none;
}

.hm-panorama.is-reading-mode .hm-panorama__scene {
	width: 100%;
	height: auto;
	min-height: 100svh;
	overflow: visible;
	scroll-snap-align: none;
}

.hm-panorama.is-reading-mode .hm-panorama__scene--split,
.hm-panorama.is-reading-mode .hm-panorama__scene--quote,
.hm-panorama.is-reading-mode .hm-panorama__scene--audio {
	min-height: 760px;
}

.hm-panorama.is-reading-mode .hm-panorama__content--split,
.hm-panorama.is-reading-mode .hm-panorama__content--quote,
.hm-panorama.is-reading-mode .hm-panorama__content--audio,
.hm-panorama.is-reading-mode .hm-panorama__content--text,
.hm-panorama.is-reading-mode .hm-panorama__content--end {
	max-height: none;
	overflow: visible;
}

.hm-panorama.is-reading-mode .hm-panorama__navigation {
	display: none;
}

.hm-panorama.is-reading-mode .hm-panorama__cover-image {
	animation: none;
	transform: none;
}

.hm-panorama.is-reading-mode .hm-panorama__toolbar {
	position: fixed;
}

@media (max-width: 1120px) {
	.hm-panorama__toolbar {
		grid-template-columns: minmax(132px, 190px) minmax(100px, 1fr) auto auto;
	}

	.hm-panorama__scene--split {
		grid-template-columns: minmax(0, 54fr) minmax(330px, 46fr);
	}

	.hm-panorama__scene--video {
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(0, 1fr);
		gap: 24px;
		align-content: center;
	}

	.hm-panorama__content--media-heading {
		display: grid;
		grid-template-columns: minmax(240px, .8fr) minmax(280px, 1.2fr);
		gap: 28px;
		align-items: end;
	}

	.hm-panorama__content--media-heading .hm-panorama__body {
		margin: 0;
	}

	.hm-panorama__video {
		max-height: 59dvh;
	}
}

@media (max-width: 820px), (max-width: 1024px) and (max-height: 560px) and (orientation: landscape) {
	:root {
		--hm-panorama-toolbar-height: 60px;
		--hm-panorama-toolbar-safe-top: calc(max(9px, env(safe-area-inset-top)) + var(--hm-panorama-toolbar-height) + clamp(36px, 7vh, 70px));
		--hm-panorama-gutter: clamp(20px, 6vw, 42px);
	}

	.hm-panorama__toolbar {
		top: max(9px, env(safe-area-inset-top));
		right: max(9px, env(safe-area-inset-right));
		left: max(9px, env(safe-area-inset-left));
		grid-template-columns: minmax(106px, 1fr) auto auto;
		min-height: 50px;
		padding: 5px 5px 5px 12px;
	}

	.hm-panorama__brand {
		height: 34px;
	}

	.hm-panorama__brand img {
		flex-basis: 26px;
		width: 26px;
		max-width: 26px;
		height: 26px;
	}

	.hm-panorama__brand-word {
		width: 110px;
		height: 30px;
	}

	.hm-panorama__progress {
		position: absolute;
		right: 7px;
		bottom: -1px;
		left: 7px;
		width: auto;
	}

	.hm-panorama__counter {
		margin-inline: 9px 7px;
	}

	.hm-panorama__toolbar-button {
		min-width: 38px;
		height: 38px;
		padding: 0 9px;
	}

	.hm-panorama__toolbar-button--mode span {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
	}

	.hm-panorama__scene {
		min-height: 520px;
		overflow-y: auto;
	}

	.hm-panorama__cover-shade {
		background:
			linear-gradient(0deg, rgb(0 0 0 / 78%) 0%, rgb(0 0 0 / 43%) 58%, rgb(0 0 0 / 12%) 100%);
	}

	.hm-panorama__cover-content {
		width: 100%;
		padding: var(--hm-panorama-toolbar-safe-top) var(--hm-panorama-gutter) clamp(82px, 10vh, 112px);
	}

	.hm-panorama__cover-content h1 {
		max-width: 13ch;
		font-size: clamp(3.05rem, 13vw, 6.2rem);
	}

	.hm-panorama__title-image {
		max-width: min(100%, var(--hm-panorama-title-image-mobile-width));
		max-height: min(28dvh, var(--hm-panorama-title-image-height));
		object-position: left bottom;
	}

	.hm-panorama__scene-title-image {
		max-width: min(100%, var(--hm-panorama-scene-title-mobile-width));
		max-height: min(24dvh, var(--hm-panorama-scene-title-height));
	}

	.hm-panorama__intro {
		max-width: 42ch;
		font-size: clamp(1rem, 4.1vw, 1.23rem);
	}

	.hm-panorama__meta {
		font-size: .7rem;
	}

	.hm-panorama__cover-caption {
		display: none;
	}

	.hm-panorama__content--overlay {
		width: 100%;
		padding: calc(var(--hm-panorama-toolbar-height) + 72px) var(--hm-panorama-gutter) clamp(94px, 12vh, 128px);
	}

	.hm-panorama__photo-shade {
		background: linear-gradient(0deg, rgb(0 0 0 / 78%) 0%, rgb(0 0 0 / 28%) 62%, transparent 100%);
	}

	.hm-panorama__content--overlay h2 {
		font-size: clamp(3rem, 12vw, 5.8rem);
	}

	.hm-panorama__caption {
		right: var(--hm-panorama-gutter);
		bottom: 75px;
		max-width: 70vw;
	}

	.hm-panorama__scene--split,
	.hm-panorama__layout--image-right {
		display: flex;
		flex-direction: column;
	}

	.hm-panorama__layout--image-right .hm-panorama__media--split,
	.hm-panorama__layout--image-right .hm-panorama__content--split {
		order: initial;
	}

	.hm-panorama__media--split {
		flex: 0 0 43%;
		min-height: 230px;
	}

	.hm-panorama__content--split {
		flex: 1 1 auto;
		height: auto;
		min-height: 57%;
		padding: 40px var(--hm-panorama-gutter) 96px;
	}

	.hm-panorama__content--split h2 {
		font-size: clamp(2.65rem, 10vw, 4.5rem);
	}

	.hm-panorama__content--split .hm-panorama__body {
		font-size: 1rem;
	}

	.hm-panorama__media--split .hm-panorama__caption {
		bottom: 10px;
	}

	.hm-panorama__content--text {
		width: calc(100% - (2 * var(--hm-panorama-gutter)));
		max-height: none;
		padding: calc(var(--hm-panorama-toolbar-height) + 82px) 0 104px;
	}

	.hm-panorama__content--text h2 {
		font-size: clamp(3.15rem, 13vw, 6rem);
	}

	.hm-panorama__content--text .hm-panorama__body {
		margin-left: 0;
		font-size: clamp(1.05rem, 4.3vw, 1.25rem);
	}

	.hm-panorama__scene--image,
	.hm-panorama__scene--image-horizontal,
	.hm-panorama__scene--image-vertical,
	.hm-panorama__layout--image-right.hm-panorama__scene--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical {
		display: flex;
		flex-direction: column;
		gap: 22px;
		align-items: stretch;
		padding: calc(var(--hm-panorama-toolbar-height) + 50px) var(--hm-panorama-gutter) 98px;
	}

	.hm-panorama__media--square,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__media--square {
		flex: 0 1 auto;
		order: 1;
		align-self: center;
		width: min(100%, 52dvh);
		max-height: 52dvh;
	}

	.hm-panorama__media--landscape,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__media--landscape {
		flex: 0 1 auto;
		order: 1;
		align-self: center;
		width: 100%;
		max-height: 42dvh;
	}

	.hm-panorama__media--portrait-single,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__media--portrait-single {
		flex: 0 1 auto;
		order: 1;
		align-self: center;
		width: min(82vw, 39dvh);
		max-height: 52dvh;
	}

	.hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__content--image {
		order: 2;
	}

	.hm-panorama__content--image h2 {
		font-size: clamp(2.5rem, 10vw, 4.4rem);
	}

	.hm-panorama__content--image .hm-panorama__body,
	.hm-panorama__content--png .hm-panorama__body,
	.hm-panorama__gallery-heading .hm-panorama__body,
	.hm-panorama__sequence-heading .hm-panorama__body {
		margin-top: 10px;
		font-size: 1rem;
		line-height: 1.45;
	}

	.hm-panorama__scene--image:has(.hm-panorama__content--image .hm-panorama__body) .hm-panorama__media--single-photo,
	.hm-panorama__scene--image-horizontal:has(.hm-panorama__content--image .hm-panorama__body) .hm-panorama__media--single-photo,
	.hm-panorama__scene--image-vertical:has(.hm-panorama__content--image .hm-panorama__body) .hm-panorama__media--single-photo {
		max-height: 36dvh;
	}

	.hm-panorama__content--png {
		width: calc(100% - (2 * var(--hm-panorama-gutter)));
		padding: calc(var(--hm-panorama-toolbar-height) + 56px) 0 98px;
	}

	.hm-panorama__content--png h2 {
		font-size: clamp(2.5rem, 10vw, 4.4rem);
	}

	.hm-panorama__png-image {
		max-width: 100%;
		max-height: 55dvh;
	}

	.hm-panorama__content--png:has(.hm-panorama__body) .hm-panorama__png-image {
		max-height: 42dvh;
	}

	.hm-panorama__sequence-heading {
		top: calc(var(--hm-panorama-toolbar-height) + 34px);
		right: var(--hm-panorama-gutter);
		max-width: none;
	}

	.hm-panorama__sequence-heading h2 {
		font-size: clamp(2.4rem, 10vw, 4.3rem);
	}

	.hm-panorama__png-sequence-stage {
		inset: calc(var(--hm-panorama-toolbar-height) + 40px) 3vw 94px;
	}

	.hm-panorama__png-sequence-image {
		max-width: 94vw;
		max-height: 66dvh;
	}

	.hm-panorama__png-sequence .hm-panorama__caption {
		right: var(--hm-panorama-gutter);
		bottom: 92px;
		left: var(--hm-panorama-gutter);
		max-width: none;
	}

	.hm-panorama__content--gallery {
		padding: calc(var(--hm-panorama-toolbar-height) + 38px) 0 84px;
	}

	.hm-panorama__gallery-heading {
		margin-bottom: 15px;
	}

	.hm-panorama__gallery-heading h2 {
		font-size: clamp(2.35rem, 9vw, 4rem);
	}

	.hm-panorama__gallery-item {
		flex-basis: 84vw;
		min-height: 220px;
	}

	.hm-panorama__gallery-controls {
		justify-content: flex-start;
		margin-bottom: 10px;
	}

	.hm-panorama__content--map {
		height: 100%;
		padding: 0;
	}

	.hm-panorama__map-overlay {
		top: calc(var(--hm-panorama-toolbar-height) + 38px);
		right: var(--hm-panorama-gutter);
		left: var(--hm-panorama-gutter);
		width: auto;
		max-height: min(42dvh, 360px);
		padding: 21px 22px 23px;
	}

	.hm-panorama__map-overlay h2 {
		font-size: clamp(2.15rem, 9.5vw, 3.7rem);
	}

	.hm-panorama__map-shell,
	.hm-panorama__map-canvas {
		min-height: 100%;
	}

	.hm-panorama__map-shell .leaflet-top.leaflet-left {
		top: auto;
		right: var(--hm-panorama-gutter);
		bottom: max(92px, calc(env(safe-area-inset-bottom) + 84px));
	}

	.hm-panorama__map-legend {
		right: auto;
		bottom: max(52px, calc(env(safe-area-inset-bottom) + 44px));
		left: var(--hm-panorama-gutter);
		width: min(235px, calc(100% - 148px));
		max-height: min(27dvh, 220px);
		padding: 12px 14px;
	}

	.hm-panorama__map-legend > strong {
		margin-bottom: 7px;
		font-size: .68rem;
	}

	.hm-panorama__map-legend li {
		gap: 7px;
		font-size: .74rem;
	}

	.hm-panorama__align--center .hm-panorama__map-overlay,
	.hm-panorama__align--right .hm-panorama__map-overlay {
		right: var(--hm-panorama-gutter);
		left: var(--hm-panorama-gutter);
		align-items: flex-start;
		text-align: left;
		transform: none;
	}

	.hm-panorama__scene--quote {
		display: flex;
		flex-direction: column;
	}

	.hm-panorama__media--portrait {
		flex: 0 0 42%;
		min-height: 220px;
	}

	.hm-panorama__content--quote,
	.hm-panorama__scene--quote:not(:has(.hm-panorama__media--portrait)) .hm-panorama__content--quote {
		flex: 1 1 auto;
		width: auto;
		padding: 42px var(--hm-panorama-gutter) 102px;
	}

	.hm-panorama__scene--quote:not(:has(.hm-panorama__media--portrait)) .hm-panorama__content--quote {
		justify-content: center;
		padding-top: calc(var(--hm-panorama-toolbar-height) + 72px);
	}

	.hm-panorama__content--quote blockquote .hm-panorama__body {
		font-size: clamp(2.1rem, 8.5vw, 4.2rem);
	}

	.hm-panorama__scene--video {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 26px;
		padding: calc(var(--hm-panorama-toolbar-height) + 48px) var(--hm-panorama-gutter) 94px;
	}

	.hm-panorama__content--media-heading {
		display: block;
		width: 100%;
	}

	.hm-panorama__content--media-heading h2 {
		font-size: clamp(2.65rem, 10vw, 4.5rem);
	}

	.hm-panorama__content--media-heading .hm-panorama__body {
		margin-top: 18px;
	}

	.hm-panorama__video {
		max-height: 44dvh;
	}

	.hm-panorama__scene--audio {
		display: flex;
		flex-direction: column;
	}

	.hm-panorama__media--audio {
		flex: 0 0 42%;
		min-height: 220px;
	}

	.hm-panorama__content--audio {
		flex: 1 1 auto;
		padding: 42px var(--hm-panorama-gutter) 102px;
	}

	.hm-panorama__content--audio h2 {
		font-size: clamp(2.8rem, 11vw, 5rem);
	}

	.hm-panorama__content--end {
		width: calc(100% - (2 * var(--hm-panorama-gutter)));
		max-height: none;
		padding: calc(var(--hm-panorama-toolbar-height) + 80px) 0 106px;
	}

	.hm-panorama__content--end h2 {
		font-size: clamp(3.2rem, 13vw, 6.2rem);
	}

	.hm-panorama .hm-panorama__title--short {
		max-width: 12ch;
		font-size: clamp(2.8rem, 12vw, 5.2rem);
	}

	.hm-panorama .hm-panorama__title--medium {
		max-width: 16ch;
		font-size: clamp(2.35rem, 10vw, 4.35rem);
	}

	.hm-panorama .hm-panorama__title--long {
		max-width: 22ch;
		font-size: clamp(2rem, 8.4vw, 3.65rem);
	}

	.hm-panorama .hm-panorama__title--xlong {
		max-width: 28ch;
		font-size: clamp(1.72rem, 7.2vw, 3rem);
	}

	.hm-panorama .hm-panorama__title-text-size--small.hm-panorama__title-text-size--small {
		font-size: clamp(2rem, 8.4vw, 3.65rem);
	}

	.hm-panorama .hm-panorama__title-text-size--medium.hm-panorama__title-text-size--medium {
		font-size: clamp(2.35rem, 10vw, 4.35rem);
	}

	.hm-panorama .hm-panorama__title-text-size--large.hm-panorama__title-text-size--large {
		font-size: clamp(2.8rem, 12vw, 5.2rem);
	}

	.hm-panorama .hm-panorama__title-text-size--xlarge.hm-panorama__title-text-size--xlarge {
		font-size: clamp(3.2rem, 13vw, 6.2rem);
	}

	.hm-panorama__eyebrow--medium {
		font-size: .67rem;
		letter-spacing: .09em;
	}

	.hm-panorama__eyebrow--long {
		max-width: 42ch;
		font-size: .61rem;
		letter-spacing: .05em;
	}

	.hm-panorama__cover-content,
	.hm-panorama__content--overlay,
	.hm-panorama__content--split,
	.hm-panorama__content--text,
	.hm-panorama__content--quote,
	.hm-panorama__scene--video,
	.hm-panorama__content--audio,
	.hm-panorama__content--end {
		padding-bottom: max(104px, calc(env(safe-area-inset-bottom) + 94px));
	}

	.hm-panorama.is-reading-mode .hm-panorama__cover-content,
	.hm-panorama.is-reading-mode .hm-panorama__content--overlay,
	.hm-panorama.is-reading-mode .hm-panorama__content--split,
	.hm-panorama.is-reading-mode .hm-panorama__content--text,
	.hm-panorama.is-reading-mode .hm-panorama__content--image,
	.hm-panorama.is-reading-mode .hm-panorama__content--png,
	.hm-panorama.is-reading-mode .hm-panorama__content--png-sequence,
	.hm-panorama.is-reading-mode .hm-panorama__content--gallery,
	.hm-panorama.is-reading-mode .hm-panorama__content--quote,
	.hm-panorama.is-reading-mode .hm-panorama__scene--video,
	.hm-panorama.is-reading-mode .hm-panorama__content--audio,
	.hm-panorama.is-reading-mode .hm-panorama__content--end {
		padding-bottom: 88px;
	}

	.hm-panorama__end-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hm-panorama__end-actions > * {
		width: 100%;
	}

	.hm-panorama__navigation {
		right: max(13px, env(safe-area-inset-right));
		bottom: max(13px, env(safe-area-inset-bottom));
		left: max(13px, env(safe-area-inset-left));
	}

	.hm-panorama__instruction {
		display: none;
	}

	.hm-panorama__navigation {
		justify-content: flex-end;
	}

	.hm-panorama__navigation button {
		width: 46px;
		height: 46px;
	}

	.hm-panorama.is-reading-mode .hm-panorama__scene--split,
	.hm-panorama.is-reading-mode .hm-panorama__scene--image,
	.hm-panorama.is-reading-mode .hm-panorama__scene--quote,
	.hm-panorama.is-reading-mode .hm-panorama__scene--audio {
		min-height: 0;
	}

	.hm-panorama.is-reading-mode .hm-panorama__media--split,
	.hm-panorama.is-reading-mode .hm-panorama__media--square,
	.hm-panorama.is-reading-mode .hm-panorama__media--portrait,
	.hm-panorama.is-reading-mode .hm-panorama__media--audio {
		flex: 0 0 auto;
		width: 100%;
		height: 52svh;
		min-height: 0;
	}
}

@media (max-width: 480px) {
	.hm-panorama__counter {
		display: none;
	}

	.hm-panorama__toolbar {
		grid-template-columns: 1fr auto;
	}

	.hm-panorama__brand img {
		max-width: 132px;
	}

	.hm-panorama__brand-word {
		width: 103px;
		height: 28px;
	}

	.hm-panorama__cover-content h1 {
		font-size: clamp(2.75rem, 13vw, 4.35rem);
	}

	.hm-panorama__start {
		min-height: 46px;
		margin-top: 24px;
	}

	.hm-panorama__content h2 {
		overflow-wrap: anywhere;
	}
}

/*
 * Système mobile unifié.
 * Une seule grille verticale gouverne l’ouverture, les contenus, les médias,
 * les cartes et la navigation, en portrait comme en paysage.
 */
@media (max-width: 820px), (max-width: 1024px) and (max-height: 560px) and (orientation: landscape) {
	:root {
		--hm-panorama-gutter: clamp(18px, 5.2vw, 28px);
		--hm-panorama-mobile-top: calc(max(8px, env(safe-area-inset-top)) + 92px);
		--hm-panorama-mobile-bottom: calc(max(12px, env(safe-area-inset-bottom)) + 66px);
		--hm-panorama-mobile-gap: clamp(18px, 4.5vw, 28px);
	}

	.hm-panorama__background-annotations {
		--hm-annotation-marker-size: clamp(27px, 8vw, 34px);
	}

	.hm-panorama__annotation-marker {
		width: var(--hm-annotation-marker-size);
		font-size: .65rem;
	}

	.hm-panorama__annotation-label {
		max-width: min(44vw, 190px);
		padding: 6px 7px 6px 8px;
		font-size: clamp(.64rem, 2.8vw, .76rem);
		line-height: 1.2;
	}

	.hm-panorama__annotation-line {
		stroke-width: 2.25;
	}

	.hm-panorama__annotation-legend,
	.hm-panorama__align--center .hm-panorama__annotation-legend {
		top: var(--hm-panorama-mobile-top);
		right: var(--hm-panorama-gutter);
		left: auto;
		width: min(46vw, 220px);
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
		padding: 10px 11px;
		overflow-y: auto;
		transform: none;
		border-radius: 8px;
	}

	.hm-panorama__align--right .hm-panorama__annotation-legend {
		top: var(--hm-panorama-mobile-top);
		right: auto;
		left: var(--hm-panorama-gutter);
		width: min(46vw, 220px);
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
		padding: 10px 11px;
		overflow-y: auto;
		transform: none;
		border-radius: 8px;
	}

	.hm-panorama__annotation-legend > strong {
		margin-bottom: 7px;
		font-size: .58rem;
		letter-spacing: .09em;
	}

	.hm-panorama__annotation-legend ul {
		gap: 5px;
	}

	.hm-panorama__annotation-legend li {
		grid-template-columns: 14px minmax(0, 1fr);
		gap: 6px;
		font-size: clamp(.6rem, 2.8vw, .72rem);
		line-height: 1.2;
	}

	.hm-panorama__annotation-legend-symbol {
		width: 11px;
		height: 11px;
	}

	.hm-panorama__annotation-legend-symbol--arrow {
		width: 13px;
		height: 2px;
	}

	.hm-panorama,
	.hm-panorama__viewport {
		height: 100dvh;
		min-height: 100svh;
	}

	.hm-panorama__viewport {
		overscroll-behavior: none;
		scroll-snap-type: x mandatory;
	}

	.hm-panorama__scene {
		width: 100%;
		height: 100dvh;
		min-height: 100svh;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior-y: contain;
		scroll-padding-block: var(--hm-panorama-mobile-top) var(--hm-panorama-mobile-bottom);
		-webkit-overflow-scrolling: touch;
	}

	.hm-panorama__toolbar {
		top: max(8px, env(safe-area-inset-top));
		right: max(8px, env(safe-area-inset-right));
		left: max(8px, env(safe-area-inset-left));
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 4px;
		min-height: 54px;
		padding: 5px 6px 7px 10px;
	}

	.hm-panorama__brand {
		gap: 8px;
		height: 42px;
		overflow: hidden;
	}

	.hm-panorama__brand img {
		flex-basis: 27px;
		width: 27px;
		max-width: 27px;
		height: 27px;
	}

	.hm-panorama__brand-word {
		width: 106px;
		height: 29px;
	}

	.hm-panorama__progress {
		right: 10px;
		bottom: 3px;
		left: 10px;
		gap: 3px;
		height: 3px;
	}

	.hm-panorama__progress-segment,
	.hm-panorama__progress-segment.is-current {
		height: 2px;
	}

	.hm-panorama__counter {
		margin: 0 5px;
		font-size: .62rem;
	}

	.hm-panorama__counter b {
		font-size: .76rem;
	}

	.hm-panorama__toolbar-actions {
		gap: 2px;
	}

	.hm-panorama__toolbar-button {
		min-width: 44px;
		width: 44px;
		height: 44px;
		padding: 0;
	}

	.hm-panorama__toolbar-button--mode {
		border-left: 0;
	}

	.hm-panorama__navigation {
		right: max(12px, env(safe-area-inset-right));
		bottom: max(12px, env(safe-area-inset-bottom));
		left: max(12px, env(safe-area-inset-left));
	}

	.hm-panorama__navigation button {
		width: 48px;
		height: 48px;
		border-radius: 4px;
	}

	.hm-panorama__eyebrow {
		margin-bottom: clamp(10px, 2.4vh, 16px);
		font-size: clamp(.62rem, 2.8vw, .72rem);
		letter-spacing: .11em;
		line-height: 1.3;
	}

	.hm-panorama__eyebrow::before {
		width: 20px;
		height: 3px;
		margin-right: 9px;
	}

	.hm-panorama__content h2,
	.hm-panorama__cover-content h1 {
		max-width: 100%;
		letter-spacing: -.04em;
		line-height: .98;
		text-wrap: balance;
		overflow-wrap: anywhere;
	}

	.hm-panorama__body {
		max-width: 48ch;
		margin-top: 16px;
		font-size: clamp(1rem, 4.25vw, 1.16rem);
		line-height: 1.52;
	}

	.hm-panorama__body p {
		margin-block: 0 1em;
	}

	.hm-panorama__body p:last-child {
		margin-bottom: 0;
	}

	.hm-panorama__body blockquote {
		margin-block: 1.25em;
		padding-left: 18px;
		font-size: 1.08em;
	}

	.hm-panorama__body img,
	.hm-panorama__body video,
	.hm-panorama__body iframe,
	.hm-panorama__credits img,
	.hm-panorama__credits video,
	.hm-panorama__credits iframe {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
	}

	.hm-panorama__body iframe,
	.hm-panorama__credits iframe {
		width: 100%;
		aspect-ratio: 16 / 9;
		border: 0;
	}

	.hm-panorama__body table,
	.hm-panorama__credits table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		border-collapse: collapse;
	}

	.hm-panorama__body pre,
	.hm-panorama__body code,
	.hm-panorama__body a,
	.hm-panorama__credits pre,
	.hm-panorama__credits code,
	.hm-panorama__credits a,
	.hm-panorama__annotation-legend li,
	.hm-panorama__map-legend li {
		overflow-wrap: anywhere;
	}

	.hm-panorama__content--image .hm-panorama__body,
	.hm-panorama__content--png .hm-panorama__body,
	.hm-panorama__gallery-heading .hm-panorama__body,
	.hm-panorama__sequence-heading .hm-panorama__body {
		margin-top: 14px;
		font-size: clamp(.98rem, 4.1vw, 1.12rem);
		line-height: 1.5;
	}

	.hm-panorama__caption {
		right: 8px;
		bottom: 8px;
		left: auto;
		max-width: min(78%, 310px);
		max-height: 40%;
		padding: 7px 9px;
		overflow-y: auto;
		font-size: .66rem;
		line-height: 1.35;
	}

	.hm-panorama__caption-credit {
		margin-top: 3px;
		font-size: .58rem;
		line-height: 1.35;
	}

	/* Ouverture et photo plein écran. */
	.hm-panorama__cover-content,
	.hm-panorama__content--overlay {
		justify-content: safe flex-end;
		width: 100%;
		height: auto;
		min-height: 100%;
		padding: var(--hm-panorama-mobile-top) var(--hm-panorama-gutter) var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__cover-content h1,
	.hm-panorama__content--overlay h2 {
		font-size: clamp(2.7rem, 12.5vw, 5rem);
	}

	.hm-panorama__title-image {
		max-width: min(100%, var(--hm-panorama-title-image-mobile-width));
		max-height: min(23dvh, var(--hm-panorama-title-image-height));
	}

	.hm-panorama__scene-title-image {
		max-width: min(100%, var(--hm-panorama-scene-title-mobile-width));
		max-height: min(23dvh, var(--hm-panorama-scene-title-height));
	}

	.hm-panorama__intro {
		margin-top: 13px;
		font-size: clamp(.94rem, 3.7vw, 1.08rem);
		line-height: 1.43;
	}

	.hm-panorama__meta {
		gap: 5px 14px;
		margin-top: 12px;
		font-size: .67rem;
		line-height: 1.4;
	}

	.hm-panorama__meta span + span::before {
		margin-right: 14px;
	}

	.hm-panorama__start {
		gap: 16px;
		min-height: 46px;
		margin-top: 15px;
		padding-inline: 17px;
	}

	.hm-panorama__cover-caption {
		top: var(--hm-panorama-mobile-top);
		right: var(--hm-panorama-gutter);
		bottom: auto;
		display: flex;
		max-width: min(46vw, 220px);
		max-height: 18dvh;
		padding: 7px 9px;
		overflow-y: auto;
		color: rgb(255 255 255 / 82%);
		background: rgb(0 0 0 / 42%);
		text-align: right;
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}

	.hm-panorama__cover-shade,
	.hm-panorama__photo-shade {
		background:
			linear-gradient(0deg, rgb(0 0 0 / 82%) 0%, rgb(0 0 0 / 50%) 48%, rgb(0 0 0 / 8%) 82%),
			linear-gradient(90deg, rgb(0 0 0 / 20%), transparent 70%);
	}

	/* Texte seul et fin du récit. */
	.hm-panorama__scene--text,
	.hm-panorama__scene--end {
		display: flex;
		align-items: stretch;
		place-items: initial;
	}

	.hm-panorama__content--text,
	.hm-panorama__content--end {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
		justify-content: safe center;
		width: 100%;
		min-height: 100%;
		max-height: none;
		padding: var(--hm-panorama-mobile-top) var(--hm-panorama-gutter) var(--hm-panorama-mobile-bottom);
		overflow: visible;
	}

	.hm-panorama__content--text h2,
	.hm-panorama__content--end h2 {
		font-size: clamp(2.7rem, 12vw, 5rem);
	}

	.hm-panorama__content--text .hm-panorama__body {
		max-width: 46ch;
		margin-left: 0;
		font-size: clamp(1.04rem, 4.5vw, 1.2rem);
	}

	.hm-panorama__align--right .hm-panorama__content--text .hm-panorama__body {
		margin-left: auto;
	}

	/* Photos carrées, horizontales et verticales. */
	.hm-panorama__scene--image,
	.hm-panorama__scene--image-horizontal,
	.hm-panorama__scene--image-vertical,
	.hm-panorama__layout--image-right.hm-panorama__scene--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical {
		display: flex;
		flex-direction: column;
		gap: var(--hm-panorama-mobile-gap);
		align-items: stretch;
		justify-content: safe center;
		min-height: 100%;
		padding: var(--hm-panorama-mobile-top) var(--hm-panorama-gutter) var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__media--single-photo {
		flex: 0 0 auto;
		order: 1;
		align-self: center;
		justify-self: auto;
		max-width: 100%;
	}

	.hm-panorama__media--square {
		width: min(100%, 46dvh);
		max-height: 46dvh;
	}

	.hm-panorama__media--landscape {
		width: 100%;
		max-height: 40dvh;
	}

	.hm-panorama__media--portrait-single {
		width: min(76vw, 38dvh);
		max-height: 49dvh;
	}

	.hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__content--image {
		order: 2;
		width: 100%;
	}

	.hm-panorama__content--image h2 {
		font-size: clamp(2.25rem, 9.5vw, 4rem);
	}

	.hm-panorama__scene--image:has(.hm-panorama__body) .hm-panorama__media--single-photo,
	.hm-panorama__scene--image-horizontal:has(.hm-panorama__body) .hm-panorama__media--single-photo,
	.hm-panorama__scene--image-vertical:has(.hm-panorama__body) .hm-panorama__media--single-photo {
		max-height: 34dvh;
	}

	/* Illustration PNG simple. */
	.hm-panorama__scene--png {
		display: flex;
		align-items: stretch;
		place-items: initial;
	}

	.hm-panorama__content--png {
		justify-content: safe center;
		width: 100%;
		height: auto;
		min-height: 100%;
		padding: var(--hm-panorama-mobile-top) var(--hm-panorama-gutter) var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__content--png h2 {
		font-size: clamp(2.25rem, 9.5vw, 4rem);
	}

	.hm-panorama__media--png {
		max-width: 100%;
		margin-top: var(--hm-panorama-mobile-gap);
	}

	.hm-panorama__png-image {
		max-width: 100%;
		max-height: 48dvh;
	}

	.hm-panorama__content--png:has(.hm-panorama__body) .hm-panorama__png-image {
		max-height: 34dvh;
	}

	.hm-panorama__media--png .hm-panorama__caption {
		position: relative;
		inset: auto;
		align-items: flex-start;
		width: fit-content;
		max-width: min(100%, 42ch);
		margin-top: 10px;
		text-align: left;
	}

	/* Séquence de PNG : titre, scène animée, crédits. */
	.hm-panorama__content--png-sequence {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: auto;
		min-height: 100%;
		padding: var(--hm-panorama-mobile-top) 0 var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__sequence-heading {
		position: relative;
		inset: auto;
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
		padding: 0 var(--hm-panorama-gutter) 14px;
		pointer-events: auto;
	}

	.hm-panorama__sequence-heading h2 {
		font-size: clamp(2.2rem, 9vw, 3.8rem);
	}

	.hm-panorama__png-sequence {
		flex: 1 0 42dvh;
		width: 100%;
		height: auto;
		min-height: 42dvh;
	}

	.hm-panorama__png-sequence-stage {
		inset: 0 var(--hm-panorama-gutter) 46px;
	}

	.hm-panorama__png-sequence-image {
		max-width: 100%;
		max-height: min(48dvh, 560px);
	}

	.hm-panorama__png-sequence .hm-panorama__caption {
		right: var(--hm-panorama-gutter);
		bottom: 4px;
		left: var(--hm-panorama-gutter);
		width: fit-content;
		max-width: calc(100% - var(--hm-panorama-gutter) - var(--hm-panorama-gutter));
	}

	/* Galerie : contrôles dédiés au-dessus des photos, navigation Panorama dessous. */
	.hm-panorama__content--gallery {
		width: 100%;
		height: auto;
		min-height: 100%;
		padding: var(--hm-panorama-mobile-top) 0 var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__gallery-heading {
		width: calc(100% - var(--hm-panorama-gutter) - var(--hm-panorama-gutter));
		margin-bottom: 14px;
	}

	.hm-panorama__gallery-heading h2 {
		font-size: clamp(2.15rem, 8.8vw, 3.75rem);
	}

	.hm-panorama__gallery {
		flex: 1 0 44dvh;
		min-height: 44dvh;
	}

	.hm-panorama__gallery-controls {
		gap: 8px;
		width: calc(100% - var(--hm-panorama-gutter) - var(--hm-panorama-gutter));
		margin-bottom: 10px;
		font-size: .66rem;
	}

	.hm-panorama__gallery-controls button {
		width: 44px;
		height: 44px;
	}

	.hm-panorama__gallery-track {
		gap: 0;
		width: calc(100% - var(--hm-panorama-gutter) - var(--hm-panorama-gutter));
		margin-inline: auto;
		padding: 0 0 2px;
		scroll-padding-inline: 0;
		touch-action: pan-x pan-y;
	}

	.hm-panorama__gallery-item {
		flex-basis: 100%;
		height: auto;
		min-height: 40dvh;
		max-height: 58dvh;
	}

	.hm-panorama__gallery-image {
		min-height: 100%;
	}

	/* Carte immersive avec zones non concurrentes. */
	.hm-panorama__scene--map {
		overflow: hidden;
	}

	.hm-panorama__content--map,
	.hm-panorama__map-shell,
	.hm-panorama__map-canvas {
		width: 100%;
		height: 100%;
		min-height: 100%;
	}

	.hm-panorama__map-overlay {
		top: var(--hm-panorama-mobile-top);
		right: var(--hm-panorama-gutter);
		left: var(--hm-panorama-gutter);
		width: auto;
		max-height: min(36dvh, 330px);
		padding: 18px 19px 20px;
		overscroll-behavior: contain;
		border-top-width: 4px;
	}

	.hm-panorama__map-overlay,
	.hm-panorama__map-legend {
		scrollbar-width: thin;
		scrollbar-color: var(--hm-panorama-theme) transparent;
	}

	.hm-panorama__map-overlay::-webkit-scrollbar,
	.hm-panorama__map-legend::-webkit-scrollbar {
		display: block;
		width: 4px;
	}

	.hm-panorama__map-overlay::-webkit-scrollbar-thumb,
	.hm-panorama__map-legend::-webkit-scrollbar-thumb {
		background: var(--hm-panorama-theme);
	}

	.hm-panorama__map-overlay h2 {
		font-size: clamp(1.9rem, 8.5vw, 3.35rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--short {
		font-size: clamp(1.95rem, 8.5vw, 3.3rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--medium {
		font-size: clamp(1.75rem, 7.5vw, 2.9rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--long {
		font-size: clamp(1.55rem, 6.6vw, 2.5rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--xlong {
		font-size: clamp(1.35rem, 5.7vw, 2.15rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--small {
		font-size: clamp(1.55rem, 6.6vw, 2.5rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--medium {
		font-size: clamp(1.75rem, 7.5vw, 2.9rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--large {
		font-size: clamp(1.95rem, 8.5vw, 3.3rem);
	}

	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--xlarge {
		font-size: clamp(2.1rem, 9.2vw, 3.55rem);
	}

	.hm-panorama__map-body {
		margin-top: 12px;
		font-size: .94rem;
		line-height: 1.45;
	}

	.hm-panorama__map-location {
		margin-top: 7px;
		font-size: .7rem;
	}

	.hm-panorama__map-route-meta {
		margin-top: 9px;
		font-size: .66rem;
	}

	.hm-panorama__map-shell .leaflet-top.leaflet-left {
		top: auto;
		right: var(--hm-panorama-gutter);
		bottom: var(--hm-panorama-mobile-bottom);
	}

	.hm-panorama__map-shell .leaflet-control-zoom a {
		width: 44px;
		height: 44px;
		line-height: 44px;
	}

	.hm-panorama__map-shell .leaflet-control-attribution {
		max-width: calc(100vw - 128px);
		font-size: 8px;
		line-height: 1.2;
	}

	.hm-panorama__map-marker span {
		width: 40px;
		height: 40px;
	}

	.hm-panorama__map-marker b {
		font-size: 11px;
	}

	.hm-panorama__map-legend {
		right: auto;
		bottom: var(--hm-panorama-mobile-bottom);
		left: var(--hm-panorama-gutter);
		width: min(220px, calc(100% - 142px));
		max-height: min(22dvh, 180px);
		padding: 11px 13px;
	}

	.hm-panorama__map-legend > strong {
		margin-bottom: 6px;
		font-size: .65rem;
	}

	.hm-panorama__map-legend ul {
		gap: 5px;
	}

	.hm-panorama__map-legend li {
		grid-template-columns: 14px minmax(0, 1fr);
		gap: 6px;
		font-size: .71rem;
	}

	.hm-panorama__map-legend-swatch {
		width: 13px;
		height: 13px;
	}

	.hm-panorama__align--center .hm-panorama__map-overlay,
	.hm-panorama__align--right .hm-panorama__map-overlay {
		right: var(--hm-panorama-gutter);
		left: var(--hm-panorama-gutter);
		align-items: flex-start;
		text-align: left;
		transform: none;
	}

	/* Gabarits historiques maintenus avec les mêmes repères mobiles. */
	.hm-panorama__scene--split,
	.hm-panorama__scene--quote,
	.hm-panorama__scene--audio {
		min-height: 100%;
	}

	.hm-panorama__content--split,
	.hm-panorama__content--quote,
	.hm-panorama__content--audio,
	.hm-panorama__scene--video {
		padding-top: var(--hm-panorama-mobile-top);
		padding-right: var(--hm-panorama-gutter);
		padding-bottom: var(--hm-panorama-mobile-bottom);
		padding-left: var(--hm-panorama-gutter);
	}

	.hm-panorama__content--split,
	.hm-panorama__content--quote,
	.hm-panorama__content--audio {
		overflow: visible;
	}

	.hm-panorama__video-wrap,
	.hm-panorama__video {
		width: 100%;
		max-height: 42dvh;
	}

	.hm-panorama__audio {
		width: 100%;
		min-height: 44px;
	}

	.hm-panorama__credits {
		max-width: 48ch;
		font-size: 1rem;
		line-height: 1.55;
	}

	.hm-panorama:not(.is-reading-mode) .hm-panorama__content--end .hm-panorama__end-actions {
		padding-bottom: 64px;
	}

	.hm-panorama__end-actions {
		gap: 8px;
		margin-top: 28px;
	}

	.hm-panorama__end-actions button,
	.hm-panorama__end-actions a {
		height: auto;
		min-height: 50px;
		padding-block: 11px;
		line-height: 1.25;
		text-align: center;
	}

	/* Lecture continue : mêmes composants, document vertical sans hauteur forcée. */
	.hm-panorama.is-reading-mode,
	.hm-panorama.is-reading-mode .hm-panorama__viewport {
		height: auto;
		min-height: 100svh;
	}

	.hm-panorama.is-reading-mode .hm-panorama__scene {
		height: auto;
		min-height: 100svh;
		overflow: visible;
	}

	.hm-panorama.is-reading-mode .hm-panorama__content--map {
		height: 100svh;
		min-height: 640px;
	}

	.hm-panorama.is-reading-mode .hm-panorama__cover-content,
	.hm-panorama.is-reading-mode .hm-panorama__content--overlay,
	.hm-panorama.is-reading-mode .hm-panorama__content--text,
	.hm-panorama.is-reading-mode .hm-panorama__content--end,
	.hm-panorama.is-reading-mode .hm-panorama__content--png,
	.hm-panorama.is-reading-mode .hm-panorama__content--png-sequence,
	.hm-panorama.is-reading-mode .hm-panorama__content--gallery {
		min-height: 100svh;
	}
}

@media (max-width: 480px) {
	:root {
		--hm-panorama-gutter: clamp(16px, 5vw, 22px);
	}

	.hm-panorama__counter {
		display: none;
	}

	.hm-panorama__toolbar {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.hm-panorama__brand-word {
		width: 100px;
		height: 27px;
	}

	.hm-panorama__toolbar-button {
		width: 44px;
		min-width: 44px;
		height: 44px;
	}

	.hm-panorama__gallery-item {
		flex-basis: 100%;
	}

	.hm-panorama__map-overlay {
		max-height: min(34dvh, 280px);
		padding: 15px 16px 17px;
	}

	.hm-panorama__map-legend {
		width: min(190px, calc(100% - 128px));
	}

	.hm-panorama__annotation-legend,
	.hm-panorama__align--center .hm-panorama__annotation-legend,
	.hm-panorama__align--right .hm-panorama__annotation-legend {
		width: min(54vw, 220px);
	}

	.hm-panorama__annotation-label {
		max-width: min(48vw, 170px);
	}
}

@media (max-width: 1024px) and (orientation: landscape) and (max-height: 560px) {
	:root {
		--hm-panorama-gutter: clamp(16px, 3vw, 28px);
		--hm-panorama-mobile-top: calc(max(6px, env(safe-area-inset-top)) + 74px);
		--hm-panorama-mobile-bottom: calc(max(8px, env(safe-area-inset-bottom)) + 54px);
	}

	.hm-panorama__toolbar {
		top: max(6px, env(safe-area-inset-top));
		min-height: 50px;
		padding-block: 2px 5px;
	}

	.hm-panorama__brand {
		height: 36px;
	}

	.hm-panorama__brand img {
		flex-basis: 24px;
		width: 24px;
		max-width: 24px;
		height: 24px;
	}

	.hm-panorama__brand-word {
		width: 94px;
		height: 25px;
	}

	.hm-panorama__toolbar-button {
		width: 44px;
		min-width: 44px;
		height: 44px;
	}

	.hm-panorama__navigation {
		bottom: max(8px, env(safe-area-inset-bottom));
	}

	.hm-panorama__navigation button {
		width: 44px;
		height: 44px;
	}

	.hm-panorama__annotation-legend,
	.hm-panorama__align--center .hm-panorama__annotation-legend {
		right: var(--hm-panorama-gutter);
		left: auto;
		width: min(32vw, 250px);
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
	}

	.hm-panorama__align--right .hm-panorama__annotation-legend {
		right: auto;
		left: var(--hm-panorama-gutter);
		width: min(32vw, 250px);
	}

	.hm-panorama__annotation-label {
		max-width: min(34vw, 190px);
		padding: 5px 7px;
		font-size: clamp(.6rem, 1.7vw, .72rem);
	}

	.hm-panorama__cover-content,
	.hm-panorama__content--overlay {
		width: min(68%, 650px);
		padding-right: 4vw;
	}

	.hm-panorama__cover-content h1,
	.hm-panorama__content--overlay h2,
	.hm-panorama__content--text h2,
	.hm-panorama__content--end h2 {
		font-size: clamp(2.2rem, 7vw, 3.8rem);
	}

	.hm-panorama .hm-panorama__title--short {
		font-size: clamp(2.15rem, 6.2vw, 3.55rem);
	}

	.hm-panorama .hm-panorama__title--medium {
		font-size: clamp(1.95rem, 5.5vw, 3.15rem);
	}

	.hm-panorama .hm-panorama__title--long {
		font-size: clamp(1.7rem, 4.8vw, 2.75rem);
	}

	.hm-panorama .hm-panorama__title--xlong {
		font-size: clamp(1.5rem, 4.1vw, 2.3rem);
	}

	.hm-panorama .hm-panorama__title-text-size--small.hm-panorama__title-text-size--small {
		font-size: clamp(1.7rem, 4.8vw, 2.75rem);
	}

	.hm-panorama .hm-panorama__title-text-size--medium.hm-panorama__title-text-size--medium {
		font-size: clamp(1.95rem, 5.5vw, 3.15rem);
	}

	.hm-panorama .hm-panorama__title-text-size--large.hm-panorama__title-text-size--large {
		font-size: clamp(2.15rem, 6.2vw, 3.55rem);
	}

	.hm-panorama .hm-panorama__title-text-size--xlarge.hm-panorama__title-text-size--xlarge {
		font-size: clamp(2.35rem, 7vw, 3.8rem);
	}

	.hm-panorama__intro,
	.hm-panorama__body {
		font-size: .88rem;
		line-height: 1.36;
	}

	.hm-panorama__meta {
		margin-top: 8px;
	}

	.hm-panorama__start {
		min-height: 44px;
		margin-top: 9px;
	}

	.hm-panorama__content--end {
		justify-content: flex-start;
	}

	.hm-panorama__end-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(100%, 620px);
		margin-top: 16px;
	}

	.hm-panorama__end-actions button,
	.hm-panorama__end-actions a {
		width: 100%;
		min-height: 44px;
		padding: 9px 12px;
	}

	.hm-panorama__scene--image,
	.hm-panorama__scene--image-horizontal,
	.hm-panorama__scene--image-vertical,
	.hm-panorama__layout--image-right.hm-panorama__scene--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr);
		gap: clamp(18px, 4vw, 42px);
	}

	.hm-panorama__layout--image-right.hm-panorama__scene--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical {
		grid-template-columns: minmax(220px, .9fr) minmax(0, 1.1fr);
	}

	.hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__media--single-photo {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
	}

	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__media--single-photo,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__media--single-photo {
		grid-column: 2;
	}

	.hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__content--image {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
	}

	.hm-panorama__layout--image-right.hm-panorama__scene--image .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-horizontal .hm-panorama__content--image,
	.hm-panorama__layout--image-right.hm-panorama__scene--image-vertical .hm-panorama__content--image {
		grid-column: 1;
	}

	.hm-panorama__content--image h2,
	.hm-panorama__content--png h2,
	.hm-panorama__sequence-heading h2,
	.hm-panorama__gallery-heading h2 {
		font-size: clamp(1.8rem, 5.2vw, 3rem);
	}

	.hm-panorama__content--png {
		display: grid;
		grid-template-columns: minmax(230px, .85fr) minmax(0, 1.15fr);
		grid-template-rows: auto auto 1fr;
		column-gap: 32px;
		align-content: center;
	}

	.hm-panorama__content--png > .hm-panorama__eyebrow,
	.hm-panorama__content--png > .hm-panorama__scene-title-image,
	.hm-panorama__content--png > h2,
	.hm-panorama__content--png > .hm-panorama__body {
		grid-column: 1;
	}

	.hm-panorama__content--png > .hm-panorama__media--png {
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: center;
		margin: 0;
	}

	.hm-panorama__png-image {
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
	}

	.hm-panorama__content--png-sequence {
		display: grid;
		grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr);
		padding-right: var(--hm-panorama-gutter);
		padding-left: var(--hm-panorama-gutter);
	}

	.hm-panorama__sequence-heading {
		align-self: center;
		padding: 0 24px 0 0;
	}

	.hm-panorama__png-sequence {
		min-height: 0;
	}

	.hm-panorama__png-sequence-stage {
		inset: 0 0 40px;
	}

	.hm-panorama__content--gallery {
		display: grid;
		grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
		grid-template-rows: 1fr;
		gap: 24px;
		padding-right: var(--hm-panorama-gutter);
		padding-left: var(--hm-panorama-gutter);
	}

	.hm-panorama__gallery-heading {
		align-self: center;
		width: auto;
		margin: 0;
	}

	.hm-panorama__gallery {
		height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
		max-height: calc(100dvh - var(--hm-panorama-mobile-top) - var(--hm-panorama-mobile-bottom));
		min-height: 0;
	}

	.hm-panorama__gallery-controls,
	.hm-panorama__gallery-track {
		width: 100%;
		padding-inline: 0;
	}

	.hm-panorama__gallery-item {
		flex-basis: 100%;
		min-height: 0;
		max-height: none;
	}

	.hm-panorama__map-overlay {
		top: var(--hm-panorama-mobile-top);
		right: auto;
		bottom: var(--hm-panorama-mobile-bottom);
		left: var(--hm-panorama-gutter);
		width: min(38vw, 360px);
		max-height: none;
	}

	.hm-panorama .hm-panorama__map-overlay h2,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--short,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--medium,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--long,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title--xlong,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--small,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--medium,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--large,
	.hm-panorama .hm-panorama__map-overlay .hm-panorama__title-text-size--xlarge {
		font-size: clamp(1.5rem, 3.6vw, 2.1rem);
	}

	.hm-panorama__map-legend {
		right: calc(var(--hm-panorama-gutter) + 52px);
		bottom: var(--hm-panorama-mobile-bottom);
		left: auto;
		max-height: min(30dvh, 160px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hm-panorama__image-effect-canvas {
		display: none !important;
	}
	.hm-panorama__scene[data-panorama-image-effect] .hm-panorama__background-image {
		animation: none !important;
		filter: none !important;
		clip-path: none !important;
	}
	.hm-panorama-html,
	.hm-panorama__viewport {
		scroll-behavior: auto;
	}

	.hm-panorama *,
	.hm-panorama *::before,
	.hm-panorama *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	.hm-panorama__background-video {
		display: none !important;
	}

	.hm-panorama__png-sequence-layer {
		opacity: 1 !important;
		animation: none !important;
		transform: none !important;
	}

	.hm-panorama__png-sequence--frame .hm-panorama__png-sequence-layer:not(:first-child) {
		display: none;
	}
}

@media print {
	.hm-panorama__image-effect-canvas {
		display: none !important;
	}
	.hm-panorama__scene[data-panorama-image-effect] .hm-panorama__background-image {
		animation: none !important;
		filter: none !important;
		clip-path: none !important;
		opacity: 1 !important;
	}
	@page {
		size: auto;
		margin: 16mm 14mm 18mm;
	}

	:root {
		--hm-panorama-gutter: 0;
	}

	.hm-panorama-html,
	body.hm-panorama-document,
	body.hm-panorama-reading {
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		overflow: visible !important;
		color: #000 !important;
		background: #fff !important;
		font-family: var(--hm-panorama-font-regular);
	}

	.hm-panorama {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		isolation: auto !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		background: #fff !important;
	}

	.hm-panorama__toolbar,
	.hm-panorama__navigation,
	.hm-panorama__start,
	.hm-panorama__end-actions,
	.hm-panorama__skip {
		display: none !important;
	}

	.hm-panorama__viewport,
	.hm-panorama.is-reading-mode .hm-panorama__viewport {
		display: block !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
	}

	.hm-panorama__scene,
	.hm-panorama.is-reading-mode .hm-panorama__scene {
		display: block !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 0 12mm !important;
		overflow: visible !important;
		color: #000 !important;
		background: #fff !important;
		break-before: page;
		break-after: page;
		page-break-before: always;
		page-break-after: always;
	}

	.hm-panorama__scene:first-child {
		break-before: auto;
		page-break-before: auto;
	}

	.hm-panorama__scene:last-child {
		break-after: auto;
		page-break-after: auto;
	}

	.hm-panorama__cover-media,
	.hm-panorama__media--full,
	.hm-panorama__scene-backdrop,
	.hm-panorama__media--split,
	.hm-panorama__media--square,
	.hm-panorama__media--landscape,
	.hm-panorama__media--portrait-single,
	.hm-panorama__media--portrait,
	.hm-panorama__media--audio,
	.hm-panorama__gallery-item,
	.hm-panorama__png-sequence {
		position: relative !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 0 8mm !important;
		aspect-ratio: auto !important;
		flex: none !important;
		align-self: auto !important;
	}

	.hm-panorama__cover-image,
	.hm-panorama__image,
	.hm-panorama__background-image,
	.hm-panorama__title-image,
	.hm-panorama__scene-title-image,
	.hm-panorama__png-image,
	.hm-panorama__png-sequence-image,
	.hm-panorama__gallery-image {
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
		max-height: 165mm !important;
		object-fit: contain !important;
		animation: none !important;
		transform: none !important;
	}

	.hm-panorama__content--png-sequence,
	.hm-panorama__sequence-heading,
	.hm-panorama__png-sequence-stage,
	.hm-panorama__png-sequence-layer {
		position: relative !important;
		inset: auto !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		opacity: 1 !important;
		animation: none !important;
		transform: none !important;
	}

	.hm-panorama__png-sequence-stage {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5mm;
	}

	.hm-panorama__png-sequence--frame .hm-panorama__png-sequence-layer:not(:first-child) {
		display: block !important;
	}

	.hm-panorama__png-sequence .hm-panorama__caption {
		position: relative !important;
		inset: auto !important;
		max-width: none !important;
		margin-top: 4mm !important;
	}

	.hm-panorama__title-image {
		width: auto !important;
		max-width: 150mm !important;
		max-height: 48mm !important;
		margin: 0 0 5mm !important;
		object-position: left center !important;
	}

	.hm-panorama__scene-title-image {
		width: auto !important;
		max-width: 150mm !important;
		max-height: 48mm !important;
		margin: 0 0 5mm !important;
		object-position: left center !important;
	}

	.hm-panorama__title-image--small,
	.hm-panorama__scene-title-image--small {
		max-width: 85mm !important;
		max-height: 32mm !important;
	}

	.hm-panorama__title-image--medium,
	.hm-panorama__scene-title-image--medium {
		max-width: 115mm !important;
		max-height: 40mm !important;
	}

	.hm-panorama__title-image--xlarge,
	.hm-panorama__scene-title-image--xlarge {
		max-width: 180mm !important;
		max-height: 55mm !important;
	}

	.hm-panorama__cover-shade,
	.hm-panorama__photo-shade,
	.hm-panorama__backdrop-shade,
	.hm-panorama__background-video {
		display: none !important;
	}

	.hm-panorama__background-annotations {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		transform: none !important;
	}

	.hm-panorama__annotation-marker {
		width: 8mm !important;
		color: #fff !important;
		box-shadow: none !important;
		font-size: 7pt !important;
	}

	.hm-panorama__annotation-label {
		max-width: 55mm !important;
		padding: 2mm 2.5mm !important;
		color: #000 !important;
		background: #fff !important;
		border: 1px solid #000 !important;
		border-left: 2mm solid var(--hm-annotation-color) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		font-size: 7pt !important;
	}

	.hm-panorama__annotation-label.is-left {
		border-right: 2mm solid var(--hm-annotation-color) !important;
		border-left: 1px solid #000 !important;
	}

	.hm-panorama__annotation-line {
		stroke-width: 2 !important;
	}

	.hm-panorama__annotation-legend,
	.hm-panorama__align--right .hm-panorama__annotation-legend {
		position: static !important;
		display: block !important;
		width: auto !important;
		margin: 0 0 7mm !important;
		padding: 4mm !important;
		transform: none !important;
		color: #000 !important;
		background: #f3f3f3 !important;
		border: 1px solid #bbb !important;
		box-shadow: none !important;
	}

	.hm-panorama__annotation-legend > strong {
		color: #000 !important;
		font-size: 8pt !important;
	}

	.hm-panorama__annotation-legend ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2mm 6mm;
	}

	.hm-panorama__annotation-legend li {
		color: #000 !important;
		font-size: 8pt !important;
	}

	.hm-panorama__gallery-track {
		display: block !important;
		padding: 0 !important;
		overflow: visible !important;
		direction: ltr !important;
		transform: none !important;
	}

	.hm-panorama__gallery-item {
		transform: none !important;
	}

	.hm-panorama__gallery-track::after {
		display: none !important;
	}

	.hm-panorama__gallery-controls {
		display: none !important;
	}

	.hm-panorama__cover-content,
	.hm-panorama__content,
	.hm-panorama.is-reading-mode .hm-panorama__content {
		position: static !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		color: #000 !important;
		background: #fff !important;
	}

	.hm-panorama__gallery {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
	}

	.hm-panorama__gallery-heading,
	.hm-panorama__gallery-controls {
		width: auto !important;
	}

	.hm-panorama__gallery-heading {
		max-height: none !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	.hm-panorama__cover-content h1,
	.hm-panorama__content h2,
	.hm-panorama__content--quote blockquote .hm-panorama__body {
		max-width: none !important;
		color: #000 !important;
		font-family: var(--hm-panorama-font-bold);
		font-size: 28pt !important;
		line-height: 1.05 !important;
	}

	.hm-panorama__cover-content h1.screen-reader-text,
	.hm-panorama__content h2.screen-reader-text {
		position: static !important;
		display: block !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 5mm !important;
		padding: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		white-space: normal !important;
		border: 0 !important;
	}

	.hm-panorama .hm-panorama__title--short {
		font-size: 28pt !important;
	}

	.hm-panorama .hm-panorama__title--medium {
		font-size: 25pt !important;
	}

	.hm-panorama .hm-panorama__title--long {
		font-size: 22pt !important;
	}

	.hm-panorama .hm-panorama__title--xlong {
		font-size: 18pt !important;
	}

	.hm-panorama .hm-panorama__title-text-size--small.hm-panorama__title-text-size--small {
		font-size: 22pt !important;
	}

	.hm-panorama .hm-panorama__title-text-size--medium.hm-panorama__title-text-size--medium {
		font-size: 25pt !important;
	}

	.hm-panorama .hm-panorama__title-text-size--large.hm-panorama__title-text-size--large {
		font-size: 28pt !important;
	}

	.hm-panorama .hm-panorama__title-text-size--xlarge.hm-panorama__title-text-size--xlarge {
		font-size: 32pt !important;
	}

	.hm-panorama__eyebrow {
		margin: 0 0 4mm !important;
		color: #000 !important;
		font-size: 8pt !important;
	}

	.hm-panorama__eyebrow--medium {
		font-size: 7.5pt !important;
	}

	.hm-panorama__eyebrow--long {
		font-size: 7pt !important;
		letter-spacing: .04em !important;
	}

	.hm-panorama__intro,
	.hm-panorama__body,
	.hm-panorama__content--split .hm-panorama__body,
	.hm-panorama__content--media-heading .hm-panorama__body {
		max-width: 150mm !important;
		margin: 6mm 0 0 !important;
		color: #000 !important;
		font-size: 11pt !important;
		line-height: 1.45 !important;
	}

	.hm-panorama__meta {
		margin: 5mm 0 0 !important;
		color: #333 !important;
		font-size: 8pt !important;
	}

	.hm-panorama__caption,
	.hm-panorama__cover-caption,
	.hm-panorama__video-wrap .hm-panorama__caption {
		position: static !important;
		display: block !important;
		max-width: none !important;
		margin: 2mm 0 0 !important;
		padding: 0 !important;
		color: #333 !important;
		background: transparent !important;
		font-size: 8pt !important;
		text-align: left !important;
	}

	.hm-panorama__caption-credit {
		display: inline !important;
		margin-left: 2mm !important;
		color: #555 !important;
	}

	.hm-panorama__content--quote blockquote::before {
		margin: 6mm 0 0 !important;
		color: #000 !important;
		font-size: 32pt !important;
	}

	.hm-panorama__body blockquote {
		margin: 5mm 0 !important;
		padding: 1mm 0 1mm 5mm !important;
		border-left: 1pt solid #333 !important;
		color: #000 !important;
		font-size: 12pt !important;
		break-inside: avoid;
	}

	.hm-panorama__body blockquote::before {
		color: #000 !important;
		font-size: 24pt !important;
	}

	.hm-panorama__content--quote blockquote footer {
		color: #333 !important;
	}

	.hm-panorama__scene--video {
		display: block !important;
	}

	.hm-panorama__video-wrap {
		margin: 8mm 0 0 !important;
	}

	.hm-panorama__video {
		width: 100% !important;
		max-height: 150mm !important;
		box-shadow: none !important;
	}

	.hm-panorama__audio {
		display: none !important;
	}

	.hm-panorama__content--map,
	.hm-panorama.is-reading-mode .hm-panorama__content--map {
		display: flex !important;
		flex-direction: column !important;
	}

	.hm-panorama__map-overlay {
		position: static !important;
		order: 1;
		display: block !important;
		width: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		color: #000 !important;
		background: #fff !important;
		border: 0 !important;
		box-shadow: none !important;
		text-align: left !important;
		transform: none !important;
		backdrop-filter: none !important;
	}

	.hm-panorama__map-overlay h2,
	.hm-panorama__map-overlay .hm-panorama__body {
		color: #000 !important;
	}

	.hm-panorama__map-location {
		margin: 3mm 0 5mm !important;
		color: #333 !important;
		font-size: 9pt !important;
	}

	.hm-panorama__map-route-meta {
		display: inline-block !important;
		margin: 0 0 5mm !important;
		padding: 1.5mm 2mm !important;
		color: #000 !important;
		background: #eee !important;
		border: .25mm solid #777 !important;
		font-size: 8pt !important;
	}

	.hm-panorama__map-shell {
		position: static !important;
		order: 2;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 7mm 0 6mm !important;
		padding: 4mm !important;
		overflow: visible !important;
		background: #f1f0ef !important;
		border: .25mm solid #777 !important;
		box-shadow: none !important;
		break-inside: avoid;
	}

	.hm-panorama__map-legend {
		position: static !important;
		order: 3;
		display: block !important;
		width: auto !important;
		max-height: none !important;
		margin: 0 0 6mm !important;
		padding: 4mm !important;
		overflow: visible !important;
		color: #000 !important;
		background: #fff !important;
		border: .25mm solid #777 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.hm-panorama__map-legend > strong {
		margin-bottom: 2mm !important;
		font-size: 9pt !important;
	}

	.hm-panorama__map-legend ul {
		gap: 1.5mm !important;
	}

	.hm-panorama__map-legend li {
		grid-template-columns: 4mm minmax(0, 1fr) !important;
		gap: 2mm !important;
		font-size: 8.5pt !important;
	}

	.hm-panorama__map-legend-swatch {
		width: 4mm !important;
		height: 4mm !important;
		border-width: .35mm !important;
	}

	.hm-panorama__map-canvas {
		display: none !important;
	}

	.hm-panorama__map-shell .hm-panorama__map-fallback,
	.hm-panorama__map-shell.is-ready .hm-panorama__map-fallback {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #000 !important;
		background: transparent !important;
		border: 0 !important;
		font-family: var(--hm-panorama-font-bold) !important;
		font-size: 8pt !important;
	}

	.hm-panorama__map-print-attribution {
		position: static !important;
		display: block !important;
		width: auto !important;
		height: auto !important;
		margin: 2mm 0 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		color: #000 !important;
		background: transparent !important;
		font-size: 7pt !important;
		white-space: normal !important;
	}

	.hm-panorama__map-point-list {
		position: static !important;
		order: 4;
		width: auto !important;
		height: auto !important;
		margin: 5mm 0 0 7mm !important;
		padding: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		color: #000 !important;
		font-size: 9.5pt !important;
		line-height: 1.35 !important;
		white-space: normal !important;
	}

	.hm-panorama__map-point-list li {
		margin-bottom: 3mm;
		break-inside: avoid;
	}

	.hm-panorama__map-point-list li::marker {
		color: var(--hm-panorama-pin-color, #000);
		font-family: var(--hm-panorama-font-bold);
	}

	.hm-panorama__map-point-list p {
		margin: 1mm 0 0 !important;
	}

	a[href]::after {
		content: " (" attr(href) ")";
		font-size: 8pt;
		font-weight: 400;
		overflow-wrap: anywhere;
	}
}
