@font-face {
	font-family: "BP Inter";
	src: url("../fonts/inter-variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* Optional browser-language suggestion: informative only, never an automatic redirect. */
.language-suggestion{position:fixed;z-index:10020;right:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);display:grid;grid-template-columns:4.25rem minmax(0,1fr) 2.5rem;gap:1rem;width:min(37rem,calc(100vw - 2rem));padding:1.25rem;color:var(--bp-white);background:var(--bp-deep);border:1px solid rgba(255,255,255,.18);box-shadow:0 1.5rem 4rem rgba(0,0,0,.34);opacity:0;transform:translateY(1.25rem);transition:opacity .26s ease,transform .26s var(--bp-ease)}.language-suggestion[hidden]{display:none}.language-suggestion.is-visible{opacity:1;transform:translateY(0)}.language-suggestion__mark{display:grid;align-self:start;width:4.25rem;height:4.25rem;place-content:center;color:var(--bp-deep);background:var(--bp-acid);border-radius:50%;text-align:center;transform:rotate(-5deg)}.language-suggestion__mark span,.language-suggestion__mark i{font-size:.78rem;font-weight:850;line-height:1;font-style:normal}.language-suggestion__mark i{margin-top:.2rem;font-family:serif}.language-suggestion__copy{min-width:0}.language-suggestion__eyebrow{margin:0 0 .55rem;color:var(--bp-acid);font-size:.55rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.language-suggestion h2{margin:0;font-size:clamp(1.35rem,3vw,2.15rem);font-weight:650;line-height:.95;text-transform:uppercase}.language-suggestion__copy>p:not(.language-suggestion__eyebrow){max-width:27rem;margin:.8rem 0 0;color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.55}.language-suggestion__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.15rem}.language-suggestion__actions .button{min-height:2.85rem;padding:0 1rem;font-size:.58rem}.language-suggestion__actions button{padding:.4rem 0;color:var(--bp-white);background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.55);cursor:pointer;font:inherit;font-size:.58rem;font-weight:750;text-transform:uppercase}.language-suggestion__actions button:hover,.language-suggestion__actions button:focus-visible{color:var(--bp-acid);border-color:var(--bp-acid)}.language-suggestion__close{align-self:start;display:grid;width:2.5rem;height:2.5rem;place-items:center;padding:0;color:var(--bp-white);background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;font-size:1.35rem;line-height:1}.language-suggestion__close:hover,.language-suggestion__close:focus-visible{color:var(--bp-deep);background:var(--bp-acid);border-color:var(--bp-acid);outline:0}@media(max-width:600px){.language-suggestion{grid-template-columns:3.25rem minmax(0,1fr) 2.25rem;gap:.75rem;padding:1rem}.language-suggestion__mark{width:3.25rem;height:3.25rem}.language-suggestion__close{width:2.25rem;height:2.25rem}.language-suggestion__actions{align-items:flex-start;flex-direction:column}.language-suggestion__actions .button{width:100%;justify-content:space-between}}
.language-suggestion__mark,.language-suggestion__actions .button-acid,.language-suggestion__close:hover,.language-suggestion__close:focus-visible{color:var(--bp-white)}
.language-suggestion__languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:1.15rem}.language-suggestion__languages a{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;min-height:3.1rem;padding:.65rem .8rem;color:var(--bp-white);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);text-decoration:none;transition:border-color .2s,background .2s}.language-suggestion__languages a:hover,.language-suggestion__languages a:focus-visible{background:rgba(255,255,255,.14);border-color:var(--bp-white);outline:0}.language-suggestion__languages a.is-suggested{background:var(--bp-acid);border-color:var(--bp-acid)}.language-suggestion__languages a.is-current{border-color:rgba(255,255,255,.6)}.language-suggestion__languages strong{font-size:.66rem;text-transform:uppercase}.language-suggestion__languages span{font-size:.48rem;font-weight:750;letter-spacing:.06em;text-align:right;text-transform:uppercase}.language-suggestion__actions{margin-top:.8rem}.language-suggestion__actions button{margin-left:auto}@media(max-width:600px){.language-suggestion__languages{grid-template-columns:1fr}.language-suggestion__actions{align-items:flex-end}.language-suggestion__actions button{margin-left:0}}
.language-suggestion{max-height:calc(100svh - 2rem);overflow:auto}
.language-suggestion{top:50%;right:auto;bottom:auto;left:50%;background:#050a08;transform:translate(-50%,calc(-50% + 1.25rem))}.language-suggestion.is-visible{transform:translate(-50%,-50%)}
.language-suggestion.is-visible{box-shadow:0 0 0 100vmax rgba(0,0,0,.72),0 1.5rem 4rem rgba(0,0,0,.55)}

:root {
	--bp-ink: #172a24;
	--bp-deep: #0c1713;
	--bp-paper: #f3f0e9;
	--bp-white: #fffdf8;
	--bp-acid: #ef0302;
	--bp-coral: #403a3a;
	--bp-blue: #95d8f3;
	--bp-orange: #b90201;
	--bp-lavender: #c9c0ff;
	--bp-line: rgba(23, 42, 36, .2);
	--bp-page: clamp(1.25rem, 3.2vw, 4.5rem);
	--bp-section: clamp(5rem, 9vw, 9.5rem);
	--bp-pill: 999px;
	--bp-radius: 1.25rem;
	--bp-ease: cubic-bezier(.2, .75, .25, 1);
	--bp-header-top: clamp(.75rem, 2vw, 2rem);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--bp-ink);
	background: var(--bp-paper);
	font-family: "BP Inter", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

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

a {
	color: inherit;
	text-decoration: none;
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}

/* Keep interface, card, breadcrumb and call-to-action links unlined site-wide. */
body a {
	text-decoration: none !important;
}

/* Inline links inside editorial copy retain a clear text-link affordance. */
.entry-content :is(p, li) a:not(.button):not(.text-link) {
	text-decoration: underline !important;
}

button,
input,
select,
textarea {
	color: inherit;
	font: inherit;
}

h1,
h2,
h3,
h4 {
	margin-top: 0;
	letter-spacing: -.055em;
	line-height: .94;
}

p {
	margin-top: 0;
}

:focus-visible {
	outline: 3px solid var(--bp-orange);
	outline-offset: 4px;
}

.layout-wide {
	width: min(100%, 1600px);
	margin-inline: auto;
}

.layout-content {
	width: min(100%, 1000px);
	margin-inline: auto;
}

.section-pad {
	padding: var(--bp-section) var(--bp-page);
}

.eyebrow {
	margin-bottom: 1.25rem;
	font-size: .72rem;
	font-weight: 780;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.skip-link {
	position: fixed;
	z-index: 1000;
	top: .75rem;
	left: .75rem;
	padding: .75rem 1rem;
	color: var(--bp-deep);
	background: var(--bp-white);
	border-radius: .5rem;
	transform: translateY(-180%);
}

.skip-link:focus {
	transform: none;
}

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

.site-header {
	position: fixed;
	z-index: 100;
	top: var(--bp-header-top);
	left: var(--bp-page);
	right: var(--bp-page);
	display: grid;
	grid-template-columns: minmax(7rem, 1fr) auto;
	align-items: center;
	min-height: 5rem;
	padding: .75rem 1rem;
	color: #e6e5dd;
	background: #1f1e1d;
	border-radius: .55rem;
	box-shadow: 0 .8rem 2.5rem rgba(0, 0, 0, .12);
	transition: top .3s var(--bp-ease), min-height .3s var(--bp-ease);
}

.admin-bar .site-header {
	top: calc(var(--bp-header-top) + 32px);
}

.site-header.is-scrolled {
	top: .55rem;
	min-height: 4.5rem;
}

.admin-bar .site-header.is-scrolled {
	top: calc(.55rem + 32px);
}

.site-header__brand {
	min-width: 0;
}

.brand,
.custom-logo-link {
	display: block;
	width: 5.9rem;
	height: 3.35rem;
	overflow: hidden;
	line-height: 0;
}

.brand-logo,
.custom-logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.desktop-nav {
	display: none;
}

.desktop-nav ul,
.mobile-nav ul,
.footer-menu,
.legal-menu,
.language-switcher ul,
.footer-locations ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.desktop-nav .primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(.35rem, 1vw, 1.35rem);
}

.desktop-nav .menu-item {
	position: relative;
}

.desktop-nav .menu-item > a {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: 1rem .3rem;
	color: #e6e5dd;
	font-size: clamp(.64rem, .76vw, .8rem);
	font-weight: 760;
	letter-spacing: -.01em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.desktop-nav .menu-item-has-children > a::after {
	content: "";
	width: .4rem;
	height: .4rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-.1rem) rotate(45deg);
	transition: transform .3s var(--bp-ease);
}

.desktop-nav .menu-item:hover > a,
.desktop-nav .menu-item:focus-within > a,
.desktop-nav .current-menu-item > a,
.desktop-nav .current-menu-ancestor > a {
	color: var(--bp-orange);
}

.desktop-nav .menu-item-has-children.dropdown-open > a::after {
	transform: translateY(.12rem) rotate(225deg);
}

.desktop-nav .sub-menu {
	position: absolute;
	top: calc(100% - .1rem);
	left: 50%;
	width: min(25rem, 85vw);
	padding: 1.2rem 1.7rem;
	color: #363633;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	clip-path: inset(0 0 100% 0 round 1rem);
	transform: translateX(-50%) translateY(-.65rem);
	transform-origin: top center;
	transition: opacity .22s, visibility .22s, clip-path .42s var(--bp-ease), transform .42s var(--bp-ease);
}

.desktop-nav .sub-menu::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: .8rem;
}

.desktop-nav .menu-item.dropdown-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	clip-path: inset(0 0 0 0 round 1rem);
	transform: translateX(-50%) translateY(0);
}

.desktop-nav .sub-menu li + li {
	border-top: 1px solid #c8c7c1;
}

.desktop-nav .sub-menu a {
	display: flex;
	min-height: 3.2rem;
	align-items: center;
	padding: .35rem 0;
	color: #363633;
	font-size: .86rem;
	text-decoration: none;
}

