/**
 * Hors Lieu — design system
 */

:root {
	--hl-prussian: #073554;
	--hl-cyanotype: #315f7c;
	--hl-cyan-light: #8fa9b8;
	--hl-ecru: #F4F1E9;
	--hl-sand: #e7e1d5;
	--hl-ink: #17252d;
	--hl-muted: #6F6F6A;
	--hl-textile: #faf9f5;
	--hl-white: #ffffff;
	--font-sans: "Founders Grotesk", system-ui, sans-serif;
	--font-display: "Founders Grotesk", system-ui, sans-serif;
	--font-script: "Caveat", cursive;
	--header-h: 5.25rem;
	--wrap: 1180px;
	--hl-container: 1240px;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pad: clamp(1.25rem, 4vw, 3.5rem);
	--hl-edge-x: var(--pad);
	--hl-edge-y: 2.4rem;
}

html {
	scroll-behavior: auto;
	background: var(--hl-ecru);
	scrollbar-gutter: stable;
	overflow-y: scroll;
}

html.lenis,
html.lenis body {
	height: auto;
}

body,
button,
input,
select,
optgroup,
textarea {
	color: var(--hl-ink);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.4;
	background: var(--hl-ecru);
	text-rendering: geometricPrecision;
}

body {
	margin: 0;
	background: var(--hl-ecru);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site {
	overflow-x: clip;
}

html.is-changing body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	height: 100vh;
	overflow: hidden;
}

html.is-changing body > .transition-scale {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: 100vh;
	overflow: hidden;
	transform-origin: 50% 50%;
	will-change: transform;
}

.transition-scale {
	background: var(--hl-ecru);
}

.transition-scale.is-next-container {
	z-index: 1;
	transform: translate3d(0, 108%, 0) scale(0.6);
	transition: none;
	animation: none;
}

.transition-scale.is-previous-container {
	z-index: 2;
	pointer-events: none;
}

html.is-rendering .transition-scale.is-previous-container {
	animation: hl-page-leave 1.2s linear both;
}

html.is-rendering .transition-scale:not(.is-previous-container) {
	z-index: 1;
	animation: hl-page-enter 1.2s linear both;
}

@keyframes hl-page-leave {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
		animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	}

	28% {
		transform: translate3d(0, 0, 0) scale(0.6);
		animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	72% {
		transform: translate3d(0, -108%, 0) scale(0.6);
		animation-timing-function: linear;
	}

	100% {
		transform: translate3d(0, -108%, 0) scale(0.6);
	}
}

@keyframes hl-page-enter {
	0% {
		transform: translate3d(0, 108%, 0) scale(0.6);
		animation-timing-function: linear;
	}

	28% {
		transform: translate3d(0, 108%, 0) scale(0.6);
		animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	72% {
		transform: translate3d(0, 0, 0) scale(0.6);
		animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	}

	100% {
		transform: translate3d(0, 0, 0) scale(1);
	}
}

html.is-changing.lenis-stopped,
html.is-changing.lenis-stopped body {
	overflow: hidden;
}

html.is-swup .hl-hero__slides {
	animation: none;
	transform: none;
}

html.is-swup .hl-hero__veil,
html.is-swup .hl-hero__content,
html.is-swup .hl-hero__coords,
html.is-swup .hl-hero__meta,
html.is-swup .has-transparent-header .site-header {
	animation: none;
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	html.is-changing .transition-scale:not(.is-previous-container),
	html.is-rendering .transition-scale:not(.is-previous-container),
	html.is-rendering .transition-scale.is-previous-container,
	.transition-scale.is-previous-container,
	.transition-scale.is-next-container {
		transition: none;
		animation: none;
		transform: none;
		opacity: 1;
	}
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a,
a:visited,
a:hover,
a:focus,
a:active {
	color: inherit;
	text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: none;
	margin: 0;
	font-family: var(--font-display);
	font-weight: 300;
}

p {
	margin: 0 0 1em;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button,
input,
select,
textarea {
	font-family: inherit;
}

.hl-wrap {
	width: min(100% - (var(--pad) * 2), var(--wrap));
	margin-inline: auto;
}

.hl-kicker {
	margin: 0 0 0.75rem;
	font-size: 0.8rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-display {
	display: flex;
	flex-direction: column;
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 5vw, 4.15rem);
	font-weight: 300;
	line-height: 0.92;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-display span {
	display: block;
}

.hl-display--light {
	color: var(--hl-textile);
}

.hl-lead {
	max-width: 38rem;
	margin: 1.25rem 0 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--hl-ink);
}

.hl-script {
	font-family: var(--font-script);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 500;
	line-height: 1.2;
	color: var(--hl-prussian);
}

.hl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.85rem 1.6rem;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: background 0.35s var(--ease), color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.hl-btn--ghost,
.hl-btn--ghost:visited {
	color: var(--hl-textile);
	border-color: rgba(250, 249, 245, 0.7);
	background: transparent;
}

.hl-btn--ghost:hover,
.hl-btn--ghost:focus {
	background: var(--hl-textile);
	color: var(--hl-prussian);
}

.hl-btn--solid,
.hl-btn--solid:visited,
.button,
button.button,
a.button,
a.button:visited,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	color: var(--hl-textile);
	background: var(--hl-prussian);
	border: 1px solid var(--hl-prussian);
	border-radius: 2px;
}

.hl-btn--solid:hover,
.button:hover,
button.button:hover,
a.button:hover,
input[type="submit"]:hover {
	background: var(--hl-cyanotype);
	border-color: var(--hl-ink);
	color: var(--hl-textile);
}

.hl-text-link,
.hl-text-link:visited {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hl-prussian);
	border-bottom: 1px solid transparent;
}

.hl-text-link:hover {
	border-bottom-color: var(--hl-prussian);
	color: var(--hl-prussian);
}

/* Header
--------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	height: var(--header-h);
	background: var(--hl-ecru);
	color: var(--hl-prussian);
	overflow: visible;
	transition: background 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.site-header a,
.site-header a:visited,
.site-header a:hover,
.site-header a:focus,
.site-header a:active,
.site-header .menu-toggle {
	color: var(--hl-prussian);
}

.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

.has-transparent-header .site-header {
	position: fixed;
	left: 0;
	right: 0;
	background: transparent;
	overflow: visible;
}

.has-transparent-header .site-header::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: calc(var(--header-h) + 7rem);
	pointer-events: none;
	z-index: 0;
	background: linear-gradient(
		180deg,
		rgba(250, 249, 245, 0.72) 0%,
		rgba(250, 249, 245, 0.32) 48%,
		rgba(250, 249, 245, 0) 100%
	);
	opacity: 1;
	transition: opacity 0.4s var(--ease);
}

.has-transparent-header .site-header.is-scrolled,
.has-transparent-header .site-header.is-open {
	background: var(--hl-ecru);
	box-shadow: 0 1px 0 rgba(23, 35, 42, 0.06);
}

.has-transparent-header .site-header.is-scrolled::before,
.has-transparent-header .site-header.is-open::before {
	opacity: 0;
}

html:not(.is-swup) .has-transparent-header .site-header {
	opacity: 0;
	animation: hl-hero-reveal 0.7s var(--ease) 1.48s forwards;
}

.hl-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	position: relative;
	z-index: 1;
	height: var(--header-h);
	width: 100%;
	padding-inline: var(--pad);
	gap: 1rem;
}

.hl-header__brand {
	display: flex;
	align-items: center;
	justify-self: start;
	min-width: 0;
	line-height: 0;
}

.hl-logo {
	display: flex;
	align-items: center;
	line-height: 0;
}

.hl-logo img {
	display: block;
	height: 18px;
	width: auto;
	max-width: min(42vw, 190px);
}

.hl-header__aside {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 1.15rem;
}

.hl-account-link,
.hl-cart-link {
	position: relative;
	display: inline-flex;
	gap: 0.3rem;
	padding-bottom: 0.18rem;
	font-size: .85rem;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.main-navigation {
	justify-self: center;
	width: auto;
	position: static;
}

.main-navigation ul {
	display: none;
	margin: 0;
	list-style: none;
}

.main-navigation ul ul {
	display: none;
}

.main-navigation a {
	position: relative;
	display: block;
	padding: 0.35rem 0.85rem;
	font-size: .85rem;
	letter-spacing: 0.22em;
	font-weight: 400;
	text-transform: uppercase;
}

.menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.menu-toggle__lines,
.menu-toggle__lines::before,
.menu-toggle__lines::after {
	display: block;
	width: 1.15rem;
	height: 1px;
	background: currentColor;
	position: relative;
	transition: transform 0.3s var(--ease);
}

.menu-toggle__lines::before,
.menu-toggle__lines::after {
	content: "";
	position: absolute;
	left: 0;
}

.menu-toggle__lines::before {
	top: -6px;
}

.menu-toggle__lines::after {
	top: 6px;
}

.main-navigation.toggled .menu-toggle__lines {
	background: transparent;
}

.main-navigation.toggled .menu-toggle__lines::before {
	top: 0;
	transform: rotate(45deg);
}

.main-navigation.toggled .menu-toggle__lines::after {
	top: 0;
	transform: rotate(-45deg);
}

.hl-nav__mobile-meta,
.hl-nav__mobile-foot {
	display: none;
}

@media screen and (max-width: 899px) {
	:root {
		--header-h: 4.25rem;
	}

	.hl-header {
		grid-template-columns: 1fr auto;
		gap: 0.75rem;
	}

	.hl-header__brand {
		order: 1;
	}

	.hl-header__aside {
		display: none;
	}

	.main-navigation {
		order: 3;
		justify-self: end;
	}

	.menu-toggle {
		display: inline-flex !important;
	}

	.main-navigation ul {
		display: none;
	}

	.site-header.is-open,
	.site-header:has(.main-navigation.toggled) {
		position: fixed !important;
		inset: 0;
		height: 100vh;
		height: 100dvh;
		background: var(--hl-ecru);
		overflow: hidden;
		z-index: 80;
	}

	.admin-bar .site-header.is-open,
	.admin-bar .site-header:has(.main-navigation.toggled) {
		top: 32px;
		height: calc(100vh - 32px);
		height: calc(100dvh - 32px);
	}

	.site-header.is-open .hl-header,
	.site-header:has(.main-navigation.toggled) .hl-header {
		grid-template-columns: 1fr auto;
		height: 100%;
		align-items: start;
	}

	.site-header.is-open .hl-header__brand,
	.site-header.is-open .hl-logo,
	.site-header:has(.main-navigation.toggled) .hl-header__brand,
	.site-header:has(.main-navigation.toggled) .hl-logo {
		height: var(--header-h);
		align-items: center;
	}

	.site-header.is-open .menu-toggle,
	.site-header:has(.main-navigation.toggled) .menu-toggle {
		height: var(--header-h);
	}

	.main-navigation.toggled ul,
	.main-navigation.toggled .nav-menu {
		display: flex !important;
		flex-direction: column;
		position: absolute;
		left: 0;
		right: 0;
		top: var(--header-h);
		bottom: 0;
		width: auto;
		height: auto;
		padding: 1.75rem var(--pad) 2.5rem;
		background: var(--hl-ecru);
		color: var(--hl-ink);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		gap: 0.15rem;
	}

	.main-navigation.toggled > ul > li:not(.hl-nav__mobile-meta):not(.hl-nav__mobile-foot) > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.85rem 0;
		font-family: var(--font-display);
		font-size: 1.55rem;
		font-weight: 300;
		letter-spacing: 0.08em;
		line-height: 1.1;
		text-transform: uppercase;
		color: var(--hl-prussian);
	}

	.main-navigation.toggled > ul > li:not(.hl-nav__mobile-meta):not(.hl-nav__mobile-foot) > a::after {
		content: "→";
		flex: 0 0 auto;
		font-size: 1.05rem;
		letter-spacing: 0;
		line-height: 1;
		color: var(--hl-ink);
	}

	.main-navigation.toggled .hl-nav__mobile-meta {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.9rem;
		margin-top: 1.15rem;
		padding-top: 1.45rem;
		border-top: 1px solid rgba(7, 53, 84, 0.12);
	}

	.main-navigation.toggled .hl-nav__mobile-meta a {
		padding: 0;
		font-size: 1.05rem;
		font-weight: 400;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--hl-prussian);
	}

	.main-navigation.toggled .hl-nav__mobile-foot {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 1.15rem;
		margin-top: auto;
		padding-top: 1.6rem;
		padding-bottom: 0.35rem;
	}

	.main-navigation.toggled .hl-nav__mail {
		padding: 0;
		font-size: 0.82rem;
		font-weight: 400;
		letter-spacing: 0.1em;
		text-transform: none;
		color: var(--hl-muted);
	}

	.main-navigation.toggled .hl-nav__mail:hover,
	.main-navigation.toggled .hl-nav__mail:focus {
		color: var(--hl-ink);
	}

	.hl-nav__social {
		display: flex;
		align-items: center;
		gap: 0.85rem;
	}

	.hl-nav__social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.65rem;
		height: 2.65rem;
		padding: 0;
		letter-spacing: 0;
		text-transform: none;
		color: var(--hl-ink);
		border: 1px solid rgba(52, 52, 52, 0.16);
		border-radius: 50%;
		transition: color 0.25s var(--ease), border-color 0.25s var(--ease), background 0.25s var(--ease);
	}

	.hl-nav__social-link svg {
		display: block;
		width: 1.05rem;
		height: 1.05rem;
	}

	a.hl-nav__social-link:hover,
	a.hl-nav__social-link:focus {
		color: var(--hl-ink);
		border-color: var(--hl-ink);
		background: rgba(52, 52, 52, 0.04);
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header.is-open,
	.admin-bar .site-header:has(.main-navigation.toggled) {
		top: 46px;
		height: calc(100vh - 46px);
		height: calc(100dvh - 46px);
	}
}

html.is-nav-open,
html.is-nav-open body {
	overflow: hidden;
}

@media screen and (min-width: 900px) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 0.25rem;
	}

	.main-navigation > ul > li > a::after,
	.hl-account-link::after,
	.hl-cart-link::after {
		content: "";
		position: absolute;
		left: 0.85rem;
		right: calc(0.85rem + 0.32em);
		bottom: 0.22rem;
		height: 1px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.45s var(--ease);
		pointer-events: none;
	}

	.hl-account-link::after,
	.hl-cart-link::after {
		left: 0;
		right: 0.32em;
		bottom: 0;
	}

	.main-navigation > ul > li > a:hover::after,
	.main-navigation > ul > li > a:focus-visible::after,
	.main-navigation .current-menu-item > a::after,
	.main-navigation .current_page_item > a::after,
	.hl-account-link:hover::after,
	.hl-account-link:focus-visible::after,
	.hl-cart-link:hover::after,
	.hl-cart-link:focus-visible::after,
	.woocommerce-account .hl-account-link::after,
	.woocommerce-cart .hl-cart-link::after,
	.woocommerce-checkout .hl-cart-link::after {
		transform: scaleX(1);
	}
}

/* Hero
--------------------------------------------- */
.hl-hero {
	position: relative;
	min-height: 100svh;
	height: 100svh;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: var(--hl-prussian);
	background: var(--hl-ecru);
}

.hl-hero__slides,
.hl-hero__slide,
.hl-hero__veil {
	position: absolute;
	inset: 0;
	margin: 0;
}

.hl-hero__slides {
	transform: scale(0.6);
	transform-origin: center center;
	animation: hl-hero-expand 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
	will-change: transform;
}

.hl-hero__slide {
	opacity: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	transition: opacity 1.1s var(--ease);
}

.hl-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.hl-hero__slide img {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 118%;
	object-fit: cover;
	object-position: center 72%;
	will-change: transform;
}



.hl-hero__veil {
	background: linear-gradient(90deg, rgba(250, 249, 245, 0.58) 0%, rgba(250, 249, 245, 0.22) 38%, transparent 70%);
	pointer-events: none;
	opacity: 0;
	animation: hl-hero-reveal 0.65s var(--ease) 1.44s forwards;
}

.hl-hero__content {
	position: relative;
	z-index: 2;
	padding: calc(var(--header-h) * 0.35) var(--pad) 0;
	max-width: min(92vw, 58rem);
	transform: translateY(-17vh);
	opacity: 0;
	animation: hl-hero-reveal 0.7s var(--ease) 1.48s forwards;
}

.hl-hero__title {
	display: flex;
	flex-direction: column;
	margin: 0 0 1.15rem;
	font-family: var(--font-display);
	font-size: clamp(3rem, 6.4vw, 6.1rem);
	font-weight: 300;
	line-height: 0.92;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-hero__title > span:first-child {
	font-size: clamp(2.4rem, 3.9vw, 4.4rem);
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 0.6;
}

.hl-hero__title > span + span {
	font-size: clamp(2.4rem, 3.9vw, 4.4rem);
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 1.05;
}

.hl-hero__title em,
.hl-hero__title i {
	font-style: italic;
	font-weight: inherit;
}

.hl-hero__title strong,
.hl-hero__title b {
	font-weight: 500;
}

.hl-hero__title small {
	font-size: 0.58em;
	font-weight: 300;
	letter-spacing: 0.055em;
}

.hl-hero__title a {
	color: inherit;
}

.hl-hero__cta {
	display: inline-flex;
	align-items: baseline;
	gap: 1.15rem;
	margin: 0;
	font-weight: 400;
	color: var(--hl-prussian);
}

.hl-hero__cta:visited,
.hl-hero__cta:hover,
.hl-hero__cta:focus {
	color: var(--hl-prussian);
}

.hl-hero__cta-label {
	padding-bottom: 0.22rem;
	border-bottom: 1px solid var(--hl-prussian);
	font-size: 0.9rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.hl-hero__cta-arrow {
	font-size: 0.95rem;
	letter-spacing: 0;
	line-height: 1;
	transform: translateY(0.05em);
}

.hl-hero__coords {
	position: absolute;
	left: var(--hl-edge-x);
	bottom: var(--hl-edge-y);
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.12rem;
	margin: 0;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.35;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	color: var(--hl-prussian);
	opacity: 0;
	animation: hl-hero-reveal 0.65s var(--ease) 1.56s forwards;
}

.hl-hero__lat,
.hl-hero__lng {
	transition: opacity 0.2s var(--ease);
}

.hl-hero__coords.is-changing .hl-hero__lat,
.hl-hero__coords.is-changing .hl-hero__lng {
	opacity: 0;
}

.hl-hero__meta {
	position: absolute;
	left: auto;
	right: var(--hl-edge-x);
	bottom: var(--hl-edge-y);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.42rem;
	color: var(--hl-prussian);
	font-weight: 500;
	text-align: right;
	opacity: 0;
	animation: hl-hero-reveal 0.65s var(--ease) 1.56s forwards;
	pointer-events: none;
}

.hl-hero__index {
	position: static;
	left: auto;
	bottom: auto;
	z-index: auto;
	display: flex;
	align-items: baseline;
	margin: 0;
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.hl-hero__current {
	display: inline-block;
	height: 1em;
	overflow: hidden;
	line-height: 1;
}

.hl-hero__current-track {
	display: flex;
	flex-direction: column;
	will-change: transform;
	transition: transform 0.55s cubic-bezier(0.65, 0, 0.35, 1);
}

.hl-hero__current-track span {
	height: 1em;
	line-height: 1;
}

.hl-hero__index-sep {
	display: inline-block;
	margin: 0 0.35em;
	letter-spacing: 0.08em;
}

.hl-hero__ticks {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.28rem;
	margin: 0;
	pointer-events: auto;
}

.hl-hero__tick {
	appearance: none;
	position: relative;
	width: 2.35rem;
	height: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.hl-hero__tick::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 2px;
	background: currentColor;
	opacity: 0.28;
	transform: translateY(-50%);
}

.hl-hero__tick:hover::before,
.hl-hero__tick:focus-visible::before {
	opacity: 0.55;
}

.hl-hero__tick:focus {
	outline: none;
}

.hl-hero__tick-fill {
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 2px;
	background: currentColor;
	transform: translateY(-50%);
	pointer-events: none;
}

.hl-hero__tick.is-active .hl-hero__tick-fill {
	width: 100%;
}

.hl-hero__ticks.is-playing .hl-hero__tick.is-active .hl-hero__tick-fill {
	width: 0;
	animation: hl-hero-tick-fill 5.2s linear forwards;
}

.hl-hero__caption {
	display: block;
	margin: 0;
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--hl-prussian);
	transition: opacity 0.2s var(--ease);
}

.hl-hero__caption.is-changing {
	opacity: 0;
}

.hl-hero__subtitle {
	margin: 1.4rem 0 1.8rem;
	max-width: 23rem;
	font-size: 0.98rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	line-height: 1.65;
	font-weight: 400;
}

.hl-hero__subtitle p {
	margin: 0;
}

.hl-hero__subtitle p + p {
	margin-top: 0.65em;
}

.hl-hero__subtitle em,
.hl-hero__subtitle i {
	font-style: italic;
	font-weight: inherit;
}

.hl-hero__subtitle a {
	color: inherit;
}

@keyframes hl-hero-expand {
	to {
		transform: scale(1);
	}
}

@keyframes hl-hero-reveal {
	to {
		opacity: 1;
	}
}

@keyframes hl-hero-tick-fill {
	from {
		width: 0;
	}

	to {
		width: 100%;
	}
}

@media screen and (max-width: 899px) {
	.hl-hero__slide img {
		top: 0;
		bottom: auto;
		height: 133.333%;
		object-position: 60% top;
	}
	
}

@media (prefers-reduced-motion: reduce) {
	.hl-hero__slides,
	.hl-hero__veil,
	.hl-hero__content,
	.hl-hero__coords,
	.hl-hero__meta,
	html:not(.is-swup) .has-transparent-header .site-header {
		animation: none;
		opacity: 1;
	}

	.hl-hero__slides {
		transform: none;
	}

	.hl-hero__current-track {
		transition: none;
	}

	.hl-hero__ticks.is-playing .hl-hero__tick.is-active .hl-hero__tick-fill {
		animation: none;
		width: 100%;
	}
}

/* Home mood
--------------------------------------------- */
.hl-mood {
	background: var(--hl-ecru);
}

.hl-mood__scene {
	position: relative;
	min-height: 100svh;
	height: 100svh;
	overflow: hidden;
	color: var(--hl-prussian);
}

.hl-mood__visual {
	position: absolute;
	inset: 0;
	margin: 0;
	overflow: hidden;
}

.hl-mood__visual img {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 118%;
	object-fit: cover;
	object-position: center 55%;
	will-change: transform;
}

.hl-mood__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(250, 249, 245, 0.08) 28%, rgba(250, 249, 245, 0.52) 100%);
}

.hl-mood__scene--end .hl-mood__visual::after {
	background: linear-gradient(90deg, transparent 22%, rgba(250, 249, 245, 0.18) 58%, rgba(250, 249, 245, 0.5) 100%);
}

.hl-mood__copy {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: calc(var(--header-h) + 1.5rem) var(--pad) var(--hl-edge-y);
	max-width: min(38rem, 88vw);
	opacity: 0;
	transform: translate3d(0, 1.4rem, 0);
	transition: opacity 0.95s var(--ease), transform 0.95s var(--ease);
}

.hl-mood__scene.is-in .hl-mood__copy,
.hl-mood__scene.is-in .hl-hero__cta {
	opacity: 1;
	transform: none;
}

.hl-mood__scene--end .hl-mood__copy {
	margin-left: auto;
	align-items: flex-end;
	text-align: right;
}

.hl-mood__word {
	margin: 0 0 0.7rem;
	font-size: 0.82rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-mood__title {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2.6rem, 7vw, 5.6rem);
	font-weight: 300;
	line-height: 0.92;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.hl-mood__title span {
	display: block;
}

.hl-mood__copy .hl-hero__cta {
	margin-top: 1.6rem;
	opacity: 0;
	transform: translate3d(0, 0.6rem, 0);
	transition: opacity 0.8s var(--ease) 0.18s, transform 0.8s var(--ease) 0.18s;
}

.hl-mood__scene--inset {
	--hl-mood-inset: max(var(--pad), calc((100% - var(--hl-container)) / 2));
}

.hl-mood__scene--inset .hl-mood__visual {
	inset: calc(var(--header-h) + 0.65rem) var(--hl-mood-inset) var(--pad);
}

.hl-mood__scene--inset .hl-mood__copy {
	padding-top: calc(var(--header-h) + 2.1rem);
	padding-bottom: calc(var(--hl-edge-y) + var(--pad));
}

@media (prefers-reduced-motion: reduce) {
	.hl-mood__copy,
	.hl-mood__copy .hl-hero__cta {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Hanging / Pièces
--------------------------------------------- */
.hl-hanging,
.hl-collection-intro,
.hl-shop {
	padding: clamp(4rem, 8vw, 7rem) var(--pad);
	background: var(--hl-ecru);
}

.hl-collection-intro--follow {
	padding-top: clamp(3rem, 6vw, 5.5rem);
}

.hl-shop {
	padding-top: 1.5rem;
	padding-left: 0;
	padding-right: 0;
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin-inline: auto;
	max-width: none;
}

.hl-collection-intro__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.1rem 2.5rem;
	margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.hl-collection-intro__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	font-weight: 300;
	letter-spacing: 0.12em;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-collection-intro__titles .hl-kicker {
	margin-bottom: 0.35rem;
}

.hl-collection-intro__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.45rem 1.25rem;
	margin: 0;
}

.hl-collection-intro__filters a,
.hl-collection-intro__filters a:visited {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hl-muted);
}

.hl-collection-intro__filters a:hover,
.hl-collection-intro__filters a:focus {
	color: var(--hl-prussian);
}

.hl-collection-intro__filters a[aria-current="page"] {
	color: var(--hl-prussian);
}

.hl-product-card.is-filtered-out {
	display: none !important;
}

.hl-chapters {
	display: flex;
	flex-direction: column;
	gap: clamp(4.5rem, 10vw, 8.5rem);
}

.hl-chapter {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	scroll-margin-top: calc(var(--header-h) + 1.25rem);
}

#pieces {
	scroll-margin-top: var(--header-h);
}

.hl-chapter__visual {
	margin: 0 0 2.1rem;
	width: min(100%, 28rem);
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--hl-sand);
}