/* POC-inspired catalogue navigation: a calm, full-width category canvas. */
@media (min-width: 960px) {
	.desktop-nav .menu-item-shop-mega {
		position: static;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu {
		top: 100%;
		left: 0;
		display: grid;
		width: 100%;
		max-height: min(72vh, 42rem);
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2.5rem clamp(1.5rem, 3vw, 4rem);
		padding: clamp(2rem, 3.5vw, 3.75rem);
		overflow-y: auto;
		background: #f4f3ed;
		border-radius: .55rem;
		transform: translateY(-.65rem);
	}

	.desktop-nav .menu-item-shop-mega.dropdown-open > .sub-menu {
		transform: none;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li {
		border: 0;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li > a {
		min-height: 0;
		padding: 0 0 .9rem;
		color: #1f1e1d;
		border-bottom: 1px solid #b8b7b1;
		font-size: clamp(.92rem, 1.05vw, 1.15rem);
		font-weight: 780;
		letter-spacing: -.02em;
		text-transform: uppercase;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > .bikepoint-shop-home-item > a {
		color: var(--bp-orange);
	}

	.desktop-nav .menu-item-shop-mega .sub-menu .sub-menu {
		position: static;
		display: block;
		width: auto;
		padding: .75rem 0 0;
		background: transparent;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		clip-path: none;
		transform: none;
		pointer-events: auto;
	}

	.desktop-nav .menu-item-shop-mega .sub-menu .sub-menu li {
		border: 0;
	}

	.desktop-nav .menu-item-shop-mega .sub-menu .sub-menu a {
		min-height: 0;
		padding: .38rem 0;
		color: #5b5a55;
		font-size: .78rem;
		font-weight: 620;
		text-transform: none;
	}

	.desktop-nav .menu-item-shop-mega .sub-menu a:hover,
	.desktop-nav .menu-item-shop-mega .sub-menu a:focus-visible {
		color: var(--bp-orange);
	}

	/* Department rail on the left, active category contents on the right. */
	.desktop-nav .menu-item-shop-mega > .sub-menu {
		display: block;
		min-height: 32rem;
		max-height: none;
		padding: 1.5rem 57% 2rem 1.5rem;
		overflow: visible;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li {
		width: 100%;
		margin: 0;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li > a {
		padding: .72rem .35rem;
		border: 1px solid transparent;
		font-size: clamp(.95rem, 1.3vw, 1.25rem);
		font-weight: 520;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li:hover > a,
	.desktop-nav .menu-item-shop-mega > .sub-menu > li:focus-within > a {
		color: #1f1e1d;
		border-color: #1f1e1d;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li > .sub-menu {
		position: absolute;
		top: 0;
		right: 0;
		left: 43%;
		display: grid;
		width: auto;
		height: 100%;
		align-content: start;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .25rem 2.25rem;
		padding: 1.75rem 2rem;
		overflow: visible;
		border-left: 1px solid #d7d6d0;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		z-index: 1;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li:hover > .sub-menu,
	.desktop-nav .menu-item-shop-mega > .sub-menu > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		z-index: 5;
	}

	.desktop-nav .menu-item-shop-mega > .sub-menu > li > .sub-menu a {
		padding: .65rem 0;
		font-size: .82rem;
		font-weight: 680;
		text-transform: uppercase;
	}
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .65rem;
}

.header-cart {
	position: relative;
}

.header-cart__link {
	position: relative;
	display: grid;
	width: 3.1rem;
	height: 3.1rem;
	place-items: center;
	color: #1f1e1d;
	background: #e6e5dd;
	border-radius: 50%;
	text-decoration: none;
	transition: color .22s, background .22s;
}

.header-cart__link:hover,
.header-cart__link[aria-expanded="true"] {
	color: #fff2e0;
	background: #eb8900;
}

.header-cart__count {
	position: absolute;
	top: -.2rem;
	right: -.2rem;
	display: grid;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 .25rem;
	place-items: center;
	color: #1f1e1d;
	background: var(--bp-acid);
	border: 2px solid #1f1e1d;
	border-radius: 1rem;
	font-size: .65rem;
	font-weight: 800;
	line-height: 1;
}

.header-cart__count[hidden] {
	display: none;
}

.header-cart__panel {
	position: absolute;
	top: calc(100% + .75rem);
	right: 0;
	width: min(22rem, calc(100vw - 2rem));
	padding: 1rem;
	color: #363633;
	background: #e6e5dd;
	border-radius: 1rem;
	box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .22);
}

.header-cart__panel[hidden] {
	display: none;
}

.header-cart__status {
	margin: 0;
	font-size: .85rem;
}

.header-cart__items {
	max-height: min(24rem, 55vh);
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.header-cart__items li {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: .8rem;
	align-items: center;
	padding: .7rem 0;
	border-bottom: 1px solid #c8c7c1;
}

.header-cart__items img {
	width: 3.5rem;
	height: 3.5rem;
	object-fit: cover;
	border-radius: .4rem;
}

.header-cart__items a {
	display: block;
	color: inherit;
	font-size: .82rem;
	font-weight: 750;
	text-decoration: none;
}

.header-cart__items span {
	display: block;
	margin-top: .2rem;
	font-size: .75rem;
}

.header-cart__total {
	display: flex;
	justify-content: space-between;
	margin: .9rem 0;
	font-size: .82rem;
}

.header-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
}

.header-cart__buttons--single {
	grid-template-columns: 1fr;
	margin-top: .8rem;
}

.header-cart__buttons a {
	padding: .7rem;
	color: #e6e5dd;
	background: #1f1e1d;
	border-radius: var(--bp-pill);
	font-size: .68rem;
	font-weight: 760;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.header-cart__buttons a:last-child {
	color: #1f1e1d;
	background: var(--bp-acid);
}

.nav-cta,
.menu-toggle,
.button {
	display: inline-flex;
	min-height: 3.1rem;
	align-items: center;
	justify-content: center;
	gap: 1.3rem;
	padding: 0 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--bp-pill);
	font-size: .72rem;
	font-weight: 760;
	letter-spacing: .02em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .22s, background .22s, border-color .22s, transform .22s;
}

.nav-cta {
	display: none;
	color: #1f1e1d;
	background: #e6e5dd;
}

.nav-cta:hover,
.menu-toggle:hover {
	color: #fff2e0;
	background: #eb8900;
}

.menu-toggle {
	width: 3.1rem;
	padding-right: 0;
	padding-left: 0;
	color: #1f1e1d;
	background: #e6e5dd;
	border-radius: 50%;
	cursor: pointer;
}

.menu-icon {
	display: grid;
	width: 1rem;
	gap: .2rem;
}

.menu-icon i {
	display: block;
	height: 1px;
	background: currentColor;
	transition: opacity .25s, transform .25s;
}

.menu-open .menu-icon i:first-child {
	transform: translateY(.27rem) rotate(45deg);
}

.menu-open .menu-icon i:nth-child(2) {
	opacity: 0;
}

.menu-open .menu-icon i:last-child {
	transform: translateY(-.27rem) rotate(-45deg);
}

.menu-panel {
	position: fixed;
	z-index: 90;
	top: calc(var(--bp-header-top) + 5.75rem);
	left: var(--bp-page);
	right: var(--bp-page);
	height: calc(100dvh - var(--bp-header-top) - 6.5rem);
	padding: clamp(1.25rem, 3vw, 2rem);
	color: #e6e5dd;
	background: #1f1e1d;
	border-radius: .55rem;
	opacity: 0;
	visibility: hidden;
	clip-path: inset(0 0 100% 0 round .55rem);
	transform: translateY(-.65rem);
	transition: opacity .25s, visibility .25s, clip-path .48s var(--bp-ease), transform .48s var(--bp-ease);
}

.admin-bar .menu-panel {
	top: calc(var(--bp-header-top) + 5.75rem + 32px);
}

.menu-panel.is-open {
	opacity: 1;
	visibility: visible;
	clip-path: inset(0 0 0 0 round .55rem);
	transform: none;
}

.mobile-nav {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: space-between;
}

.mobile-nav__scroll {
	overflow-y: auto;
}

.mobile-nav .primary-menu > .menu-item {
	position: relative;
	border-bottom: 1px solid #363633;
}

.mobile-nav .primary-menu > .menu-item > a {
	display: block;
	padding: 1rem 3.25rem 1rem 0;
	color: #e6e5dd;
	font-size: clamp(1.35rem, 4vw, 2rem);
	font-weight: 760;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.submenu-toggle {
	position: absolute;
	top: .55rem;
	right: 0;
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	padding: 0;
	color: #e6e5dd;
	background: transparent !important;
	border: 0;
	box-shadow: none;
	cursor: pointer;
}

.submenu-toggle:hover,
.submenu-toggle:focus-visible {
	color: var(--bp-acid);
	background: transparent !important;
}

.submenu-toggle::before {
	content: "";
	width: .7rem;
	height: .7rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-.15rem) rotate(45deg);
	transition: transform .3s var(--bp-ease);
}

.submenu-toggle[aria-expanded="true"]::before {
	transform: translateY(.15rem) rotate(225deg);
}

.mobile-nav .sub-menu {
	max-height: 0;
	overflow: hidden;
	transition: max-height .45s var(--bp-ease), padding .35s var(--bp-ease);
}

.mobile-nav .sub-menu.is-open {
	max-height: 32rem;
	padding-bottom: .85rem;
}

.mobile-nav .primary-menu > .menu-item:not(.menu-item-shop-mega) > .sub-menu.is-open {
	margin-bottom: .85rem;
	padding: .45rem 1rem;
	border-radius: .85rem;
	background: #fff;
}

.mobile-nav .primary-menu > .menu-item:not(.menu-item-shop-mega) > .sub-menu a {
	color: #363633;
}

.mobile-nav .sub-menu li {
	min-height: 0;
}

.mobile-nav .sub-menu a {
	display: block;
	padding: .48rem 0;
	color: #c8c7c1;
	font-size: .82rem;
	font-weight: 680;
	text-decoration: none;
	text-transform: uppercase;
}

.mobile-nav .menu-item-shop-mega > .sub-menu > li {
	position: relative;
	border-top: 1px solid #363633;
}

.mobile-nav .menu-item-shop-mega > .sub-menu > li > a {
	padding: .8rem 3rem .8rem 0;
	color: #e6e5dd;
	font-size: .98rem;
}

.mobile-nav .menu-item-shop-mega .sub-menu .sub-menu {
	padding-left: 1rem;
	border-left: 1px solid #595851;
}

.mobile-nav .menu-item-shop-mega .sub-menu .sub-menu.is-open {
	padding-bottom: .75rem;
}

.bpmenu-mega { display: none; color:#171717; background:#fff; }

.mobile-nav .bpmenu-mega.is-open {
	display: block;
	padding: .5rem 0 1rem;
}

.mobile-nav .bpmenu-main {
	display: block;
}

.mobile-nav .bpmenu-main ul { margin:0; padding:0; list-style:none; }
.mobile-nav .bpmenu-main > ul > li { border-bottom:1px solid #dededb; }
.mobile-nav .bpmenu-main > ul > li > a { position:relative; display:block; padding:1rem 2rem 1rem 0; color:#171717; font-size:.95rem; font-weight:750; text-transform:uppercase; }
.mobile-nav .bpmenu-main > ul > li > a::after { position:absolute; top:50%; right:.25rem; width:.55rem; height:.55rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; content:""; transform:translateY(-70%) rotate(45deg); transition:transform .2s var(--bp-ease); }
.mobile-nav .bpmenu-main > ul > li.mobile-accordion-open > a::after { transform:translateY(-20%) rotate(225deg); }

.mobile-nav .bpmenu-sub {
	padding:.25rem 0 0 1rem;
	border-left:1px solid #dededb;
}

.mobile-nav .bpmenu-panel {
	display:block;
	padding:.75rem 0 1rem 1rem;
}

.mobile-nav .bpmenu-panel[hidden] { display:none; }

.mobile-nav .bpmenu-panel + .bpmenu-panel {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #363633;
}

.mobile-nav .bpmenu-panel h3 {
	margin:0 0 .5rem;
	font-size:.85rem;
}

.mobile-nav .bpmenu-panel h3 a,
.mobile-nav .bpmenu-panel__links a {
	display: block;
	padding:.55rem 0;
	color:#272725;
	font-size:.78rem;
}

.mobile-nav .bpmenu-panel h3 a {
	font-weight: 800;
	text-transform: uppercase;
}

.mobile-nav .bpmenu-panel__parent {
	font-weight: 750;
}

.mobile-nav .bpmenu-panel__links {
	display: block;
}

.mobile-nav .bpmenu-panel__group {
	display: block;
}

.mobile-nav .bpmenu-panel__children {
	display: block;
	padding: .1rem 0 .45rem 1rem;
	border-left: 1px solid #dededb;
}

.mobile-nav .bpmenu-panel__children a {
	color: #656561;
	font-size: .74rem;
	font-weight: 520;
}

@media (min-width: 960px) {
	.desktop-nav .menu-item-shop-mega { position: static; }
	.desktop-nav .menu-item-shop-mega > a { position:relative; }
	.desktop-nav .menu-item-shop-mega > a::before { position:absolute; top:calc(100% - .25rem); left:0; width:100%; height:1rem; content:""; }
	.desktop-nav .menu-item-shop-mega > .bpmenu-mega {
		position:absolute; top:100%; right:0; left:0; z-index:30; display:flex; min-height:34rem;
		color:#171717; background:#fff; border-radius:.55rem; box-shadow:0 1.5rem 3rem rgba(0,0,0,.18);
		opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-.5rem); transition:opacity .2s,visibility .2s,transform .3s var(--bp-ease);
	}
	.desktop-nav .menu-item-shop-mega.dropdown-open > .bpmenu-mega { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
	.desktop-nav .bpmenu-main { flex:0 0 clamp(15rem,22vw,22rem); padding:2.25rem 2rem; border-right:1px solid #dededb; }
	.desktop-nav .bpmenu-main ul { display:grid; gap:.35rem; }
	.desktop-nav .bpmenu-main li { margin:0; }
	.desktop-nav .bpmenu-main a { display:block; padding:.2rem 0; border:0; color:#555552; font-size:clamp(1.6rem,2.35vw,2.5rem); font-weight:520; line-height:1.04; letter-spacing:-.04em; text-decoration:none; text-transform:none; white-space:normal; }
	.desktop-nav .bpmenu-main li.active a { color:#171717; font-weight:680; }
	.desktop-nav .bpmenu-sub { position:relative; flex:1 1 auto; min-width:0; padding:2.5rem clamp(2rem,4vw,4.5rem); }
	.desktop-nav .bpmenu-panel { display:none; }
	.desktop-nav .bpmenu-panel.active { display:block; }
	.desktop-nav .bpmenu-panel h3 { margin:0 0 2rem; font-size:1.15rem; text-transform:uppercase; }
	.desktop-nav .bpmenu-panel h3 a { color:#1f1e1d; text-decoration:none; }
	.desktop-nav .bpmenu-panel__links { display:grid; width:max-content; max-width:100%; grid-template-columns:repeat(2,minmax(12rem,17rem)); gap:1.15rem clamp(1.5rem,2.5vw,2.5rem); }
	.desktop-nav .bpmenu-panel__links a { display:block; padding:.1rem 0; color:#242422; font-size:1rem; font-weight:650; line-height:1.3; text-decoration:none; text-transform:none; white-space:normal; }
	.desktop-nav .bpmenu-panel__links a:hover,
	.desktop-nav .bpmenu-panel__links a:focus-visible { color:var(--bp-orange); }
	.desktop-nav .bpmenu-panel__group { break-inside:avoid; }
	.desktop-nav .bpmenu-panel__parent { font-weight:680; }
	.desktop-nav .bpmenu-panel__children { display:grid; gap:.25rem; padding:.4rem 0 0; }
	.desktop-nav .bpmenu-panel__children a { color:#676762; font-size:.9rem; font-weight:450; line-height:1.35; }
}

.desktop-nav .sub-menu li > a,
.desktop-nav .sub-menu li.nolink {
	font-family: "BP Inter", Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	text-transform: none;
}

.no-js .mobile-nav .sub-menu {
	display: block;
	max-height: none;
}

.no-js .site-header {
	position: static;
	display: block;
	margin: var(--bp-header-top) var(--bp-page);
}

.no-js .desktop-nav {
	display: block;
	margin-top: 1rem;
}

.no-js .desktop-nav .primary-menu {
	flex-wrap: wrap;
}

.no-js .desktop-nav .sub-menu {
	position: static;
	width: 100%;
	padding: .5rem 1rem;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	clip-path: none;
	transform: none;
}

.no-js .menu-toggle,
.no-js .menu-panel {
	display: none;
}

.mobile-nav__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1rem;
}

.language-switcher ul {
	display: flex;
	gap: .45rem;
}

.language-switcher a {
	display: grid;
	width: 2.4rem;
	height: 2.4rem;
	place-items: center;
	color: inherit;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: .64rem;
	font-weight: 750;
	text-decoration: none;
	opacity: .65;
}

.language-switcher a[aria-current="page"],
.language-switcher a:hover {
	opacity: 1;
	color: var(--bp-deep);
	background: var(--bp-acid);
	border-color: var(--bp-acid);
}

.language-picker {
	position: relative;
	width: max-content;
	max-width: 100%;
	margin-top: 1.5rem;
	color: var(--bp-deep);
	font-size: .78rem;
}

.language-picker__button {
	display: flex;
	min-height: 2.65rem;
	align-items: center;
	gap: .6rem;
	padding: .55rem .9rem;
	border: 0;
	border-radius: var(--bp-pill);
	color: var(--bp-deep);
	background: #f0f0ed;
	cursor: pointer;
	font: inherit;
	font-weight: 650;
	text-align: left;
	transition: background .2s ease, box-shadow .2s ease;
}

.language-picker__button:hover,
.language-picker__button[aria-expanded="true"] {
	background: #deded9;
}

.language-picker__button:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(216, 255, 79, .55);
}

.language-picker__button > svg:first-child {
	flex: 0 0 auto;
	color: #686863;
}

.language-picker__chevron {
	flex: 0 0 auto;
	margin-left: .2rem;
	transition: transform .2s ease;
}

.language-picker__button[aria-expanded="true"] .language-picker__chevron {
	transform: rotate(180deg);
}

.language-picker__options {
	position: absolute;
	z-index: 20;
	left: 0;
	bottom: calc(100% + .55rem);
	width: min(16rem, calc(100vw - 2.5rem));
	margin: 0;
	padding: .35rem;
	border: 1px solid rgba(23, 42, 36, .14);
	border-radius: .85rem;
	background: var(--bp-white);
	box-shadow: 0 1rem 2.5rem rgba(12, 23, 19, .22);
	list-style: none;
}

.language-picker__options[hidden] {
	display: none;
}

.language-picker__options a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .7rem .8rem;
	border-radius: .6rem;
	color: var(--bp-deep);
	text-decoration: none;
}

.language-picker__options a:hover,
.language-picker__options a:focus-visible,
.language-picker__options a[aria-current="page"] {
	outline: 0;
	background: #f0f0ed;
}

.language-picker__options a[aria-current="page"] {
	font-weight: 750;
}

.language-picker__options small {
	color: #71716c;
	font-size: .62rem;
	font-weight: 750;
	letter-spacing: .08em;
}

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

.button-dark {
	color: var(--bp-white);
	background: var(--bp-deep);
}

.button-light {
	color: var(--bp-ink);
	background: var(--bp-white);
}

.button-acid {
	color: var(--bp-ink);
	background: var(--bp-acid);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 1.75rem;
	padding: .35rem 0 .5rem;
	border-bottom: 1px solid currentColor;
	font-size: .78rem;
	font-weight: 720;
	text-decoration: none;
}

.text-link-light {
	color: var(--bp-white);
}

.button-row,
.button-stack {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.button-stack {
	align-items: flex-start;
	flex-direction: column;
}

.site-main {
	min-height: 65vh;
}

.home-hero,
.page-hero {
	position: relative;
	overflow: hidden;
	color: var(--bp-white);
	background:
		radial-gradient(circle at 80% 20%, rgba(216, 255, 79, .18), transparent 28%),
		linear-gradient(135deg, var(--bp-ink), var(--bp-deep));
}

.home-hero {
	min-height: min(940px, calc(100svh - 2.25rem));
}

.home-hero__media,
.home-hero__wash,
.page-hero__media,
.page-hero__wash {
	position: absolute;
	inset: 0;
}

.home-hero__media img,
.page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-hero__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.home-hero__media img {
	transform: scale(1.03);
}

.home-hero__wash,
.page-hero__wash {
	background: linear-gradient(90deg, rgba(12, 23, 19, .9), rgba(12, 23, 19, .18) 75%), linear-gradient(0deg, rgba(12, 23, 19, .72), transparent 55%);
}

.home-hero__wash {
	background: linear-gradient(90deg, rgba(6, 17, 13, .74) 0%, rgba(6, 17, 13, .19) 58%, rgba(6, 17, 13, .27) 100%), linear-gradient(0deg, rgba(6, 17, 13, .52), transparent 45%);
}

.home-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: min(940px, calc(100svh - 2.25rem));
	flex-direction: column;
	justify-content: flex-end;
	padding: 10rem var(--bp-page) 5.5rem;
}

.home-hero h1 {
	max-width: 11ch;
	margin: 0 0 clamp(2rem, 5vw, 4.5rem);
	font-size: clamp(4rem, 9.4vw, 9.2rem);
	font-weight: 580;
	line-height: .94;
}

.home-hero h1 em {
	color: var(--bp-acid);
}

.home-hero__bottom {
	display: grid;
	grid-template-columns: minmax(16rem, 34rem) auto;
	align-items: end;
	gap: 3rem;
}

.home-hero__bottom > p {
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.page-hero {
	min-height: 42rem;
}

.page-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 42rem;
	flex-direction: column;
	justify-content: flex-end;
	padding: 11rem var(--bp-page) 4.5rem;
}

.page-hero h1,
.archive-hero h1,
.error-page h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(4rem, 9vw, 9rem);
	font-weight: 540;
	line-height: .82;
	text-transform: uppercase;
}

.page-hero__excerpt {
	max-width: 38rem;
	margin-top: 2rem;
	color: rgba(255, 253, 248, .78);
	font-size: 1.05rem;
}

.page-hero__excerpt p {
	margin: 0;
}

.archive-hero {
	padding-top: clamp(11rem, 18vw, 15rem);
	color: var(--bp-white);
	background: var(--bp-ink);
}

.archive-description {
	max-width: 42rem;
	margin-top: 2rem;
	color: rgba(255, 253, 248, .72);
}

.section-heading {
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.section-heading--split {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
}

.section-heading h2 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3rem, 7vw, 7rem);
	font-weight: 540;
	text-transform: uppercase;
}

.service-grid,
.card-grid,
.location-grid,
.content-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2.5rem);
}

.service-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-card {
	display: grid;
	min-height: clamp(17rem, 28vw, 29rem);
	grid-template-columns: 1fr auto;
	grid-template-rows: auto 1fr auto;
	padding: clamp(1.25rem, 2.5vw, 2.25rem);
	color: var(--bp-ink);
	text-decoration: none;
	transition: transform .35s var(--bp-ease);
}

.service-card:hover {
	transform: translateY(-.4rem);
}

.service-card span {
	font-family: Georgia, serif;
	font-size: .75rem;
	font-style: italic;
}

.service-card strong {
	grid-column: 1 / -1;
	align-self: end;
	font-size: clamp(2rem, 4vw, 4.5rem);
	letter-spacing: -.06em;
	line-height: .82;
	text-transform: uppercase;
}

.service-card i {
	font-style: normal;
}

.service-card--acid {
	background: var(--bp-acid);
}

.service-card--coral {
	background: var(--bp-coral);
}

.service-card--blue {
	background: var(--bp-blue);
}

.service-card--dark {
	color: var(--bp-white);
	background: var(--bp-ink);
}

.featured-content {
	background: #e6e5dd;
}

/* Prototype-aligned homepage. */
.front-page {
	--bp-section: clamp(5.5rem, 10vw, 10.5rem);
}

.front-page .layout-wide {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.front-page .section-heading h2,
.home-ride-card > strong,
.home-manifesto__copy h2,
.home-workshop__content h2,
.home-booking__copy h2 {
	text-transform: none;
}

.home .site-header {
	top: clamp(1rem, 2.4vw, 3rem);
	border-radius: .5rem;
}

.home .site-header.is-scrolled {
	top: clamp(.65rem, 1.4vw, 1.25rem);
}

.home-hero__coordinates {
	position: absolute;
	z-index: 2;
	top: 9rem;
	right: var(--bp-page);
	bottom: auto;
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-family: Georgia, serif;
	font-size: .7rem;
	font-style: italic;
	text-align: right;
}

.home-scroll-cue {
	position: absolute;
	z-index: 2;
	right: var(--bp-page);
	bottom: 2.2rem;
	left: auto;
	display: flex;
	align-items: center;
	gap: .8rem;
	color: var(--bp-white);
	font-size: .68rem;
	font-weight: 720;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.home-scroll-cue i {
	display: grid;
	width: 2.4rem;
	height: 2.4rem;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	font-style: normal;
}

.home-section-kicker {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--bp-line);
	font-size: .7rem;
	font-weight: 720;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.home-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(15rem, 1fr);
	align-items: end;
	gap: clamp(3rem, 7vw, 9rem);
	padding-top: 3.5rem;
}

.home-intro h2 {
	margin: 0;
	font-size: clamp(3.1rem, 7.5vw, 8.3rem);
	font-weight: 520;
	line-height: .94;
}

.home-intro__copy {
	max-width: 23rem;
	padding-bottom: .8rem;
}

.home-inline-image {
	display: inline-block;
	width: 1.35em;
	height: .66em;
	overflow: hidden;
	border-radius: 99rem;
	vertical-align: .03em;
}

.home-inline-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-intro__copy p,
.home-manifesto__copy > p,
.home-workshop > div:last-child > p,
.home-booking > div > p {
	font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.home-rides {
	background: #e7e3da;
}

.home-ride-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .85rem;
	margin-top: clamp(3rem, 7vw, 6.5rem);
}

.home-ride-card {
	position: relative;
	display: grid;
	overflow: hidden;
	min-height: 36rem;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto 1fr auto auto;
	padding: 1.4rem;
	color: var(--bp-ink);
	border-radius: 1.5rem;
	text-decoration: none;
	transition: transform .35s var(--bp-ease);
}

.home-ride-card:hover {
	transform: translateY(-.5rem);
}

.home-ride-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-ride-card--image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(8, 15, 13, .78), transparent 65%);
}

.home-ride-card > span,
.home-ride-card > strong,
.home-ride-card > p,
.home-ride-card > i {
	position: relative;
	z-index: 1;
}

.home-ride-card > span {
	font-family: Georgia, serif;
	font-size: .75rem;
	font-style: italic;
}

.home-ride-card > strong {
	grid-column: 1 / -1;
	align-self: end;
	min-width: 0;
	max-width: 100%;
	font-size: clamp(2.2rem, 3.25vw, 4.25rem);
	font-weight: 540;
	hyphens: auto;
	letter-spacing: -.06em;
	line-height: .94;
	overflow-wrap: anywhere;
	text-wrap: balance;
	text-transform: uppercase;
}

.home-ride-card > p {
	max-width: 13rem;
	margin: 1rem 0 0;
	font-size: .8rem;
}

.home-ride-card > i {
	grid-column: 2;
	grid-row: 4;
	align-self: end;
	font-style: normal;
}

.home-ride-card--image,
.home-ride-card--dark {
	color: var(--bp-white);
}

.home-ride-card--dark > strong {
	font-size: clamp(2.35rem, 3.3vw, 4rem);
}

.home-ride-card--acid { color: var(--bp-white); background: var(--bp-acid); }
.home-ride-card--coral { color: var(--bp-white); background: var(--bp-coral); }
.home-ride-card--dark { background: var(--bp-ink); }

.home-terrain-lines {
	position: absolute;
	inset: 18% -40% auto -30%;
	height: 46%;
	border: 1px solid var(--bp-ink);
	border-radius: 50%;
	box-shadow: 0 18px 0 -17px var(--bp-acid), 0 19px 0 -17px var(--bp-ink), 0 38px 0 -36px var(--bp-acid), 0 39px 0 -36px var(--bp-ink), 0 58px 0 -55px var(--bp-acid), 0 59px 0 -55px var(--bp-ink), 0 78px 0 -74px var(--bp-acid), 0 79px 0 -74px var(--bp-ink);
	transform: rotate(-18deg);
}

.home-sun-disc {
	position: absolute;
	top: 18%;
	left: 50%;
	width: 15rem;
	height: 15rem;
	border: 1px solid var(--bp-ink);
	border-radius: 50%;
	transform: translateX(-50%);
}

.home-sun-disc::before,
.home-sun-disc::after {
	content: "";
	position: absolute;
	background: var(--bp-ink);
}

.home-sun-disc::before { top: -40%; left: 50%; width: 1px; height: 180%; }
.home-sun-disc::after { top: 50%; left: -40%; width: 180%; height: 1px; }

.home-contour {
	position: absolute;
	inset: 10% -10% auto;
	width: 120%;
	height: 70%;
	fill: none;
	stroke: var(--bp-acid);
	stroke-width: 1.2;
}

.home-manifesto {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(3rem, 8vw, 10rem);
	color: var(--bp-white);
	background: var(--bp-ink);
}

.home-manifesto__copy h2,
.home-workshop h2,
.home-booking h2 {
	max-width: 10ch;
	margin: 0 0 2rem;
	font-size: clamp(3.5rem, 7vw, 7.5rem);
	font-weight: 520;
	line-height: .86;
	text-transform: uppercase;
}

.home-manifesto__copy h2 {
	font-size: clamp(4rem, 7.5vw, 8.4rem);
}

.home-manifesto__copy h2 em {
	color: var(--bp-lavender);
}

.home-manifesto__copy > p {
	max-width: 35rem;
}

.home-manifesto__image {
	position: relative;
	min-height: 42rem;
}

.home-manifesto__image > img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4; /* taller than wide */
    border-radius: 9999px; /* full pill */
    object-fit: cover;
}


.home-image-stamp {
	position: absolute;
	right: 4rem;
	bottom: 2rem;
	display: flex;
	width: 10rem;
	height: 10rem;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: var(--bp-ink);
	background: var(--bp-acid);
	border-radius: 50%;
	transform: rotate(7deg);
	font-size: .65rem;
	text-align: center;
	text-transform: uppercase;
}

.home-image-stamp strong {
	font-size: 2.5rem;
	line-height: 1;
}

.home-routes {
	background: var(--bp-paper);
}

.home-route-grid,
.home-bike-grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 1.25rem;
	margin-top: 4rem;
}

.home-route-card:nth-child(even) {
	margin-top: 8rem;
}

.home-route-card a,
.home-bike-card {
	display: block;
	text-decoration: none;
}

.home-route-card__image {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 1.5rem;
}

.home-route-card__image img,
.home-bike-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s var(--bp-ease);
}

.home-route-card:hover img,
.home-bike-card:hover img {
	transform: scale(1.035);
}

.home-route-card__copy {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: baseline;
	gap: 1.5rem;
	padding: 1.3rem .2rem 0;
}

.home-route-card h3 {
	margin: 0;
	font-size: 1.5rem;
}

.home-route-card__copy span {
	font-size: .72rem;
}

.home-route-tag {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: .6rem .9rem;
	color: var(--bp-ink);
	background: var(--bp-white);
	border-radius: var(--bp-pill);
	font-size: .67rem;
	font-weight: 700;
}

.home-workshop {
	overflow: hidden;
	color: var(--bp-ink);
	background: var(--bp-coral);
}

.home-workshop__marquee {
	display: flex;
	width: max-content;
	min-width: calc(100vw + 8rem);
	align-items: center;
	gap: 3vw;
	justify-content: space-around;
	margin-inline: -4rem;
	padding: 1.3rem 0;
	background: var(--bp-acid);
	transform: rotate(-1.5deg) translateY(-15%);
}

.home-workshop__marquee span {
	font-size: clamp(2rem, 5vw, 5rem);
	font-weight: 650;
	letter-spacing: -.05em;
	line-height: 1;
	white-space: nowrap;
}

.home-workshop__marquee i {
	font-size: 2rem;
	font-style: normal;
}

.home-workshop__content {
	display: grid;
	min-height: 45rem;
	grid-template-columns: 1.2fr .8fr;
	align-items: end;
	gap: 4rem;
}

.home-workshop__content h2 {
	font-size: clamp(4rem, 8vw, 9rem);
}

.home-workshop__content h2 em {
	color: var(--bp-ink);
}

.home-workshop__content > div:last-child {
	max-width: 28rem;
}

.home-workshop .button-outline-light {
	color: var(--bp-ink);
	border-color: var(--bp-ink);
}

.home-shop {
	background: var(--bp-paper);
}

.home-store {
	color: var(--bp-ink);
	background: var(--bp-paper);
}

.home-store-categories {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: clamp(4rem, 8vw, 8rem);
}

.home-store-category {
	position: relative;
	display: flex;
	min-height: clamp(23rem, 34vw, 38rem);
	overflow: hidden;
	align-items: flex-end;
	padding: 1.5rem;
	color: var(--bp-white);
	background: var(--bp-coral);
	border-radius: 1.25rem;
}

.home-store-category--2 { background: var(--bp-orange); }
.home-store-category--3 { background: var(--bp-acid); }
.home-store-category--4 { background: var(--bp-deep); }

.home-store-category::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 34%, rgba(23, 19, 19, .8) 100%);
	content: "";
}

.home-store-category img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	object-fit: cover;
	transition: transform .55s cubic-bezier(.2, .75, .25, 1);
}

.home-store-category:hover img,
.home-store-category:focus-visible img {
	transform: scale(1.045);
}

.home-store-category > span,
.home-store-category > strong,
.home-store-category > i {
	position: relative;
	z-index: 1;
}

.home-store-category > span {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .08em;
}

.home-store-category > strong {
	max-width: calc(100% - 2.5rem);
	font-size: clamp(1.45rem, 2.2vw, 2.5rem);
	letter-spacing: -.04em;
	line-height: .95;
}

.home-store-category > i {
	margin-left: auto;
	font-size: 1.35rem;
	font-style: normal;
}

.home-products-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

.home-products-heading .eyebrow {
	margin: 0;
}

.home-products-controls {
	display: flex;
	gap: .5rem;
}

.home-products-controls button {
	display: grid;
	width: 2.9rem;
	height: 2.9rem;
	padding: 0;
	place-items: center;
	border: 1px solid var(--bp-ink);
	border-radius: 50%;
	color: var(--bp-ink);
	background: transparent;
	font: inherit;
	transition: color .2s, background .2s, transform .2s;
}

.home-products-controls button:hover,
.home-products-controls button:focus-visible {
	color: var(--bp-white);
	background: var(--bp-ink);
	transform: translateY(-2px);
}

.home-products-carousel {
	display: grid;
	grid-auto-columns: minmax(15rem, calc((100% - 3rem) / 4));
	grid-auto-flow: column;
	gap: 1rem;
	overflow-x: auto;
	padding-bottom: 1rem;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.home-product-card {
	min-width: 0;
	overflow: hidden;
	color: var(--bp-ink);
	background: #dfdddd;
	border-radius: 1rem;
	scroll-snap-align: start;
}

.home-product-card__image {
	position: relative;
	display: grid;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	place-items: center;
	background: #ffffff;
	border-radius: 1rem;
}

.home-product-card__image img {
	width: 100%;
	height: 100%;
	padding: clamp(.75rem, 1.5vw, 1.5rem);
	object-fit: contain;
	transition: transform .45s cubic-bezier(.2, .75, .25, 1);
}

.home-product-card:hover .home-product-card__image img,
.home-product-card:focus-visible .home-product-card__image img {
	transform: scale(1.035);
}

.home-product-card__image > span {
	position: absolute;
	top: .8rem;
	right: .8rem;
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	color: var(--bp-white);
	background: var(--bp-ink);
	border-radius: 50%;
}

.home-product-card__copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
	padding: 1rem 1rem 1.25rem;
}

.home-product-card__copy h3 {
	margin: 0;
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	line-height: 1.15;
}

.home-product-card__copy p {
	margin: 0;
	font-size: .92rem;
	font-weight: 750;
	white-space: nowrap;
}

.home-product-card__copy del {
	opacity: .55;
	font-size: .75rem;
}

.home-product-card__copy ins {
	color: var(--bp-acid);
	text-decoration: none;
}

.home-shop .home-bike-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 1.2rem;
}

.home-bike-card__image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 1.5rem;
}

.home-bike-card__image--coral { background: var(--bp-coral); }
.home-bike-card__image--acid { background: var(--bp-acid); }

.home-bike-card__image > span {
	position: absolute;
	z-index: 1;
	top: 1.25rem;
	left: 1.25rem;
	padding: .55rem .9rem;
	color: var(--bp-white);
	background: var(--bp-ink);
	border-radius: var(--bp-pill);
	font-size: .65rem;
	font-weight: 720;
	text-transform: uppercase;
}

.home-bike-card__image img {
	object-fit: contain;
	mix-blend-mode: multiply;
}

.home-bike-card__copy {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .25rem 1rem;
	padding: 1.2rem .2rem;
}

.home-bike-card__copy h3 {
	margin: 0;
	font-size: 1.55rem;
}

.home-bike-card__copy p {
	grid-column: 1;
	margin: 0;
	color: #5d6a65;
	font-size: .78rem;
}

.home-bike-card__copy strong {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: center;
}

.home-quote {
	display: grid;
	grid-template-columns: .5fr 2fr .5fr;
	color: var(--bp-ink);
	background: var(--bp-blue);
}

.home-quote > span {
	font-family: Georgia, serif;
	font-size: clamp(6rem, 15vw, 15rem);
	line-height: .65;
}