.hl-chapter__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 48%;
}

.hl-chapter .hl-kicker {
	margin-bottom: 0.55rem;
}

.hl-chapter .hl-display {
	margin: 0;
	font-size: clamp(2rem, 4.4vw, 3.35rem);
}

.hl-chapter__text {
	max-width: 28rem;
	margin: 1.1rem 0 1.65rem;
	color: var(--hl-ink);
	line-height: 1.55;
}

.hl-chapter .hl-hero__cta {
	justify-content: center;
}

.hl-product-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	list-style: none;
	margin: 0;
}

@media (min-width: 700px) {
	.hl-product-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.hl-product-card {
	margin: 0;
}

.hl-product-card__visual {
	margin: 0 0 1rem;
	background: var(--hl-sand);
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.hl-product-card__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 46%;
	transition: transform 0.8s var(--ease);
}

.hl-print--centre .hl-product-card__visual img {
	object-position: 50% 42%;
}

.hl-print--cote .hl-product-card__visual img {
	object-position: 78% 40%;
	transform: scale(1.16);
}

.hl-print--vertical .hl-product-card__visual img {
	object-position: 50% 22%;
}

.hl-product-card:hover img {
	transform: scale(1.04);
}

.hl-print--cote:hover .hl-product-card__visual img {
	transform: scale(1.22);
}

.hl-product-card__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.8rem;
}

.hl-product-card__name {
	margin: 0;
	font-family: var(--font-display);
	font-size: 0.92rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-product-card__price {
	margin: 0;
	flex-shrink: 0;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	font-variant-numeric: tabular-nums;
	color: var(--hl-cyan-light);
}

.hl-product-card__subtitle {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--hl-ink);
}

/* Story
--------------------------------------------- */
.hl-story {
	display: grid;
}

@media (min-width: 900px) {
	.hl-story {
		grid-template-columns: 1.15fr 1fr;
		min-height: 78vh;
	}
}

.hl-story__media {
	margin: 0;
	min-height: 420px;
}

.hl-story__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hl-story__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.5rem, 6vw, 5.5rem);
	background: var(--hl-ecru);
}

.hl-story__text,
.hl-prose {
	max-width: 34rem;
	margin-block: 1.4rem 1.6rem;
	color: var(--hl-ink);
}

.hl-prose p + p {
	margin-top: 1em;
}

.hl-page__content.hl-prose {
	max-width: 42rem;
}

.hl-prose h2 {
	margin: 2.4rem 0 0.85rem;
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 2.1vw, 1.55rem);
	font-weight: 300;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-prose h3 {
	margin: 1.6rem 0 0.5rem;
	font-size: 1.02rem;
	font-weight: 300;
	color: var(--hl-prussian);
}

.hl-prose ul {
	margin: 0 0 1.25rem 1.15rem;
	padding: 0;
	list-style: disc;
	color: var(--hl-ink);
}

.hl-prose li + li {
	margin-top: 0.45rem;
}

.hl-prose a {
	text-decoration: underline;
	text-underline-offset: 0.18em;
	color: var(--hl-prussian);
}

.hl-prose em {
	color: var(--hl-cyan-light);
	font-style: italic;
}

/* Close-ups
--------------------------------------------- */
.hl-closeups {
	background: var(--hl-ecru);
	padding-top: clamp(4.5rem, 9vw, 8rem);
	padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.hl-closeups__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem 4px;
}

@media (min-width: 800px) {
	.hl-closeups__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 0 4px;
	}
}

.hl-closeups__visual {
	margin: 0;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--hl-sand);
}

.hl-closeups__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hl-closeups__copy {
	padding: 1.85rem 1.4rem 0;
	text-align: center;
}

.hl-closeups__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-closeups__title::after {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1px;
	margin: 0.7rem auto 1rem;
	background: var(--hl-prussian);
}

.hl-closeups__text {
	max-width: 17.5rem;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--hl-prussian);
}

/* Preorder band
--------------------------------------------- */
.hl-preorder {
	position: relative;
	min-height: 86vh;
	color: var(--hl-textile);
	display: flex;
	align-items: center;
	overflow: hidden;
}

.hl-preorder__media {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7, 53, 84, 0.55), rgba(7, 53, 84, 0.18)),
		var(--hl-preorder-image) center / cover no-repeat;
}

.hl-preorder__content {
	position: relative;
	z-index: 1;
	padding: clamp(3rem, 8vw, 7rem) var(--pad);
	max-width: 40rem;
}

.hl-preorder__kicker {
	margin: 0.9rem 0 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: clamp(1.2rem, 2.4vw, 1.7rem);
	line-height: 1.25;
}

.hl-preorder__text {
	max-width: 22rem;
	margin-bottom: 1.6rem;
	color: rgba(250, 249, 245, 0.86);
}

.hl-steps {
	margin-top: 3.5rem;
	display: grid;
	gap: 0.55rem;
	font-size: 0.92rem;
}

.hl-steps span {
	display: inline-block;
	min-width: 1.6rem;
	margin-right: 0.4rem;
	opacity: 0.7;
}

.hl-preorder__script {
	position: absolute;
	right: var(--pad);
	bottom: 2rem;
	z-index: 1;
	margin: 0;
	color: var(--hl-textile);
}

/* Footer
--------------------------------------------- */
.site-footer {
	position: relative;
	background: var(--hl-sand);
	overflow: hidden;
}

.hl-footer {
	width: 100%;
	padding: clamp(2.5rem, 5vw, 4.5rem) var(--pad) 1.4rem;
}

.hl-footer__mark {
	margin: 0 calc(var(--pad) * -0.35) clamp(2.2rem, 5vw, 3.8rem);
	line-height: 0;
	pointer-events: none;
	user-select: none;
}

.hl-footer__mark img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.15;
}

.hl-footer__grid {
	display: grid;
	gap: 2.6rem 3.5rem;
	align-items: start;
}

@media (min-width: 760px) {
	.hl-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1100px) {
	.hl-footer__grid {
		grid-template-columns: 1.45fr 0.7fr 0.95fr 0.75fr;
		gap: 3rem 4.5rem;
	}
}

.hl-footer__label {
	margin: 0 0 1.05rem;
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-footer__col .menu {
	display: grid;
	gap: 0.55rem;
}

.hl-footer__col a,
.hl-social a {
	font-size: 0.98rem;
	color: var(--hl-prussian);
	letter-spacing: 0.01em;
}

.hl-footer__col a:hover,
.hl-social a:hover {
	color: var(--hl-ink);
}

.hl-footer__col .current-menu-item a {
	color: var(--hl-ink);
}

.hl-newsletter__title {
	margin: 0 0 0.7rem;
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 2.1vw, 1.8rem);
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hl-prussian);
	line-height: 1.05;
}

.hl-newsletter__text {
	max-width: 22rem;
	margin-bottom: 1.5rem;
	color: var(--hl-ink);
}

.hl-newsletter__form {
	max-width: 22rem;
}

.hl-newsletter .sib_signup_form {
	padding: 0 !important;
	margin: 0;
}

.hl-newsletter .sib_signup_box_inside_1,
.hl-newsletter [class^="sib_signup_box_inside_"] {
	padding: 0;
}