.home-quote blockquote {
	grid-column: 2;
	max-width: 65rem;
	margin: 0;
}

.home-quote blockquote p {
	font-family: Georgia, serif;
	font-size: clamp(2.4rem, 5vw, 5.7rem);
	letter-spacing: -.05em;
	line-height: .94;
}

.home-quote footer {
	font-size: .72rem;
	font-weight: 720;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.home-booking {
	position: relative;
	display: block;
	min-height: 48rem;
	overflow: hidden;
	background: var(--bp-lavender);
}

.home-booking__copy {
	position: relative;
	z-index: 2;
	max-width: 52rem;
	margin-left: auto;
}

.home-booking__copy h2 {
	font-size: clamp(4.3rem, 9vw, 9.4rem);
}

.home-booking__art {
	position: absolute;
	inset: 0 50% 0 0;
}

.home-booking__art i {
	position: absolute;
	width: clamp(18rem, 32vw, 34rem);
	aspect-ratio: 1;
	border: 1px solid rgba(23, 42, 36, .45);
	border-radius: 50%;
}

.home-booking__art i::before,
.home-booking__art i::after {
	content: "";
	position: absolute;
	inset: 50% 0 auto;
	height: 1px;
	background: rgba(23, 42, 36, .4);
}

.home-booking__art i::after { transform: rotate(90deg); }
.home-booking__art i:first-child { top: 16%; left: -8%; }
.home-booking__art i:last-child { top: 43%; left: 35%; }


.content-card,
.loop-entry,
.location-card {
	min-width: 0;
	background: var(--bp-white);
}

.content-card__media,
.loop-entry__media,
.location-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, #d8d6cf, #c5c2b9);
}

.content-card__media img,
.loop-entry__media img,
.location-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--bp-ease);
}

.content-card:hover .content-card__media img,
.loop-entry:hover .loop-entry__media img,
.location-card:hover .location-card__media img {
	transform: scale(1.03);
}

.content-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(135deg, transparent 48%, rgba(23, 42, 36, .18) 49%, rgba(23, 42, 36, .18) 51%, transparent 52%),
		var(--bp-acid);
}

.content-card__copy,
.loop-entry__copy,
.location-card__copy {
	padding: clamp(1.4rem, 3vw, 2.5rem);
}

.content-card h3,
.loop-entry h2,
.location-card h2 {
	margin-bottom: 1.25rem;
	font-size: clamp(2rem, 3.5vw, 3.75rem);
	text-transform: uppercase;
}

.content-card h3 a,
.loop-entry h2 a {
	text-decoration: none;
}

.content-card__copy > p,
.loop-entry__copy > p {
	color: #696964;
}

.hotel-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	color: #696964;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hotel-card__facilities {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin: 1.25rem 0;
	padding: 0;
	list-style: none;
}

.hotel-card__facilities li {
	padding: .35rem .65rem;
	background: #e6e5dd;
	font-size: .72rem;
}

.hotel-card__nearest {
	display: grid;
	margin: 1.25rem 0;
	padding-top: 1rem;
	border-top: 1px solid var(--bp-line);
}