.hl-newsletter p.sib-email-area {
	display: flex;
	align-items: center;
	max-width: 22rem;
	margin: 0 !important;
	border-bottom: 1px solid var(--hl-prussian);
}

.hl-newsletter input.sib-email-area,
.hl-newsletter input[type="email"] {
	flex: 1;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.75rem 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--hl-ink) !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
}

.hl-newsletter input.sib-email-area::placeholder,
.hl-newsletter input[type="email"]::placeholder {
	color: var(--hl-cyan-light);
}

.hl-newsletter .sib-default-btn,
.hl-newsletter input[type="submit"].sib-default-btn {
	flex: 0 0 auto;
	width: 2.4rem !important;
	min-width: 2.4rem;
	height: 2.8rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12' viewBox='0 0 22 12' fill='none'%3E%3Cpath d='M0 6h20M15 1l5 5-5 5' stroke='%23073554' stroke-width='1.2'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center right !important;
	background-size: 1.15rem auto !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -999px;
	overflow: hidden;
	box-shadow: none !important;
	cursor: pointer;
}

.hl-newsletter .sib-default-btn:hover,
.hl-newsletter input[type="submit"].sib-default-btn:hover {
	background-color: transparent !important;
	opacity: 0.7;
}

.hl-newsletter .sib_msg_disp {
	margin: 0.8rem 0 0;
	font-size: 0.9rem;
	color: var(--hl-ink);
}

.hl-newsletter .sib-alert-message {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--hl-ink);
}

.hl-newsletter .sib_loader {
	margin: 0.4rem 0 0;
}

.hl-social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;
}

.hl-footer__script {
	margin: 1.6rem 0 0;
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	color: var(--hl-prussian);
}

.hl-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.8rem 1.5rem;
	margin-top: clamp(2.8rem, 6vw, 4.5rem);
	padding-top: 1.15rem;
	border-top: 1px solid rgba(23, 35, 42, 0.1);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	color: var(--hl-cyan-light);
}

.hl-footer__copy {
	margin: 0;
}

.hl-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
}

.hl-footer__legal a {
	color: var(--hl-cyan-light);
	font-size: 0.72rem;
}

.hl-footer__legal a:hover {
	color: var(--hl-prussian);
}

/* Inner pages
--------------------------------------------- */
.hl-page-hero,
.hl-collection-page-hero {
	padding: calc(var(--header-h) + 2.5rem) var(--pad) 3rem;
}

.hl-collection-page-hero {
	padding-left: 0;
	padding-right: 0;
}

.hl-page-hero .hl-wrap {
	width: 100%;
}

.hl-article .hl-page-hero .hl-wrap {
	width: min(100%, var(--hl-container));
	margin-inline: auto;
}

.hl-collection-page-hero .hl-collection-intro__header {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	max-width: none;
	margin: 0 auto;
}

.has-transparent-header .hl-page-hero {
	padding-top: 2.5rem;
}

.hl-page-hero__inner {
	width: min(100%, 1100px);
	margin: 0 auto;
	display: grid;
	gap: 1rem 4rem;
}

.hl-collection-page-hero__inner {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: 0 auto;
	display: grid;
	gap: 1rem 4rem;
}

@media (min-width: 900px) {
	.hl-collection-page-hero__inner {
		grid-template-columns: 1fr 0.8fr;
		align-items: end;
	}

	.hl-collection-page-hero .hl-lead {
		margin: 0;
	}
}

.hl-page__content,
.hl-article__content {
	width: min(42rem, calc(100% - (var(--pad) * 2)));
	max-width: none;
	margin-inline: var(--pad);
	margin-block: 0;
	padding-bottom: 5rem;
}

.hl-article__hero {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: 0 auto 3rem;
}

.hl-article__hero img {
	width: 100%;
	height: min(68vh, 720px);
	object-fit: cover;
}

.hl-article .hl-article__content {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin-inline: auto;
	max-width: none;
}

.hl-article .hl-article__content > * {
	max-width: 42rem;
}

.hl-empty {
	padding: 1rem 0 5rem;
}

.hl-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	align-items: center;
	margin-top: 1.6rem;
}

.hl-about {
	padding: calc(var(--header-h) + 2.5rem) 0 5rem;
	background: var(--hl-ecru);
}

.hl-about__intro {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin-inline: auto;
}

.hl-about__intro .hl-display {
	max-width: 22ch;
}

.hl-about__text {
	max-width: 36rem;
	margin: 1.8rem 0 0;
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.6;
	color: var(--hl-ink);
}

.hl-about__text p {
	margin: 0 0 1.1em;
}

.hl-about__text p:last-child {
	margin-bottom: 0;
}

.hl-about__motto {
	margin: clamp(2.2rem, 5vw, 3.4rem) 0 0;
	display: flex;
	flex-direction: column;
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 300;
	line-height: 1.12;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-about__motto span {
	display: block;
}

.hl-about__visual {
	width: 100%;
	margin: clamp(3rem, 7vw, 5.5rem) 0 0;
	background: var(--hl-sand);
}

.hl-about__visual img {
	display: block;
	width: 100%;
	height: min(78vh, 860px);
	object-fit: cover;
	object-position: center 40%;
}

.hl-about__note {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: clamp(2.8rem, 6vw, 4.5rem) auto 0;
	display: grid;
	gap: 2rem;
	align-items: end;
}

@media (min-width: 800px) {
	.hl-about__note {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

.hl-about__note-text {
	max-width: 28rem;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var(--hl-ink);
}

.hl-about__note-text p {
	margin: 0 0 0.8em;
}

.hl-about__note-text p:last-child {
	margin-bottom: 0;
}

.hl-about__portrait {
	width: min(10.5rem, 42vw);
	margin: 0;
	background: var(--hl-sand);
}

.hl-about__portrait img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.hl-cta-band {
	padding: clamp(4rem, 8vw, 6rem) 0;
	background: var(--hl-prussian);
	color: var(--hl-textile);
	text-align: center;
}

.hl-cta-band .hl-display {
	color: var(--hl-textile);
	margin-bottom: 1.6rem;
}

.hl-cta-band .hl-btn--solid {
	background: transparent;
	border-color: var(--hl-textile);
	color: var(--hl-textile);
}

.hl-cta-band .hl-btn--solid:hover {
	background: var(--hl-textile);
	color: var(--hl-prussian);
}

/* Atelier
--------------------------------------------- */
.hl-atelier-hero {
	padding: calc(var(--header-h) + 2.5rem) 0 clamp(3rem, 6vw, 5rem);
}

.hl-atelier-hero__inner {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin-inline: auto;
}

.hl-atelier-hero__inner .hl-display {
	max-width: 14ch;
}

.hl-atelier-hero__body {
	max-width: 38rem;
	margin: 1.8rem 0 0;
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.6;
	color: var(--hl-ink);
}

.hl-atelier-hero__body p {
	margin: 0 0 1.1em;
}

.hl-atelier-hero__body p:last-child {
	margin-bottom: 0;
}

.hl-atelier-steps {
	display: flex;
	flex-direction: column;
	gap: clamp(3.2rem, 7vw, 6.5rem);
	padding: 0 0 5.5rem;
}

.hl-atelier-step__visual {
	margin: 0;
	width: 100%;
	height: min(78vh, 880px);
	overflow: hidden;
	background: var(--hl-sand);
}

.hl-atelier-step__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hl-atelier-step__label,
.hl-atelier-step__text {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin-inline: auto;
}

.hl-atelier-step__label {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.65rem 0.85rem;
	margin: 1.15rem auto 0.4rem;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-atelier-step__num::after {
	content: "—";
	margin-left: 0.85rem;
}

.hl-atelier-step__text {
	margin: 0 auto;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--hl-muted);
}

/* Infos
--------------------------------------------- */
.hl-infos-hero {
	padding: calc(var(--header-h) + 2.5rem) var(--pad) clamp(2.5rem, 5vw, 4rem);
}

.hl-infos-hero .hl-display {
	margin-bottom: 1.2rem;
}

.hl-infos-hero .hl-lead {
	max-width: 28rem;
	margin: 0;
}

.hl-infos {
	display: grid;
	gap: clamp(2.2rem, 4vw, 3.5rem) clamp(2rem, 5vw, 5rem);
	padding: 0 var(--pad) clamp(3.5rem, 7vw, 6rem);
}

@media (min-width: 800px) {
	.hl-infos {
		grid-template-columns: 1fr 1fr;
	}
}

.hl-infos__item {
	max-width: 26rem;
}

.hl-infos__word {
	margin: 0 0 0.7rem;
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-infos__text {
	margin: 0;
	color: var(--hl-ink);
}

.hl-infos__item .hl-text-link {
	display: inline-block;
	margin-top: 0.9rem;
}

.hl-infos-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.75rem;
	padding: 0 var(--pad) clamp(4rem, 8vw, 6.5rem);
}

.hl-infos-links a {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-infos-links a:hover {
	color: var(--hl-prussian);
}

/* Inner pages already defined above */

.hl-journal {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	padding-top: 1.5rem;
}

.hl-journal-grid {
	display: grid;
	gap: 2rem;
	padding-bottom: 5rem;
}

@media (min-width: 800px) {
	.hl-journal-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.hl-journal-card h2 {
	margin: 0.4rem 0 0.6rem;
	font-family: var(--font-display);
	font-size: 1.65rem;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-journal-card figure {
	margin: 0 0 1rem;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--hl-sand);
}

.hl-journal-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hl-wc-page {
	padding-top: 1rem;
	padding-bottom: 4rem;
}

.hl-account {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: 0.5rem auto 5rem;
}

.hl-account__header {
	margin-bottom: 2.6rem;
}

.hl-account__lead,
.hl-account__intro,
.hl-account__panel-text {
	max-width: 32rem;
	margin: 1rem 0 0;
	color: var(--hl-ink);
}

.hl-account__intro {
	margin: 0 0 2rem;
}

.hl-account__auth--split {
	display: grid;
	gap: 3rem;
}

@media (min-width: 800px) {
	.hl-account__auth--split {
		grid-template-columns: 1fr 1fr;
		gap: 4.5rem;
		align-items: start;
	}
}

.hl-account__panel,
.hl-account__card,
.hl-address-card {
	background: var(--hl-textile);
}

.hl-account__panel {
	padding: clamp(1.5rem, 3vw, 2.1rem);
}

.hl-account__panel--form {
	max-width: 36rem;
}

.hl-account__panel--address {
	max-width: 44rem;
}

.hl-account__panel h2 {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-account__panel .hl-kicker {
	margin-bottom: 0.55rem;
}

.hl-account__panel-head {
	margin: 0 0 1.6rem;
	padding: 0 0 1.25rem;
	border-bottom: 1px solid rgba(7, 53, 84, 0.12);
}

.hl-account__panel-head h2 {
	margin-bottom: 0.45rem;
}

.hl-account__panel-head .hl-account__panel-text,
.hl-account__panel-text {
	margin: 0 0 1.6rem;
}

.hl-account__panel-head .hl-account__panel-text {
	margin: 0;
}

.hl-account .form-row {
	margin: 0 0 1.1rem;
	padding: 0;
	width: 100%;
	float: none;
}

.hl-account .form-row-first,
.hl-account .form-row-last {
	width: 100%;
}

@media (min-width: 700px) {
	.hl-account .woocommerce-address-fields__field-wrapper,
	.hl-account .edit-account {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 1.4rem;
	}

	.hl-account .woocommerce-address-fields__field-wrapper .form-row-wide,
	.hl-account .edit-account .form-row-wide,
	.hl-account .edit-account fieldset,
	.hl-account .edit-account .hl-account__actions,
	.hl-account .edit-account > p:last-of-type {
		grid-column: 1 / -1;
	}

	.hl-account .form-row-first,
	.hl-account .form-row-last {
		width: auto;
	}
}

.hl-account .form-row label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-account .input-text,
.hl-account input[type="text"],
.hl-account input[type="email"],
.hl-account input[type="password"],
.hl-account select,
.hl-account .select2-container .select2-selection--single {
	width: 100%;
	border: 0;
	border-bottom: 1px solid rgba(7, 53, 84, 0.28);
	border-radius: 0;
	background: transparent;
	padding: 0.7rem 0;
	min-height: 2.8rem;
	box-shadow: none;
	color: var(--hl-ink);
}

.hl-account .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 2.8rem;
	color: var(--hl-ink);
}

.hl-account .select2-container .select2-selection__arrow {
	height: 2.8rem;
}

.hl-account__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

.hl-account .password-input {
	display: block;
	position: relative;
}

.hl-account .show-password-input {
	position: absolute;
	right: 0;
	top: 0.55rem;
	width: auto;
	min-height: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	color: var(--hl-cyan-light);
	box-shadow: none;
}

.hl-account .button {
	min-height: 3rem;
	padding: 0.85rem 1.6rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hl-account .lost_password {
	margin-top: 1rem;
}

.hl-account__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.4rem;
	margin: 0 0 2.4rem;
	padding: 0 0 1.1rem;
	border-bottom: 1px solid rgba(23, 35, 42, 0.1);
	list-style: none;
}

.hl-account__nav a {
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-account__nav .is-active a,
.hl-account__nav a[aria-current="page"] {
	color: var(--hl-prussian);
}

.hl-account__cards {
	display: grid;
	gap: 1rem;
}

@media (min-width: 800px) {
	.hl-account__cards {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.2rem;
	}
}

.hl-account__card {
	display: block;
	padding: clamp(1.5rem, 3vw, 2.1rem);
	background: var(--hl-textile);
	color: var(--hl-prussian);
	min-height: 11rem;
	transition: transform 0.25s ease;
}

.hl-account__card:hover {
	transform: translateY(-2px);
}

.hl-account__card h2 {
	margin: 0.55rem 0 0.7rem;
	font-family: var(--font-display);
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hl-account__card p:last-child {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--hl-ink);
}

.hl-address-grid {
	display: grid;
	gap: 1.2rem;
}

@media (min-width: 800px) {
	.hl-address-grid--split {
		grid-template-columns: 1fr 1fr;
	}
}

.hl-address-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.5rem, 3vw, 2.1rem);
	min-height: 16rem;
}

.hl-address-card__head {
	width: 100%;
	margin: 0 0 1.25rem;
	padding: 0 0 1.1rem;
	border-bottom: 1px solid rgba(7, 53, 84, 0.12);
}

.hl-address-card h2 {
	margin: 0.35rem 0 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hl-prussian);
}

.hl-address-card__rows {
	width: 100%;
	display: grid;
	gap: 0.85rem;
	margin: 0 0 1.6rem;
	flex: 1;
}

.hl-address-card__row {
	display: grid;
	grid-template-columns: 6.6rem minmax(0, 1fr);
	gap: 0.7rem 1rem;
	align-items: baseline;
}

.hl-address-card__row dt {
	margin: 0;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-address-card__row dd {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--hl-prussian);
}

.hl-address-card__empty {
	flex: 1;
	margin: 0 0 1.6rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--hl-ink);
}

.hl-address-card .hl-text-link {
	margin-top: auto;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(7, 53, 84, 0.12);
	align-self: stretch;
}

.hl-account form.edit-account,
.hl-account .woocommerce-orders-table {
	background: var(--hl-textile);
	padding: clamp(1.5rem, 3vw, 2.1rem);
}

.hl-account form.edit-account {
	max-width: 36rem;
}

.hl-account .woocommerce-orders-table,
.hl-account table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

.hl-account table.shop_table th,
.hl-account table.shop_table td {
	border: 0;
	border-bottom: 1px solid rgba(23, 35, 42, 0.1);
	padding: 1rem 0.6rem 1rem 0;
	background: transparent;
	text-align: left;
	color: var(--hl-prussian);
}

.hl-account table.shop_table th {
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
	font-weight: 300;
}

.hl-account address {
	font-style: normal;
	line-height: 1.6;
	color: var(--hl-ink);
}

.hl-account fieldset {
	margin: 1.6rem 0 0;
	padding: 1.4rem 0 0;
	border: 0;
	border-top: 1px solid rgba(7, 53, 84, 0.12);
}

.hl-account fieldset legend {
	padding: 0;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-account #account_display_name_description {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--hl-ink);
}

.hl-account .form-row .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0;
	font-size: 0.82rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hl-ink);
}

.hl-account .woocommerce-form__input-checkbox {
	-webkit-appearance: none;
	appearance: none;
	width: 0.9rem;
	height: 0.9rem;
	margin: 0;
	flex: 0 0 auto;
	border: 1px solid var(--hl-prussian);
	border-radius: 0;
	background: transparent;
	cursor: pointer;
}

.hl-account .woocommerce-form__input-checkbox:checked {
	background: var(--hl-prussian);
	box-shadow: inset 0 0 0 2px var(--hl-textile);
}