.hotel-card__nearest span {
	font-size: .65rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hotel-card__nearest strong {
	color: var(--bp-ink);
}

.directory-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin: -2rem 0 2.5rem;
}

.directory-filters a {
	padding: .55rem .9rem;
	border: 1px solid var(--bp-line);
	border-radius: 999px;
	color: var(--bp-ink);
	font-size: .75rem;
	font-weight: 700;
	text-decoration: none;
}

.directory-filters a:hover,
.directory-filters a:focus-visible,
.directory-filters a[aria-current="page"] {
	border-color: var(--bp-ink);
	background: var(--bp-ink);
	color: var(--bp-white);
}

.tour-card__operator {
	margin-top: -.65rem;
	font-weight: 700;
}

.loop-entry {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	grid-column: 1 / -1;
}

.entry-content {
	font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.entry-content > * {
	max-width: 100%;
}

.entry-content h2 {
	margin-top: 2.5em;
	font-size: clamp(2.4rem, 5vw, 5rem);
}

.entry-content h3 {
	margin-top: 2em;
	font-size: clamp(1.7rem, 3vw, 3rem);
}

.entry-content a {
	font-weight: 650;
}

.entry-content .alignwide {
	width: min(1200px, calc(100vw - (2 * var(--bp-page))));
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.structured-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .5fr);
	align-items: start;
	gap: clamp(3rem, 8vw, 9rem);
}

.fact-panel {
	position: sticky;
	top: 7rem;
	padding: clamp(1.5rem, 3vw, 2.75rem);
	background: #e6e5dd;
}

.fact-panel > div:not(.button-stack) {
	padding: 1rem 0;
	border-bottom: 1px solid var(--bp-line);
}

.fact-panel span {
	display: block;
	margin-bottom: .3rem;
	color: #777670;
	font-size: .62rem;
	font-weight: 750;
	text-transform: uppercase;
}

.fact-panel strong {
	font-size: 1.2rem;
}

.fact-panel address,
.location-card address {
	margin-bottom: 1.5rem;
	font-style: normal;
}

.fact-list {
	display: grid;
	gap: .4rem;
	margin: .75rem 0 0;
	padding-left: 1.15rem;
}

.hotel-rider-note {
	margin-top: clamp(3rem, 7vw, 7rem);
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--bp-acid);
	color: var(--bp-ink);
}

.hotel-gallery {
	padding-top: 0;
}

.hotel-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(1rem, 2vw, 2rem);
}

.hotel-gallery__grid figure {
	margin: 0;
}

.hotel-gallery__grid img {
	display: block;
	width: 100%;
	height: auto;
}

.hotel-gallery__grid figcaption {
	padding-top: .65rem;
	color: #696964;
	font-size: .82rem;
}

.location-gallery {
	padding-top: 0;
}

.location-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(1rem, 2vw, 2rem);
}

.location-gallery__grid figure {
	margin: 0;
}

.location-gallery__grid img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.location-gallery__grid figcaption {
	padding-top: .65rem;
	color: #696964;
	font-size: .82rem;
}

.location-seasonal-hours {
	margin-bottom: var(--bp-section);
	color: var(--bp-white);
	background: var(--bp-deep);
}

.location-seasonal-hours h2 {
	max-width: 14ch;
	margin-bottom: 2rem;
	color: inherit;
	font-size: clamp(2.5rem, 6vw, 6rem);
	line-height: .9;
	text-transform: uppercase;
}

.location-seasonal-hours > div {
	max-width: 46rem;
	line-height: 1.8;
}

.location-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

.bikepoint-tour-enquiry,
.bikepoint-product-enquiry {
	margin-top: 3rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	background: #e6e5dd;
}

.bikepoint-booking {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: #e6e5dd;
}

.bikepoint-booking > header {
	margin-bottom: 2rem;
}

.bikepoint-booking > header h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.5rem, 6vw, 6rem);
	text-transform: uppercase;
}

.bikepoint-booking__selector {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.bikepoint-booking__selector label {
	grid-column: 1 / -1;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bikepoint-booking__selector select,
.bikepoint-booking__selector button {
	min-height: 3rem;
	padding: .7rem 1rem;
	border: 1px solid var(--bp-ink);
	background: var(--bp-white);
}

.bikepoint-booking__selector button {
	color: var(--bp-white);
	background: var(--bp-ink);
	font-weight: 700;
}

.bikepoint-booking__mount {
	width: 100%;
	min-height: 44rem;
	background: var(--bp-white);
}

.bikepoint-booking:has(.bikepoint-booking__mount:not(:empty)) .bikepoint-booking__loading {
	display: none;
}

.bikepoint-booking__fallback {
	margin: 1.25rem 0 0;
}

.workshop-services-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 3rem 0;
}

.workshop-services-grid > * {
	margin: 0;
	padding: clamp(1.5rem, 4vw, 3rem);
	background: #e6e5dd;
}

.workshop-services-grid > :first-child {
	background: var(--bp-acid);
}

.workshop-services-grid > :last-child {
	grid-column: 1 / -1;
	color: var(--bp-white);
	background: var(--bp-ink);
}

.bikepoint-tour-enquiry h2 {
	margin-bottom: 2rem;
	font-size: clamp(2.5rem, 5vw, 5rem);
}

.bikepoint-tour-enquiry form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.bikepoint-tour-enquiry form p {
	margin: 0;
}

.bikepoint-tour-enquiry form p:has(textarea),
.bikepoint-tour-enquiry form p:has([type="checkbox"]),
.bikepoint-tour-enquiry form button {
	grid-column: 1 / -1;
}

.bikepoint-tour-enquiry label {
	display: block;
	margin-bottom: .35rem;
	font-size: .72rem;
	font-weight: 700;
}

.bikepoint-tour-enquiry input:not([type="checkbox"]),
.bikepoint-tour-enquiry textarea {
	width: 100%;
	padding: .8rem 1rem;
	background: var(--bp-white);
	border: 1px solid #aaa9a3;
	border-radius: .35rem;
}

.bikepoint-tour-enquiry button {
	justify-self: start;
	min-height: 3.2rem;
	padding: 0 1.3rem;
	color: var(--bp-white);
	background: var(--bp-ink);
	border: 0;
	border-radius: var(--bp-pill);
	cursor: pointer;
}

.bikepoint-form-notice {
	padding: 1rem;
	border-left: .35rem solid var(--bp-ink);
}

.bikepoint-form-notice--success {
	background: var(--bp-acid);
}

.bikepoint-form-notice--error {
	background: #ffd0c7;
}

.pagination {
	padding: 0 var(--bp-page) var(--bp-section);
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.page-numbers {
	display: grid;
	min-width: 2.6rem;
	height: 2.6rem;
	place-items: center;
	padding: 0 .7rem;
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-pill);
	text-decoration: none;
}

.page-numbers.current {
	color: var(--bp-white);
	background: var(--bp-ink);
}

.empty-state {
	grid-column: 1 / -1;
	padding: 5rem 2rem;
	text-align: center;
	background: #e6e5dd;
}

.empty-state h2 {
	font-size: clamp(2.5rem, 5vw, 5rem);
}

.error-page {
	display: grid;
	min-height: 80svh;
	align-items: center;
	padding-top: 12rem;
}

.site-footer {
	padding: var(--bp-section) var(--bp-page) 2rem;
	color: var(--bp-white);
	background: var(--bp-deep);
}

.footer-cta {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 2rem;
	padding-bottom: clamp(4rem, 8vw, 8rem);
	border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.footer-cta .eyebrow {
	grid-column: 1 / -1;
}

.footer-cta h2 {
	margin: 0;
	font-size: clamp(4rem, 9vw, 9rem);
	font-weight: 530;
	text-transform: uppercase;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.1fr .75fr 1.15fr;
	gap: clamp(2rem, 6vw, 7rem);
	padding: clamp(3rem, 6vw, 6rem) 0;
}

.footer-brand .brand,
.footer-brand .custom-logo-link {
	width: 8rem;
	height: 5rem;
	margin-bottom: 1.5rem;
}

.footer-brand > p {
	max-width: 22rem;
	color: rgba(255, 255, 255, .65);
	font-size: .82rem;
}

.footer-label {
	margin-bottom: 1.2rem;
	color: rgba(255, 255, 255, .48);
	font-size: .63rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.footer-menu a,
.footer-locations a {
	display: inline-block;
	padding: .3rem 0;
	color: var(--bp-white);
	font-size: .82rem;
	text-decoration: none;
}

.footer-extra-links {
	display: grid;
	gap: .55rem;
	margin-top: 1rem;
}

.site-footer .footer-extra-links a {
	width: max-content;
	color: var(--bp-acid);
	font-size: .7rem;
	font-weight: 750;
	text-decoration: none;
	text-transform: uppercase;
}

.footer-locations li + li {
	margin-top: .75rem;
}

.footer-locations span {
	display: block;
	font-size: .82rem;
}

.footer-locations small {
	display: block;
	color: rgba(255, 255, 255, .5);
}

.footer-locations .footer-seasonal-hours-link {
	display: block;
	width: max-content;
	max-width: 100%;
	margin-top: .15rem;
	padding: .15rem 0;
	color: var(--bp-acid);
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .035em;
	text-decoration: underline;
	text-underline-offset: .2rem;
	text-transform: uppercase;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .2);
	color: rgba(255, 255, 255, .55);
	font-size: .65rem;
}

.footer-bottom p {
	margin: 0;
}

.legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.legal-menu a {
	color: inherit;
	text-decoration: none;
}

.site-footer--home {
	padding-bottom: 2rem;
}

.home-footer-top {
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-items: start;
	padding-bottom: 5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.home-footer-top .brand,
.home-footer-top .custom-logo-link {
	width: 8rem;
	height: 5.15rem;
}


.home-footer-top h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.4rem, 7vw, 7.8rem);
	font-weight: 520;
}

.home-footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.5fr;
	gap: 3rem;
	padding: 4rem 0 6rem 33.333%;
}