.hl-toasts {
	position: fixed;
	right: var(--hl-edge-x);
	bottom: var(--hl-edge-y);
	z-index: 100010;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.7rem;
	width: min(22.5rem, calc(100vw - (var(--hl-edge-x) * 2)));
	pointer-events: none;
}

.woocommerce-notices-wrapper {
	margin: 0;
}

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message:not(.hl-toast),
.woocommerce-info:not(.hl-toast),
.woocommerce-error:not(.hl-toast) {
	display: none;
}

.hl-toasts .hl-toast {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
}

.hl-toasts .woocommerce-error {
	display: block;
}

.hl-toast,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 1.05rem 2.5rem 1.05rem 1.15rem;
	background: var(--hl-prussian);
	color: var(--hl-textile);
	border: 0;
	box-shadow: 0 16px 40px rgba(7, 53, 84, 0.2);
	pointer-events: auto;
	opacity: 0;
	transform: translate3d(1.1rem, 0.7rem, 0);
	transition: transform 0.45s var(--ease), opacity 0.45s var(--ease);
}

.hl-toast.is-visible,
.woocommerce-message.is-visible,
.woocommerce-info.is-visible,
.woocommerce-error.is-visible {
	opacity: 1;
	transform: none;
}

.hl-toast.is-leaving,
.woocommerce-message.is-leaving,
.woocommerce-info.is-leaving,
.woocommerce-error.is-leaving {
	opacity: 0;
	transform: translate3d(0.8rem, 0.4rem, 0);
}

.woocommerce-error {
	list-style: none;
	background: var(--hl-ink);
}

.woocommerce-error li {
	margin: 0;
}

.woocommerce-error li + li {
	margin-top: 0.45rem;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-message .button,
.woocommerce-info .button {
	background: transparent;
	color: var(--hl-textile);
	border: 0;
	padding: 0;
	margin-left: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.7rem;
	min-height: auto;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-message .button:hover {
	opacity: 0.7;
}

.hl-toast__close {
	position: absolute;
	top: 0.45rem;
	right: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.8rem;
	height: 1.8rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--hl-textile);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.72;
	transition: opacity 0.2s var(--ease);
}

.hl-toast__close:hover,
.hl-toast__close:focus-visible {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.hl-toast,
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		transition: none;
		transform: none;
		opacity: 1;
	}
}

#cookie-notice.cn-position-bottom,
#cookie-notice {
	left: auto !important;
	right: var(--hl-edge-x);
	bottom: var(--hl-edge-y);
	min-width: 0 !important;
	width: min(24.5rem, calc(100vw - (var(--hl-edge-x) * 2)));
	max-width: 24.5rem;
	text-align: left;
	font-family: var(--font-sans);
	font-size: 0.85rem;
	line-height: 1.5;
	letter-spacing: 0;
	z-index: 100000;
}

#cookie-notice.cookie-notice-visible:not(.hl-cookie-in) {
	opacity: 0 !important;
	visibility: hidden;
	pointer-events: none !important;
	transform: translate3d(0.7rem, 0.45rem, 0);
	animation: none !important;
}

#cookie-notice.cookie-notice-visible.hl-cookie-in {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	animation: none !important;
	transition: opacity 0.5s var(--ease), transform 0.5s var(--ease);
}

@media (prefers-reduced-motion: reduce) {
	#cookie-notice.cookie-notice-visible:not(.hl-cookie-in),
	#cookie-notice.cookie-notice-visible.hl-cookie-in {
		transform: none;
		transition: opacity 0.2s linear;
	}
}

#cookie-notice .cookie-notice-container,
#cookie-notice .cookie-revoke-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	width: 100%;
	padding: 1.15rem 2.4rem 1.2rem 1.25rem;
	text-align: left;
}

#cookie-notice .cn-text-container,
#cookie-notice .cn-buttons-container {
	display: block;
	margin: 0;
}

#cookie-notice .cn-buttons-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

#cookie-notice .cn-button,
#cookie-notice .cn-button:not(.cn-button-custom),
#cookie-notice .cn-button:visited {
	margin: 0;
	color: var(--hl-prussian) !important;
	font-family: var(--font-sans);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 0;
	padding: 0.65rem 0.95rem;
}

#cookie-notice .cn-close-icon {
	top: 0.7rem;
	right: 0.55rem;
	margin: 0;
}

#cookie-notice .cn-close-icon:before,
#cookie-notice .cn-close-icon:after {
	background-color: currentColor;
}

/* Single product
--------------------------------------------- */
.hl-product {
	display: grid;
	gap: 2.5rem;
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: 3.5rem auto 5rem;
}

@media (min-width: 960px) {
	.hl-product {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 4rem;
		align-items: start;
	}
}

.hl-product__summary.entry-summary {
	margin: 0;
	padding: 0;
}

.hl-product .product_title {
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--hl-ink);
	line-height: 0.95;
	margin: 0;
}

.hl-product-series,
.hl-product-collection {
	margin: 0.55rem 0 0;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-product-price {
	margin: 1.55rem 0 1.25rem;
	font-size: 1.2rem;
	font-weight: 300;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	color: var(--hl-ink);
}

.hl-product .woocommerce-product-details__short-description {
	max-width: 28rem;
	margin: 1.15rem 0 0;
	color: var(--hl-ink);
}

.hl-product-annex {
	margin-top: 2.4rem;
}

.hl-product-notes {
	margin: 1.4rem 0 1.8rem;
	color: var(--hl-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.hl-product-note {
	margin: 0 0 0.2rem;
}

.hl-product-note:last-child {
	margin-bottom: 0;
}

.hl-product-note--print {
	max-width: none;
}

.hl-accordions {
	border-top: 1px solid rgba(23, 35, 42, 0.12);
}

.hl-accordion {
	border-bottom: 1px solid rgba(23, 35, 42, 0.12);
}

.hl-accordion summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	padding: 1rem 0;
	font-size: 0.92rem;
	color: var(--hl-ink);
}

.hl-accordion summary::-webkit-details-marker {
	display: none;
}

.hl-accordion summary::after {
	content: "+";
	color: var(--hl-ink);
}

.hl-accordion[open] summary::after {
	content: "–";
}

.hl-accordion__body {
	padding: 0 0 1.1rem;
	color: var(--hl-ink);
	font-size: 0.95rem;
}

.hl-accordion__body p {
	margin: 0;
}

.hl-size-guide {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.hl-size-guide th,
.hl-size-guide td {
	padding: 0.45rem 0;
	border-bottom: 1px solid rgba(23, 35, 42, 0.08);
	text-align: left;
}

.related.products,
.upsells.products {
	width: min(100% - (var(--pad) * 2), 1180px);
	margin: 0 auto 5rem;
}

.related.products > h2,
.upsells.products > h2 {
	font-family: var(--font-display);
	font-size: 1.65rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--hl-prussian);
	margin-bottom: 1.6rem;
}

/* Checkout flow
--------------------------------------------- */
.hl-checkout-shell {
	width: min(100% - (var(--pad) * 2), var(--hl-container));
	margin: 2.4rem auto 5.5rem;
}

.hl-checkout-header {
	margin-bottom: 2.5rem;
}

.hl-checkout-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.5rem;
	margin: 1.4rem 0 0;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-checkout-progress__step.is-current {
	color: var(--hl-prussian);
}

.hl-checkout-progress__step.is-done a {
	color: var(--hl-ink);
}

.hl-cart-layout,
.hl-checkout-layout {
	display: grid;
	gap: 3rem;
}

@media (min-width: 900px) {
	.hl-cart-layout,
	.hl-checkout-layout {
		grid-template-columns: 1.2fr 0.8fr;
		align-items: start;
	}
}

.hl-cart-line {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 1.25rem 1.5rem;
	padding: 1.75rem 0;
	align-items: start;
	border-bottom: 1px solid rgba(23, 35, 42, 0.1);
}

.hl-cart-line:first-child {
	padding-top: 0.4rem;
}

.hl-cart-line__image {
	background: var(--hl-sand);
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.hl-cart-line__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: 50% 46%;
}

.hl-cart-line__image.hl-print--centre img,
.hl-review-line__image.hl-print--centre img {
	object-position: 50% 42%;
}

.hl-cart-line__image.hl-print--cote img,
.hl-review-line__image.hl-print--cote img {
	object-position: 78% 40%;
	transform: scale(1.16);
}

.hl-cart-line__image.hl-print--vertical img,
.hl-review-line__image.hl-print--vertical img {
	object-position: 50% 22%;
}

.hl-cart-line__info {
	padding-top: 0.15rem;
}

.hl-cart-line .variation {
	margin: 0 0 0.9rem;
	font-size: 0.8rem;
	color: var(--hl-ink);
}

.hl-cart-line .variation dt,
.hl-cart-line .variation dd {
	display: inline;
	margin: 0;
}

.hl-cart-line .variation dd {
	margin-right: 0.55rem;
}

.hl-cart-line__qty {
	margin-top: 0.7rem;
}

.hl-cart-line__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.75rem;
	padding-top: 0.15rem;
}

.hl-cart-line__number,
.hl-cart-line__remove {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-cart-line__name {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 300;
	margin: 0.2rem 0 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hl-cart-line__qty .quantity input {
	width: 3.2rem;
	border: 0;
	border-bottom: 1px solid rgba(7, 53, 84, 0.25);
	background: transparent;
	padding: 0.5rem 0;
	text-align: center;
	box-shadow: none;
}

.hl-cart-actions {
	padding: 1.55rem 0 0.35rem;
}

.hl-cart-actions .hl-text-link,
.hl-cart-actions button {
	border: 0;
	background: transparent;
	color: var(--hl-ink);
	padding: 0;
	min-height: auto;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

.hl-cart-summary,
.hl-checkout-review {
	background: var(--hl-textile);
	padding: clamp(1.85rem, 3.4vw, 2.7rem);
	position: sticky;
	top: calc(var(--header-h) + 1rem);
}

.hl-review-line {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 1rem 1.15rem;
	align-items: start;
}

.hl-review-line__image {
	margin: 0;
	width: 96px;
	height: 120px;
	background: var(--hl-sand);
	overflow: hidden;
}

.hl-review-line__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: 50% 46%;
}

.hl-review-line__number {
	margin: 0;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hl-cyan-light);
}

.hl-review-line__name {
	margin: 0.2rem 0 0;
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hl-prussian);
	line-height: 1.25;
}

.hl-review-line__name .product-quantity {
	font-family: var(--font-sans);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--hl-ink);
	font-weight: 300;
}