.home-footer-grid > * {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	min-width: 0;
	font-size: .83rem;
}

.home-footer-grid ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-footer-grid a {
	color: inherit;
	text-decoration: none;
}

@media (min-width: 960px) {
	.site-header {
		grid-template-columns: minmax(7rem, 1fr) auto minmax(7rem, 1fr);
	}

	.desktop-nav {
		display: block;
	}

	.menu-toggle,
	.menu-panel {
		display: none;
	}
}

@media (min-width: 1280px) {
	.nav-cta {
		display: inline-flex;
	}
}

@media (max-width: 959px) {
	.header-cart__panel {
		position: fixed;
		top: calc(var(--bp-header-top) + 5.75rem);
		left: var(--bp-page);
		right: var(--bp-page);
		width: auto;
		max-height: calc(100dvh - var(--bp-header-top) - 6.5rem);
		overflow-y: auto;
	}

	.site-header.is-scrolled .header-cart__panel {
		top: 5.3rem;
		max-height: calc(100dvh - 6rem);
	}

	.admin-bar .header-cart__panel {
		top: calc(var(--bp-header-top) + 5.75rem + 32px);
		max-height: calc(100dvh - var(--bp-header-top) - 6.5rem - 32px);
	}

	.admin-bar .site-header.is-scrolled .header-cart__panel {
		top: calc(5.3rem + 32px);
		max-height: calc(100dvh - 6rem - 32px);
	}
}

@media (max-width: 1050px) {
	.service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.home-ride-card {
		min-height: 31rem;
	}

	.home-store-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-products-carousel {
		grid-auto-columns: minmax(15rem, calc((100% - 1rem) / 2));
	}

	.card-grid,
	.location-grid,
	.content-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: calc(var(--bp-header-top) + 46px);
	}

	.admin-bar .site-header.is-scrolled {
		top: calc(.55rem + 46px);
	}

	.admin-bar .menu-panel {
		top: calc(var(--bp-header-top) + 5.75rem + 46px);
	}

	.admin-bar .header-cart__panel {
		top: calc(var(--bp-header-top) + 5.75rem + 46px);
		max-height: calc(100dvh - var(--bp-header-top) - 6.5rem - 46px);
	}

	.admin-bar .site-header.is-scrolled .header-cart__panel {
		top: calc(5.3rem + 46px);
		max-height: calc(100dvh - 6rem - 46px);
	}
}

@media (max-width: 760px) {
	.home-hero__bottom,
	.footer-cta,
	.footer-grid,
	.structured-layout,
	.loop-entry {
		grid-template-columns: 1fr;
	}

	.home-hero__bottom {
		align-items: start;
	}

	.home-hero__coordinates {
		display: none;
	}

	.home-scroll-cue {
		display: none;
	}

	.home-intro__grid,
	.home-manifesto,
	.home-quote {
		grid-template-columns: 1fr;
	}

	.home-intro__grid {
		padding-top: 2.5rem;
	}

	.home-intro__copy {
		margin-left: 0;
	}

	.home-ride-card {
		min-height: 29rem;
	}

	.home-manifesto__image {
		margin-left: 8%;
	}

	.home-image-stamp {
		right: 0;
	}

	.home-manifesto__image,
	.home-manifesto__image > img {
		min-height: 28rem;
	}

	.home-route-card:nth-child(even) {
		margin-top: 1rem;
	}

	.home-booking {
		min-height: 48rem;
		background: var(--bp-lavender);
	}

	.home-booking__art {
		inset: 0;
		opacity: .35;
	}

	.home-booking__copy {
		margin-left: 0;
	}

	.home-workshop__content {
		grid-template-columns: 1fr;
		align-content: center;
	}

	.home-store-categories {
		grid-template-columns: 1fr 1fr;
		gap: .7rem;
	}

	.home-store-category {
		min-height: 19rem;
		padding: 1rem;
	}

	.home-store-category > span {
		top: 1rem;
		left: 1rem;
	}

	.home-products-carousel {
		grid-auto-columns: minmax(15rem, 82%);
	}

	.home-route-card__copy {
		grid-template-columns: 1fr auto;
	}

	.home-route-card__copy h3 {
		grid-column: 1 / 3;
	}

	.home-quote > span,
	.home-quote blockquote {
		grid-column: 1;
	}

	.home-quote > span {
		font-size: 8rem;
	}

	.section-heading--split,
	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.home-footer-top {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.home-footer-grid {
		grid-template-columns: 1fr 1fr;
		padding-left: 0;
	}

	.home-footer-grid > :last-child {
		grid-column: 1 / 3;
	}

	.card-grid,
	.location-grid,
	.content-grid {
		grid-template-columns: 1fr;
	}

	.hotel-gallery__grid {
		grid-template-columns: 1fr;
	}

	.location-gallery__grid {
		grid-template-columns: 1fr;
	}

	.fact-panel {
		position: static;
	}

	.bikepoint-tour-enquiry form {
		grid-template-columns: 1fr;
	}

	.bikepoint-booking__selector,
	.workshop-services-grid {
		grid-template-columns: 1fr;
	}

	.workshop-services-grid > :last-child {
		grid-column: auto;
	}

	.bikepoint-tour-enquiry form p {
		grid-column: 1;
	}
}

@media (max-width: 520px) {
	.site-header {
		left: .75rem;
		right: .75rem;
	}

	.menu-panel {
		left: .75rem;
		right: .75rem;
	}

	.header-cart__panel {
		left: .75rem;
		right: .75rem;
	}

	.menu-toggle {
		min-height: 2.85rem;
		padding-inline: 1rem;
	}

	.service-grid {
		grid-template-columns: 1fr;
	}

	.home-ride-grid,
	.home-route-grid,
	.home-bike-grid {
		grid-template-columns: 1fr;
	}

	.home-shop .home-bike-grid {
		grid-template-columns: 1fr;
	}

	.mobile-nav__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}

.entry-content a {
	overflow-wrap: anywhere;
}

.entry-content iframe {
	max-width: 100%;
}

.hotel-detail-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	color: #363633;
	background: var(--bp-acid);
}

.hotel-detail-facts > div {
	min-width: 0;
	min-height: 11rem;
	padding: 1.5rem var(--bp-page);
	border-right: 1px solid rgba(54, 54, 51, .3);
}

.hotel-detail-facts > div:last-child {
	border-right: 0;
}

.hotel-detail-facts span {
	display: block;
	margin-bottom: 2.25rem;
	font-family: Georgia, serif;
	font-size: .64rem;
	font-style: italic;
}

.hotel-detail-facts strong {
	display: block;
	overflow-wrap: break-word;
	font-size: clamp(1.1rem, 1.8vw, 1.65rem);
	text-transform: uppercase;
}

.hotel-detail-facts p {
	margin: .4rem 0 0;
	color: rgba(54, 54, 51, .66);
	font-size: .65rem;
}

.hotel-detail-actions {
	margin-top: 2rem;
}

.hotel-detail-overview {
	display: grid;
	grid-template-columns: .42fr 1.58fr;
	gap: 3rem;
	background: var(--bp-paper);
}

.hotel-detail-overview > div {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: clamp(2rem, 4vw, 4rem) clamp(3rem, 8vw, 10rem);
	align-items: start;
}

.hotel-detail-overview h2 {
	grid-column: 1 / -1;
	margin: 0;
	overflow-wrap: break-word;
	font-size: clamp(4rem, 7.5vw, 8.2rem);
	font-weight: 520;
	line-height: .82;
	text-transform: uppercase;
}

.hotel-detail-overview h2 em {
	color: var(--bp-orange);
	text-transform: none;
}

.hotel-detail-overview > div > div {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	color: #696964;
}

.hotel-detail-overview-content > * {
	max-width: none;
}

.hotel-detail-overview-content > * + *,
.hotel-detail-overview-content .wp-block-group > * + * {
	margin-top: 1.5rem;
}

.hotel-rider-section {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: clamp(4rem, 10vw, 12rem);
	color: #e6e5dd;
	background: #473f78;
}

.hotel-rider-copy {
	align-self: center;
}

.hotel-rider-copy h2 {
	margin: 0 0 2.5rem;
	font-size: clamp(4rem, 7vw, 7.5rem);
	font-weight: 520;
	line-height: .82;
	text-transform: uppercase;
}

.hotel-rider-copy h2 em {
	color: var(--bp-acid);
	text-transform: none;
}

.hotel-rider-copy > p:not(.eyebrow) {
	max-width: 31rem;
	color: rgba(230, 229, 221, .72);
}

.hotel-rider-copy > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.hotel-rider-points {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(230, 229, 221, .28);
}

.hotel-rider-points li {
	display: grid;
	grid-template-columns: 3rem 1fr;
	gap: 1.5rem;
	min-height: 12rem;
	padding: 2rem 0;
	border-bottom: 1px solid rgba(230, 229, 221, .28);
}

.hotel-rider-points li > span {
	color: var(--bp-acid);
	font-family: Georgia, serif;
	font-size: .66rem;
	font-style: italic;
}

.hotel-rider-points strong {
	display: block;
	margin-bottom: 2.5rem;
	font-size: clamp(1.5rem, 2.5vw, 2.8rem);
	line-height: 1;
	text-transform: uppercase;
}

.hotel-rider-points p {
	max-width: 32rem;
	margin: 0;
	color: rgba(230, 229, 221, .68);
	font-size: .74rem;
}

.hotel-detail-amenities {
	display: grid;
	grid-template-columns: .75fr 1.25fr;
	gap: clamp(3rem, 8vw, 9rem);
	color: var(--bp-ink);
	background: var(--bp-orange);
}

.hotel-detail-amenities header h2 {
	margin: 0;
	font-size: clamp(3.8rem, 7vw, 8rem);
	text-transform: uppercase;
}

.hotel-detail-amenity-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(23, 42, 36, .3);
}