.hl-review-line__price {
	margin: 0;
	font-size: 0.92rem;
	color: var(--hl-prussian);
	white-space: nowrap;
}

.hl-review-line .variation {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: var(--hl-ink);
}

.hl-review-line .variation dt,
.hl-review-line .variation dd {
	display: inline;
	margin: 0;
}

.hl-review-line .variation dt {
	font-weight: 400;
}

.hl-review-line .variation dd {
	margin-right: 0.5rem;
}

.hl-checkout-pay {
	margin-top: 1.35rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(7, 53, 84, 0.12);
}

.hl-checkout-pay__kicker {
	margin: 0 0 0.65rem;
}

.hl-cart-summary h2,
.hl-checkout-review h2,
.cart_totals h2 {
	font-family: var(--font-display);
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--hl-prussian);
	margin-bottom: 1.35rem;
}

.hl-cart-summary__note {
	margin: 1.15rem 0 0;
	font-size: 0.85rem;
	color: var(--hl-ink);
}

.hl-empty-cart,
.hl-thankyou {
	min-height: 60vh;
}

.hl-thankyou__details {
	background: var(--hl-sand);
	padding: 1.8rem;
}

@media (max-width: 699px) {
	:root {
		--hl-edge-y: 1.5rem;
	}

	.hl-header {
		grid-template-columns: 1fr auto;
		gap: 0.75rem;
	}

	.hl-header__brand {
		order: 1;
	}

	.hl-header__aside {
		display: none;
	}

	.main-navigation {
		order: 3;
		justify-self: end;
	}

	.hl-preorder__script {
		font-size: 1.5rem;
	}

	.hl-cart-line {
		grid-template-columns: 72px 1fr;
	}

	.hl-cart-line__aside {
		grid-column: 1 / -1;
		flex-direction: row;
		text-align: left;
	}

	.hl-review-line {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.hl-review-line__price {
		grid-column: 2;
	}
}

/* Contact
--------------------------------------------- */
.hl-page-hero--contact {
	padding-bottom: 2.2rem;
}

.hl-contact {
	display: grid;
	gap: 2.5rem;
	width: min(100%, calc(var(--wrap) + (var(--pad) * 2)));
	margin: 0 auto;
	padding: 0 var(--pad) 6rem;
}

@media (min-width: 900px) {
	.hl-contact {
		grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.22fr);
		gap: 4.5rem;
		align-items: start;
	}
}

.hl-contact__mail {
	display: inline-block;
	margin: 0.15rem 0 0.85rem;
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	letter-spacing: 0.02em;
	color: var(--hl-prussian);
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.12rem;
}

.hl-contact__meta {
	margin: 0;
	color: var(--hl-ink);
}

.hl-contact__script {
	margin: 1.8rem 0 0;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.hl-contact__collection {
	margin: 1.4rem 0 0;
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-contact__panel {
	background: var(--hl-sand);
	padding: clamp(1.8rem, 4vw, 3.2rem);
}

.hl-contact__fallback {
	margin: 0;
	color: var(--hl-ink);
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.hl-cf7 {
	display: grid;
	gap: 1.25rem;
}

.hl-cf7 p {
	margin: 0;
}

.hl-cf7__row {
	display: grid;
	gap: 1.55rem;
}

@media (min-width: 700px) {
	.hl-cf7__row {
		grid-template-columns: 1fr 1fr;
	}
}

.hl-cf7__field label {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hl-ink);
}

.hl-cf7__field label br {
	display: none;
}

.hl-contact .wpcf7-form-control-wrap {
	display: block;
}

.hl-contact input[type="text"],
.hl-contact input[type="email"],
.hl-contact select,
.hl-contact textarea {
	width: 100%;
	margin: 0;
	padding: 0.7rem 0 0.85rem;
	border: 0;
	border-bottom: 1px solid var(--hl-prussian);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--hl-ink);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	font-weight: 300;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.4;
	appearance: none;
}

.hl-contact select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%23073554' stroke-width='1.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0 center;
	padding-right: 1.4rem;
	cursor: pointer;
}

.hl-contact textarea {
	min-height: 5rem;
	resize: vertical;
	border-bottom-width: 1px;
}

.hl-contact input[type="text"]:focus,
.hl-contact input[type="email"]:focus,
.hl-contact select:focus,
.hl-contact textarea:focus {
	outline: none;
	border-bottom-color: var(--hl-ink);
}

.hl-cf7__consent {
	margin: 0.2rem 0 0;
	font-size: 0.86rem;
	line-height: 1.55;
	color: var(--hl-ink);
	text-transform: none;
	letter-spacing: 0;
}

.hl-cf7__consent .wpcf7-list-item {
	margin: 0;
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
}

.hl-cf7__consent .wpcf7-list-item-label::before,
.hl-cf7__consent .wpcf7-list-item-label::after {
	content: none;
}

.hl-contact input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 0.95rem;
	height: 0.95rem;
	margin: 0.2rem 0 0;
	flex: 0 0 auto;
	border: 1px solid var(--hl-prussian);
	border-radius: 0;
	background: transparent;
	cursor: pointer;
}

.hl-contact input[type="checkbox"]:checked {
	background: var(--hl-prussian);
	box-shadow: inset 0 0 0 2px var(--hl-sand);
}

.hl-cf7__consent a {
	border-bottom: 1px solid currentColor;
}

.hl-cf7__submit {
	margin: 0.4rem 0 0;
}

.hl-contact .wpcf7-submit,
.hl-contact input.wpcf7-submit[type="submit"] {
	width: auto;
	min-width: 11rem;
	cursor: pointer;
}

.hl-contact input.wpcf7-submit[type="submit"]:disabled {
	opacity: 0.38;
	cursor: not-allowed;
}

.hl-contact .wpcf7-spinner {
	margin-left: 0.6rem;
	background-color: var(--hl-ink);
}

.hl-contact .wpcf7-not-valid-tip {
	margin-top: 0.4rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--hl-ink);
}

.hl-contact .wpcf7 form .wpcf7-response-output {
	margin: 1.2rem 0 0;
	padding: 0;
	border: 0;
	font-size: 0.95rem;
	color: var(--hl-prussian);
}

.hl-contact .wpcf7 form.invalid .wpcf7-response-output,
.hl-contact .wpcf7 form.unaccepted .wpcf7-response-output,
.hl-contact .wpcf7 form.failed .wpcf7-response-output,
.hl-contact .wpcf7 form.aborted .wpcf7-response-output {
	color: var(--hl-ink);
}