.hotel-detail-amenity-grid > div {
	display: grid;
	grid-template-columns: 2.5rem 1fr;
	gap: 1rem;
	min-height: 10rem;
	padding: 1.5rem;
	align-content: space-between;
	border-right: 1px solid rgba(23, 42, 36, .3);
	border-bottom: 1px solid rgba(23, 42, 36, .3);
}

.hotel-detail-amenity-grid span {
	font-family: Georgia, serif;
	font-size: .7rem;
	font-style: italic;
}

.hotel-detail-amenity-grid strong {
	align-self: end;
	font-size: clamp(1.15rem, 2vw, 2rem);
	line-height: .95;
	text-transform: uppercase;
}

.hotel-detail-location {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(4rem, 8vw, 9rem);
	align-items: center;
	background: var(--bp-orange);
}

.hotel-location-map {
	position: relative;
	min-height: 42rem;
	overflow: hidden;
	background: #ffb65a;
}

.hotel-map-coast {
	position: absolute;
	left: -25%;
	bottom: -15%;
	width: 85%;
	height: 100%;
	background: var(--bp-blue);
	border-radius: 47% 53% 0 0 / 54% 47% 0 0;
	transform: rotate(12deg);
}

.hotel-map-coast::after {
	content: "";
	position: absolute;
	inset: 1.2rem -1.2rem -1.2rem 1.2rem;
	border: 1px solid rgba(23, 42, 36, .55);
	border-radius: inherit;
}

.hotel-map-road {
	position: absolute;
	top: -10%;
	right: 15%;
	width: 50%;
	height: 125%;
	border: 1px solid var(--bp-ink);
	border-radius: 50%;
	transform: rotate(-19deg);
}

.hotel-map-road::before,
.hotel-map-road::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(23, 42, 36, .5);
	border-radius: 50%;
}

.hotel-map-road::before { inset: 1.5rem; }
.hotel-map-road::after { inset: -1.5rem; }

.hotel-map-pin,
.hotel-map-shop {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .75rem 1rem;
	color: #e6e5dd;
	background: var(--bp-ink);
	border-radius: var(--bp-pill);
	font-size: .6rem;
	font-weight: 700;
	text-transform: uppercase;
}

.hotel-map-pin { left: 32%; top: 26%; }
.hotel-map-shop { right: 8%; bottom: 20%; color: var(--bp-ink); background: var(--bp-acid); }
.hotel-map-pin i,
.hotel-map-shop i { width: .55rem; height: .55rem; background: var(--bp-orange); border: 2px solid currentColor; border-radius: 50%; }
.hotel-location-map > p { position: absolute; z-index: 2; right: 1.5rem; top: 1.5rem; margin: 0; font-size: .58rem; text-align: right; letter-spacing: .08em; }
.hotel-location-copy h2 { margin: 0 0 2.5rem; overflow-wrap: break-word; font-size: clamp(4rem, 7vw, 7.4rem); font-weight: 520; line-height: .82; text-transform: uppercase; }
.hotel-location-copy h2 em { color: var(--bp-white); text-transform: none; }
.hotel-location-copy address { margin-bottom: 2rem; font-size: 1rem; font-style: normal; }
.hotel-location-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.hotel-nearby-shop { margin-top: 4rem; padding-top: 1.25rem; border-top: 1px solid rgba(54, 54, 51, .35); }
.hotel-nearby-shop span { display: block; color: rgba(54, 54, 51, .7); font-size: .55rem; text-transform: uppercase; }
.hotel-nearby-shop strong { display: block; margin-top: .4rem; font-size: 1.5rem; text-transform: uppercase; }
.hotel-nearby-shop p { margin: .25rem 0 1rem; font-size: .7rem; }
.hotel-nearby-shop a { font-size: .65rem; font-weight: 750; text-decoration: underline; text-underline-offset: .25em; }

@media (max-width: 760px) {
	.hotel-detail-facts,
	.hotel-detail-overview,
	.hotel-detail-overview > div,
	.hotel-rider-section,
	.hotel-detail-amenities,
	.hotel-detail-amenity-grid,
	.hotel-detail-location {
		grid-template-columns: 1fr;
	}

	.hotel-detail-facts > div {
		min-height: 9rem;
		padding: 1.25rem;
		border-right: 0;
		border-bottom: 1px solid rgba(54, 54, 51, .3);
	}

	.hotel-location-map {
		min-height: 27rem;
	}

	.hotel-map-pin { left: 9%; top: 24%; }
	.hotel-map-shop { right: 4%; bottom: 16%; }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

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

/* Translated labels can be substantially longer than English. */
html,
body {
	overflow-x: clip;
}

@media (max-width: 700px) {
	.workshop-services-heading,
	.workshop-services-heading > div,
	.workshop-services-heading > p {
		min-width: 0;
		width: 100%;
	}

	.workshop-services-heading h2 {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.hotel-card,
	.hotel-card-media,
	.hotel-card-media img {
		min-width: 0;
		max-width: 100%;
	}

	.hotel-card-featured .hotel-card-media {
		height: auto;
	}
}

/* Individual shop locations */
.location-detail {
	background: var(--bp-paper);
}

.location-detail-hero {
	position: relative;
	min-height: min(58rem, calc(100svh - 2rem));
	overflow: hidden;
	color: var(--bp-white);
	background: var(--bp-deep);
}

.location-detail-hero > img,
.location-detail-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.location-detail-hero > img {
	object-fit: cover;
}

.location-detail-hero__shade {
	background: linear-gradient(90deg, rgba(12, 27, 23, .92) 0%, rgba(12, 27, 23, .58) 48%, rgba(12, 27, 23, .12) 100%), linear-gradient(0deg, rgba(12, 27, 23, .72), transparent 55%);
}

.location-detail-hero__copy {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	flex-direction: column;
	justify-content: flex-end;
	padding-right: var(--bp-page);
	padding-left: var(--bp-page);
	padding-top: 12rem;
	padding-bottom: clamp(3.5rem, 7vw, 6.5rem);
}

.location-detail-hero h1 {
	max-width: 12ch;
	margin: .35rem 0 1.25rem;
	color: inherit !important;
	font-size: clamp(4rem, 10vw, 10rem);
	line-height: .82;
	text-transform: uppercase;
}

.location-detail-lead {
	max-width: 38rem;
	margin: 0;
	color: rgba(255, 255, 255, .82);
	font-size: clamp(1rem, 1.6vw, 1.35rem);
}

.location-detail-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
	margin-top: 2rem;
}

.location-detail-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
	gap: clamp(3rem, 9vw, 10rem);
	align-items: start;
}

.location-detail-main h2 {
	max-width: 10ch;
	margin: .35rem 0 2rem;
	font-size: clamp(4rem, 8vw, 8rem);
	line-height: .84;
	text-transform: uppercase;
}

.location-detail-main h2 em {
	color: var(--bp-acid);
}

.location-detail-main .entry-content,
.location-detail-main > p:not(.eyebrow) {
	max-width: 44rem;
}

.location-detail-services {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: 2.5rem;
}

.location-detail-services span {
	padding: .72rem 1rem;
	color: var(--bp-white);
	background: var(--bp-deep);
	border-radius: var(--bp-pill);
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.location-detail-facts {
	position: sticky;
	top: 2rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--bp-white);
	border: 1px solid rgba(23, 42, 36, .18);
	box-shadow: 0 1.25rem 3rem rgba(23, 42, 36, .12);
}

.location-detail-fact {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(23, 42, 36, .16);
}

.location-detail-facts > div:first-child {
	padding-top: 0;
}

.location-detail-facts span {
	display: block;
	margin: .15rem 0 0;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.location-detail-facts p,
.location-detail-facts address {
	margin: 0;
	font-style: normal;
}

.location-detail-facts a {
	overflow-wrap: anywhere;
}

.location-hours {
	display: grid;
	gap: 0;
}

.location-hours > div {
	display: grid;
	grid-template-columns: minmax(5.5rem, .65fr) minmax(10rem, 1.35fr);
	gap: .8rem;
	padding: .55rem 0;
	border-bottom: 1px dotted rgba(23, 42, 36, .2);
}

.location-hours > div:first-child {
	padding-top: 0;
}

.location-hours > div:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.location-hours strong,
.location-hours time {
	font-size: 1rem;
	line-height: 1.45;
}

.location-hours strong {
	font-weight: 750;
}

.location-hours time {
	font-variant-numeric: tabular-nums;
}

.location-detail-facts__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	padding-top: 1.5rem;
}

.location-map {
	display: grid;
	grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);
	min-height: 36rem;
	color: var(--bp-white);
	background: var(--bp-deep);
}

.location-map__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.location-map h2 {
	margin: .35rem 0 1.5rem;
	color: inherit;
	font-size: clamp(3.5rem, 6vw, 6.5rem);
	line-height: .86;
	text-transform: uppercase;
}

.location-map address {
	margin: 0 0 2rem;
	color: rgba(255, 255, 255, .78);
	font-style: normal;
}

.location-map .button {
	align-self: flex-start;
}

.location-map iframe {
	width: 100%;
	height: 100%;
	min-height: 36rem;
	border: 0;
	filter: saturate(.8) contrast(1.04);
}

.location-detail .location-gallery {
	padding-top: var(--bp-section);
}

.location-detail .location-gallery__grid figure:first-child {
	grid-column: 1 / -1;
}

.location-detail .location-gallery__grid figure:first-child img {
	aspect-ratio: 16 / 7;
}

@media (max-width: 850px) {
	.location-detail-intro,
	.location-map {
		grid-template-columns: 1fr;
	}

	.location-detail-facts {
		position: static;
	}

	.location-map iframe {
		min-height: 25rem;
	}
}

@media (max-width: 650px) {
	.location-detail-hero {
		min-height: 42rem;
	}

	.location-detail-hero__copy {
		padding-top: 9rem;
		padding-bottom: 3rem;
	}

	.location-detail-hero h1 {
		font-size: clamp(3.5rem, 17vw, 6rem);
	}

	.location-detail-hero__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.location-detail-fact {
		grid-template-columns: 1fr;
		gap: .65rem;
	}

	.location-hours > div {
		grid-template-columns: 5.25rem minmax(0, 1fr);
	}

	.location-detail .location-gallery__grid figure:first-child img {
		aspect-ratio: 4 / 3;
	}
}
