/* Generated by tools/build-theme.php from assets/css/src/ (D-128). Do not edit. */

/* --- 00-base.css --- */

/* Base: box model, body text, links, focus, skip link, motion (components/layout.md). Tokens only (D-100). */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--wp--custom--layout--header) + var(--wp--preset--spacing--16));
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--read);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

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

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

a {
	color: var(--wp--preset--color--primary-deep);
	text-underline-offset: 3px;
}

a:hover {
	color: var(--wp--preset--color--primary);
}

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

:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
	border-radius: var(--wp--custom--radius--xs);
}

h1,
h2,
h3,
h4 {
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--bold);
	margin: 0;
}

p {
	margin: 0 0 1em;
}

.bl-skip-link {
	position: absolute;
	left: var(--wp--preset--spacing--12);
	top: var(--wp--preset--spacing--12);
	z-index: var(--wp--custom--z--skip-link);
	padding: 10px var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--bold);
	text-decoration: none;
	transform: translateY(-200%);
}

.bl-skip-link:focus,
.bl-skip-link:focus-visible {
	transform: none;
	color: var(--wp--preset--color--white);
}

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

.screen-reader-text:focus {
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	white-space: normal;
}

.bl-icon {
	width: var(--wp--custom--icon--md);
	height: var(--wp--custom--icon--md);
	flex: none;
	fill: none;
	vertical-align: -3px;
}

.bl-num {
	font-variant-numeric: tabular-nums lining-nums;
}

[hidden] {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* --- 10-layout.css --- */

/* Container, sections, headings, prose, watermark (components/layout.md, motifs.md). */

.bl-container {
	position: relative;
	width: 100%;
	max-width: var(--wp--custom--layout--container);
	margin: 0 auto;
	padding: 0 var(--wp--custom--layout--gutter);
}

@media (max-width: 720px) {
	.bl-container {
		padding: 0 var(--wp--custom--layout--gutter-phone);
	}
}

.bl-main {
	display: block;
	min-height: 40vh;
}

.bl-main:focus {
	outline: none;
}

.bl-section {
	position: relative;
	padding-block: var(--wp--preset--spacing--96);
}

/* Vertical only, so a section that is also a .bl-container keeps the side gutter. */
.bl-section--tight {
	padding-block: var(--wp--preset--spacing--64);
}

@media (max-width: 720px) {
	.bl-section {
		padding-block: var(--wp--preset--spacing--64);
	}

	.bl-section--tight {
		padding-block: var(--wp--preset--spacing--40);
	}
}

.bl-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--24);
	margin-bottom: var(--wp--preset--spacing--32);
}

@media (max-width: 720px) {
	.bl-section-head {
		margin-bottom: var(--wp--preset--spacing--24);
	}
}

.bl-eyebrow {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--medium);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: var(--wp--custom--tracking--caps-wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-display {
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--display);
	line-height: var(--wp--custom--line-height--display);
	letter-spacing: var(--wp--custom--tracking--display);
}

.bl-h1 {
	font-size: var(--wp--preset--font-size--heading-1);
	line-height: var(--wp--custom--line-height--heading-1);
	letter-spacing: var(--wp--custom--tracking--heading-1);
}

.bl-h1--compact {
	font-size: var(--wp--preset--font-size--heading-1-compact);
}

.bl-h2 {
	font-size: var(--wp--preset--font-size--heading-2);
	line-height: var(--wp--custom--line-height--heading-2);
	letter-spacing: var(--wp--custom--tracking--heading-2);
}

.bl-h3 {
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: var(--wp--custom--line-height--title);
}

.bl-lede {
	max-width: 58ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--lede);
	line-height: var(--wp--custom--line-height--text-sm);
}

.bl-prose {
	max-width: 66ch;
}

.bl-prose > * + * {
	margin-top: 1em;
}

.bl-prose h2,
.bl-prose h3 {
	margin-top: 1.6em;
}

.bl-meta {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

/* Vertical padding only: the container keeps its gutters. */
.bl-page-head {
	padding-top: var(--wp--preset--spacing--64);
	padding-bottom: var(--wp--preset--spacing--32);
}

@media (max-width: 720px) {
	.bl-page-head {
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--24);
	}
}

/* Shape watermark: the supplied PNG as an alpha mask on a block in currentColor (motifs.md §4). */
.bl-watermark {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	background: currentColor;
	-webkit-mask: url("../brand/shape-01.png") center / contain no-repeat;
	mask: url("../brand/shape-01.png") center / contain no-repeat;
}

.bl-list-plain {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* --- 20-controls.css --- */

/* Buttons, chips, tags, segmented toggle, select, links, status label, form fields (components/controls.md). */

.bl-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--24);
	border: 1.5px solid transparent;
	border-radius: var(--wp--custom--radius--pill);
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--read);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--heading-1);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing), color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing), border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-btn:focus-visible {
	border-radius: var(--wp--custom--radius--pill);
}

.bl-btn .bl-icon {
	width: var(--wp--custom--icon--md);
	height: var(--wp--custom--icon--md);
}

.bl-btn--primary {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.bl-btn--primary:hover {
	background: var(--wp--preset--color--primary-deep);
	color: var(--wp--preset--color--white);
}

.bl-btn--secondary {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-deep);
}

.bl-btn--secondary:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--primary-deep);
}

/* Key action: at most one per view; the large label keeps White on Accent compliant as large text. */
.bl-btn--accent {
	padding: 0 calc(var(--wp--preset--spacing--24) + 2px);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--extrabold);
	font-size: var(--wp--preset--font-size--lg);
}

.bl-btn--accent:hover {
	background: var(--wp--preset--color--accent-deep);
	color: var(--wp--preset--color--white);
}

/* A label built from names (search's "Explore lakes in … with …") may wrap instead of running off a phone screen. */
.bl-btn--wrap {
	max-width: 100%;
	height: auto;
	min-height: var(--wp--custom--control--height);
	padding-block: var(--wp--preset--spacing--8);
	white-space: normal;
	text-align: center;
}

.bl-btn--wrap .bl-icon {
	flex: none;
}

.bl-btn--ghost {
	border-color: var(--wp--preset--color--line-soft);
	background: var(--wp--preset--color--white);
}

.bl-btn--ghost:hover {
	border-color: var(--wp--preset--color--line-ui);
	color: var(--wp--preset--color--ink);
}

.bl-btn--quiet {
	padding: 0 14px;
}

.bl-btn--quiet:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}

.bl-btn--on-deep {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--ink);
}

.bl-btn--on-deep:hover {
	background: var(--wp--preset--color--highlight);
	color: var(--wp--preset--color--ink);
}

.bl-btn--ghost-deep {
	border-color: var(--wp--custom--overlay--on-deep-border);
	color: var(--wp--preset--color--paper);
}

.bl-btn--ghost-deep:hover {
	border-color: var(--wp--preset--color--highlight);
	color: var(--wp--preset--color--white);
}

.bl-btn--icon {
	width: var(--wp--custom--control--height);
	padding: 0;
}

.bl-btn--compact {
	height: var(--wp--custom--control--compact);
}

.bl-btn--compact.bl-btn--icon {
	width: var(--wp--custom--control--compact);
}

/* Touch screens: compact controls keep a 44 px hit area (D-102). */
@media (pointer: coarse) {
	.bl-btn--compact::after,
	.bl-chip::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: max(100%, var(--wp--custom--control--touch));
		height: var(--wp--custom--control--touch);
		transform: translate(-50%, -50%);
	}
}

.bl-btn[aria-pressed="true"] {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-btn[disabled],
.bl-btn[aria-disabled="true"] {
	border-color: var(--wp--preset--color--mist);
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--line-ui);
	cursor: not-allowed;
}

.bl-btn[aria-busy="true"] {
	cursor: progress;
}

.bl-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
}

/* Chips and tags */
.bl-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: var(--wp--custom--control--chip);
	padding: 0 10px 0 14px;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
	cursor: pointer;
}

.bl-chip:hover {
	color: var(--wp--preset--color--white);
}

.bl-chip--soft {
	padding: 0 14px;
	border-color: var(--wp--preset--color--line-ui);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--semibold);
}

a.bl-chip--soft:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}

.bl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-text-btn {
	height: var(--wp--custom--control--chip);
	padding: 0 var(--wp--preset--spacing--8);
	border: 0;
	background: none;
	color: var(--wp--preset--color--primary-deep);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.bl-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--xs);
	line-height: var(--wp--custom--line-height--title);
}

.bl-tag .bl-icon {
	width: 15px;
	height: 15px;
	color: var(--wp--preset--color--primary-deep);
}

/* Segmented toggle */
.bl-segmented {
	display: inline-flex;
	height: var(--wp--custom--control--height);
	padding: 4px;
	border: 1.5px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
}

.bl-segmented button {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: 0 var(--wp--preset--spacing--16);
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: none;
	color: var(--wp--preset--color--ink-muted);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
	cursor: pointer;
}

.bl-segmented button[aria-pressed="true"] {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

/* Select button (native select styled as a pill) */
.bl-select {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--16);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--md);
}

.bl-select__label {
	color: var(--wp--preset--color--ink-muted);
	font-weight: var(--wp--custom--font-weight--medium);
}

.bl-select select {
	height: 100%;
	border: 0;
	background: none;
	font-weight: var(--wp--custom--font-weight--semibold);
	cursor: pointer;
}

.bl-select:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-select select:focus-visible {
	box-shadow: none;
}

/* Links */
.bl-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
	white-space: nowrap;
}

/* Status label: icon + word + optional reason, never colour alone */
.bl-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-status__reason {
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--regular);
}

.bl-status--allowed {
	color: var(--wp--preset--color--status-allowed);
}

.bl-status--restricted {
	color: var(--wp--preset--color--status-restricted);
}

.bl-status--prohibited {
	color: var(--wp--preset--color--status-prohibited);
}

.bl-status--unknown {
	color: var(--wp--preset--color--status-unknown);
}

/* Form fields */
.bl-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: var(--wp--preset--spacing--16) 0 0;
	padding: 0;
	border: 0;
}

.bl-field__label {
	padding: 0;
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
}

.bl-field__hint {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-input {
	width: 100%;
	height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--16);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
}

textarea.bl-input {
	height: auto;
	min-height: 130px;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	line-height: var(--wp--custom--line-height--text-sm);
	resize: vertical;
}

.bl-input:focus-visible {
	border-radius: var(--wp--custom--radius--sm);
}

.bl-input[aria-invalid="true"] {
	border-color: var(--wp--preset--color--status-prohibited);
}

.bl-field__error {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--wp--preset--color--status-prohibited);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--semibold);
}

.bl-choices {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
}

.bl-choice {
	position: relative;
}

.bl-choice input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.bl-choice span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--16);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-choice input:checked + span {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-choice input:checked + span .bl-icon {
	color: var(--wp--preset--color--highlight);
}

.bl-choice input:focus-visible + span {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 14px;
}

@media (max-width: 720px) {
	.bl-two {
		grid-template-columns: 1fr;
	}
}

/* --- 30-header.css --- */

/* Site header, header search, menu drawer (components/header.md, search.md). */

.bl-header {
	position: sticky;
	top: 0;
	z-index: var(--wp--custom--z--header);
	border-bottom: 1px solid transparent;
	background: var(--wp--custom--overlay--glass);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	backdrop-filter: saturate(1.2) blur(10px);
	transition: border-color var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.admin-bar .bl-header {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.bl-header.is-scrolled {
	border-bottom-color: var(--wp--preset--color--line-soft);
}

.bl-header__bar {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--28);
	height: var(--wp--custom--layout--header);
}

.bl-header__logo {
	display: inline-flex;
	flex: none;
	border-radius: var(--wp--custom--radius--xs);
}

.bl-header__logo svg {
	width: auto;
	height: 46px;
}

.bl-header__nav {
	display: flex;
	flex: 1;
	justify-content: center;
}

.bl-nav {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: var(--wp--custom--control--compact);
	padding: 0 var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-nav a:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}

.bl-nav a[aria-current="page"] {
	border-radius: 0;
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--primary);
}

.bl-nav a[aria-current="page"]:focus-visible {
	border-radius: var(--wp--custom--radius--xs);
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--primary), var(--wp--custom--focus--ring);
}

.bl-header__tools {
	display: flex;
	align-items: center;
	gap: 4px;
}

.bl-header__menu-btn,
.bl-header__search-btn {
	display: none;
}

/* Search field (header and 404) */
.bl-search {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	height: var(--wp--custom--control--height);
	padding: 0 6px 0 var(--wp--preset--spacing--16);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--md);
}

.bl-search:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-search input {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	outline: none;
}

.bl-search input:focus-visible {
	box-shadow: none;
}

.bl-search input::placeholder {
	color: var(--wp--preset--color--ink-muted);
	opacity: 1;
}

.bl-search input::-webkit-search-cancel-button {
	cursor: pointer;
}

.bl-search__go {
	display: grid;
	flex: none;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	cursor: pointer;
}

.bl-search__go:hover {
	background: var(--wp--preset--color--primary-deep);
}

.bl-search__go:focus-visible {
	border-radius: var(--wp--custom--radius--pill);
}

/* D-103: the header field's border is line-search (a recorded contrast exception). */
.bl-header__search {
	width: 300px;
	height: 44px;
	border-color: var(--wp--preset--color--line-search);
}

.bl-header__search .bl-search__go {
	width: 34px;
	height: 34px;
}

@media (max-width: 1180px) {
	.bl-header__search {
		display: none;
	}

	.bl-header__search-btn {
		display: inline-flex;
	}
}

@media (max-width: 960px) {
	.bl-header__bar {
		gap: 4px;
		height: var(--wp--custom--layout--header-phone);
	}

	.bl-header__menu-btn {
		display: inline-flex;
		margin-left: -10px;
	}

	.bl-header__logo {
		margin-right: auto;
	}

	.bl-header__logo svg {
		height: 32px;
	}

	.bl-header__nav {
		display: none;
	}
}

/* Search panel (≤ 1180): under the header on wide screens, full screen on phones */
.bl-search-panel {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: var(--wp--custom--z--sheet);
	padding: var(--wp--preset--spacing--16) 0;
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--pop);
}

.admin-bar .bl-search-panel {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.bl-search-panel__row {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}

.bl-search-panel .bl-search {
	flex: 1;
}

@media (max-width: 720px) {
	.bl-search-panel {
		bottom: 0;
		box-shadow: none;
	}
}

/* Menu drawer (≤ 960): full-screen Rich white panel, no dimmed overlay (D-078) */
.bl-drawer {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z--drawer);
	display: flex;
	flex-direction: column;
	overflow: auto;
	padding: 0 var(--wp--custom--layout--gutter-phone) var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--paper);
}

.bl-drawer__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--wp--custom--layout--header-phone);
}

.bl-drawer__bar svg {
	width: auto;
	height: 32px;
}

.bl-drawer__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xl);
	text-decoration: none;
}

.bl-drawer__link[aria-current="page"] {
	color: var(--wp--preset--color--primary-deep);
}

.bl-drawer__lang {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 56px;
	margin-top: auto;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
	background: none;
	font-weight: var(--wp--custom--font-weight--bold);
	cursor: pointer;
}

.bl-drawer__lang-value {
	color: var(--wp--preset--color--ink-muted);
	font-weight: var(--wp--custom--font-weight--semibold);
}

@media (min-width: 961px) {
	.bl-drawer {
		display: none !important;
	}
}

/* --- 35-language.css --- */

/* Language switcher: quiet pill, popover (> 960) or full-screen sheet (≤ 960) (components/header.md, D-066, D-104). */

.bl-lang__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: var(--wp--custom--control--compact);
	padding: 0 var(--wp--preset--spacing--12);
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--preset--color--ink-muted);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: var(--wp--custom--tracking--code);
	line-height: var(--wp--custom--line-height--heading-1);
	cursor: pointer;
}

.bl-lang__btn:hover,
.bl-lang__btn[aria-expanded="true"] {
	border-color: var(--wp--preset--color--line-soft);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.bl-lang__btn:focus-visible {
	border-radius: var(--wp--custom--radius--pill);
}

@media (pointer: coarse) {
	.bl-lang__btn {
		height: var(--wp--custom--control--touch);
	}
}

@media (max-width: 960px) {
	.bl-header .bl-lang__globe,
	.bl-header .bl-lang__chev {
		display: none;
	}
}

.bl-lang__panel {
	position: fixed;
	z-index: var(--wp--custom--z--popover);
	top: calc(var(--wp--custom--layout--header) + var(--wp--preset--spacing--8));
	right: max(var(--wp--custom--layout--gutter), calc((100vw - var(--wp--custom--layout--container)) / 2 + var(--wp--custom--layout--gutter)));
	width: 300px;
	padding: 14px var(--wp--preset--spacing--8) var(--wp--preset--spacing--8);
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--pop);
}

.admin-bar .bl-lang__panel {
	margin-top: var(--wp-admin--admin-bar--height, 0px);
}

.bl-lang__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 10px var(--wp--preset--spacing--8);
}

.bl-lang__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-lang__close {
	display: none;
}

.bl-lang__item {
	display: grid;
	grid-template-columns: 1fr auto;
	padding: var(--wp--preset--spacing--8) 10px;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.bl-lang__item:hover,
.bl-lang__item:focus-visible {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}

.bl-lang__item:focus-visible {
	border-radius: var(--wp--custom--radius--sm);
}

.bl-lang__native {
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
}

.bl-lang__english {
	grid-column: 1;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--xs);
}

.bl-lang__state {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	color: var(--wp--preset--color--primary-deep);
	font-weight: var(--wp--custom--font-weight--extrabold);
	font-size: var(--wp--preset--font-size--xs);
}

@media (max-width: 960px) {
	.bl-lang__panel {
		inset: 0;
		z-index: var(--wp--custom--z--sheet);
		width: auto;
		overflow: auto;
		padding: 0 var(--wp--custom--layout--gutter-phone) var(--wp--preset--spacing--24);
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.admin-bar .bl-lang__panel {
		margin-top: 0;
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	.bl-lang__head {
		height: var(--wp--custom--layout--header-phone);
		padding: 0;
	}

	.bl-lang__close {
		display: inline-flex;
	}

	.bl-lang__item {
		min-height: 56px;
		align-content: center;
		padding: var(--wp--preset--spacing--8) 0;
		border-bottom: 1px solid var(--wp--preset--color--line-soft);
		border-radius: 0;
	}
}

/* --- 40-footer.css --- */

/* Site footer: the deep end of the page (components/footer.md, D-082, D-083, D-123). */

.bl-footer {
	position: relative;
	overflow: hidden;
	margin-top: var(--wp--preset--spacing--96);
	padding: var(--wp--preset--spacing--72) 0 calc(var(--wp--preset--spacing--32) + 4px);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

.bl-footer > .bl-container {
	z-index: var(--wp--custom--z--raised);
}

.bl-footer__watermark {
	right: -120px;
	top: -150px;
	width: 520px;
	height: 470px;
	color: var(--wp--preset--color--highlight);
	opacity: 0.07;
	transform: scaleX(-1) rotate(-30deg);
}

.bl-footer__cols {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: var(--wp--preset--spacing--32);
}

.bl-footer__logo {
	display: inline-flex;
	color: var(--wp--preset--color--paper);
}

.bl-footer__logo svg {
	width: auto;
	height: 52px;
}

.bl-footer__intro {
	max-width: 34ch;
	margin: calc(var(--wp--preset--spacing--16) + 2px) 0 0;
	color: var(--wp--preset--color--paper);
	font-size: var(--wp--preset--font-size--md);
}

.bl-footer__social {
	display: flex;
	gap: 10px;
	margin: var(--wp--preset--spacing--24) 0 0;
	padding: 0;
	list-style: none;
}

.bl-footer__social a {
	display: grid;
	place-items: center;
	width: var(--wp--custom--control--touch);
	height: var(--wp--custom--control--touch);
	border: 1.5px solid var(--wp--custom--overlay--on-deep-border);
	border-radius: 50%;
	color: var(--wp--preset--color--paper);
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing), color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-footer__social a:hover {
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary);
}

.bl-footer__social a:focus-visible {
	border-radius: 50%;
}

.bl-footer__social .bl-icon {
	width: var(--wp--custom--icon--lg);
	height: var(--wp--custom--icon--lg);
}

.bl-footer__title {
	margin: 0 0 var(--wp--preset--spacing--12);
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--highlight);
}

.bl-footer ul.menu,
.bl-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-footer__col a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: var(--wp--preset--color--paper);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
}

@media (pointer: coarse) {
	.bl-footer__col a {
		min-height: var(--wp--custom--control--touch);
	}
}

.bl-footer__col a:hover {
	color: var(--wp--preset--color--secondary);
}

.bl-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8) var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--48);
	padding-top: calc(var(--wp--preset--spacing--20) + 2px);
	border-top: 1px solid var(--wp--custom--overlay--on-deep-line);
	color: var(--wp--preset--color--on-deep-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-footer__legal ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8) var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-footer__legal a {
	color: var(--wp--preset--color--on-deep-muted);
}

.bl-footer__legal a:hover {
	color: var(--wp--preset--color--secondary);
}

.bl-footer__lang {
	margin-left: auto;
}

.bl-footer .bl-lang__btn {
	border-color: var(--wp--custom--overlay--on-deep-border);
	color: var(--wp--preset--color--paper);
}

.bl-footer .bl-lang__btn:hover,
.bl-footer .bl-lang__btn[aria-expanded="true"] {
	border-color: var(--wp--preset--color--highlight);
	background: var(--wp--custom--overlay--on-deep-hover);
	color: var(--wp--preset--color--white);
}

@media (max-width: 960px) {
	.bl-footer__cols {
		grid-template-columns: 1fr 1fr;
	}

	.bl-footer__brand {
		grid-column: 1 / -1;
	}

	.bl-footer__col--explore {
		grid-column: 1;
		grid-row: 2;
	}

	.bl-footer__col--about {
		grid-column: 1;
		grid-row: 3;
	}

	.bl-footer__col--countries {
		grid-column: 2;
		grid-row: 2 / span 2;
	}

	.bl-footer__lang {
		margin-left: 0;
	}
}

/* --- 50-hero.css --- */

/* Heroes: waterline, no-photo hero, homepage hero variant B (components/heroes.md, motifs.md §3, §6; D-081). */

.bl-waterline {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	z-index: var(--wp--custom--z--raised);
	display: block;
	width: 100%;
	height: 120px;
	pointer-events: none;
}

.bl-waterline__1 {
	fill: var(--wp--preset--color--secondary);
}

.bl-waterline__2 {
	fill: var(--wp--preset--color--primary);
}

.bl-waterline__3 {
	fill: var(--wp--preset--color--paper);
}

@media (max-width: 720px) {
	.bl-waterline {
		height: 64px;
	}
}

/* No-photo hero (D-V12, D-070) */
.bl-hero {
	position: relative;
}

.bl-hero--no-photo {
	height: clamp(220px, 22vw, 320px);
	background: var(--wp--custom--gradient--hero-no-photo);
}

@media (max-width: 720px) {
	.bl-hero--no-photo {
		height: 200px;
	}
}

/* Homepage hero, variant B */
.bl-home-hero {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: clamp(600px, calc(100vh - var(--wp--custom--layout--header)), 860px);
}

.bl-home-hero__graphic {
	position: absolute;
	top: 0;
	bottom: var(--wp--preset--spacing--56);
	left: 45%;
	pointer-events: none;
}

.bl-home-hero__graphic img {
	display: block;
	width: auto;
	max-width: none;
	height: 100%;
}

.bl-home-hero__inner {
	z-index: var(--wp--custom--z--raised);
}

.bl-home-hero__copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--28);
	width: min(42%, 560px);
	padding: var(--wp--preset--spacing--56) 0;
}

.bl-home-hero__actions {
	margin-top: var(--wp--preset--spacing--16);
	gap: var(--wp--preset--spacing--12);
}

/* Without graphics: the no-photo band above the copy */
.bl-home-hero--plain {
	display: block;
	min-height: 0;
}

.bl-home-hero--plain .bl-home-hero__copy {
	width: min(100%, 760px);
}

@media (max-width: 960px) {
	/* The whole hero fits the first screen; only the graphic gives way, from the top. */
	.bl-home-hero {
		flex-direction: column;
		align-items: stretch;
		overflow: visible;
		min-height: 0;
		max-height: calc(100svh - var(--wp--custom--layout--header-phone));
	}

	.bl-home-hero__graphic {
		position: relative;
		top: auto;
		bottom: auto;
		left: auto;
		flex: 0 1 81vw;
		height: 81vw;
		min-height: 120px;
		overflow: hidden;
	}

	/* Window on the 1916 × 1440 artwork: the lower part of the blob (Stage B mobile sketch). */
	.bl-home-hero__graphic img {
		position: absolute;
		left: -28.8vw;
		bottom: 0;
		width: 138vw;
		height: auto;
	}

	.bl-home-hero__inner {
		flex: none;
	}

	.bl-home-hero__copy {
		width: auto;
		gap: calc(var(--wp--preset--spacing--20) + 2px);
		padding: calc(var(--wp--preset--spacing--20) + 2px) 0 calc(var(--wp--preset--spacing--16) + 2px);
	}

	.bl-home-hero__copy .bl-display {
		font-size: var(--wp--preset--font-size--display-phone);
	}

	.bl-home-hero__actions {
		flex-wrap: wrap;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--8) 4px;
		margin-top: var(--wp--preset--spacing--12);
	}

	.bl-home-hero__actions .bl-btn--accent {
		padding: 0 var(--wp--preset--spacing--20);
	}

	.bl-home-hero__actions .bl-btn--quiet {
		padding: 0 6px;
	}

	.bl-home-hero--plain {
		max-height: none;
	}
}

@media (max-width: 420px) {
	.bl-home-hero__actions .bl-btn--accent .bl-icon {
		display: none;
	}

	.bl-home-hero__actions .bl-btn--accent {
		padding: 0 15px;
	}

	/* Keeps the two actions on one line at 375 px. */
	.bl-home-hero__actions {
		column-gap: 0;
	}
}

@media (max-width: 960px) and (max-height: 640px) {
	.bl-home-hero__copy {
		gap: var(--wp--preset--spacing--16);
		padding: var(--wp--preset--spacing--16) 0 14px;
	}

	.bl-home-hero__copy .bl-display {
		font-size: var(--wp--preset--font-size--display-short);
	}
}

/* Landscape phones: no height cap (the hero can't fit anyway). */
@media (max-width: 960px) and (max-height: 480px) {
	.bl-home-hero {
		max-height: none;
	}
}

/* --- 60-notices.css --- */

/* Notice banner, empty state, no-photo placeholder, dialog sheet (components/notices.md, controls.md, motifs.md §5). */

.bl-notice {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--12);
	padding: 14px var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--sm);
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--text-sm);
}

.bl-notice > .bl-icon {
	margin-top: 2px;
}

.bl-notice__body {
	flex: 1;
}

.bl-notice__body p {
	margin: 0;
}

.bl-notice--info {
	background: var(--wp--preset--color--sand-light);
}

.bl-notice--info > .bl-icon {
	color: var(--wp--preset--color--primary-deep);
}

.bl-notice--warning {
	border-left: 4px solid var(--bl-status, var(--wp--preset--color--status-prohibited));
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--line-soft);
}

.bl-notice--warning > .bl-icon {
	color: var(--bl-status, var(--wp--preset--color--status-prohibited));
}

.bl-notice--restricted {
	--bl-status: var(--wp--preset--color--status-restricted);
}

.bl-notice__dismiss {
	margin: -10px -10px -10px 0;
}

.bl-empty {
	max-width: 60ch;
	padding: var(--wp--preset--spacing--40) 0;
}

.bl-empty__title {
	margin: 0 0 var(--wp--preset--spacing--8);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xl);
}

.bl-empty .bl-actions {
	margin-top: var(--wp--preset--spacing--20);
}

/* No-photo placeholder (D-068, D-108) */
.bl-placeholder {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--sand-light);
	color: var(--wp--preset--color--sand);
}

.bl-placeholder .bl-watermark {
	inset: 6%;
	transform: rotate(-12deg);
}

.bl-placeholder__symbol {
	position: absolute;
	left: 50%;
	top: 46%;
	width: 58px;
	opacity: 0.6;
	transform: translate(-50%, -50%);
}

.bl-placeholder__symbol svg {
	display: block;
	width: 100%;
	height: auto;
}

.bl-placeholder__label {
	position: absolute;
	left: 14px;
	bottom: 10px;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xxs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

/* Dialog / sheet (controls.md) */
.bl-scrim {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z--scrim);
	background: var(--wp--custom--overlay--scrim);
}

.bl-dialog {
	position: fixed;
	z-index: var(--wp--custom--z--sheet);
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	width: min(600px, calc(100vw - 48px));
	max-height: 88vh;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--pop), 0 0 0 100vmax var(--wp--custom--overlay--scrim);
	transform: translate(-50%, -50%);
}

.bl-dialog__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--24);
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
}

.bl-dialog__title {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: var(--wp--custom--font-weight--semibold);
}

.bl-dialog__body {
	flex: 1;
	overflow: auto;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--24) var(--wp--preset--spacing--24);
}

.bl-dialog__foot {
	display: flex;
	gap: 10px;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--24);
	border-top: 1px solid var(--wp--preset--color--line-soft);
}

@media (max-width: 720px) {
	.bl-dialog {
		inset: 0;
		width: auto;
		max-height: none;
		border-radius: 0;
		box-shadow: none;
		transform: none;
	}

	.bl-dialog__foot {
		padding-bottom: calc(var(--wp--preset--spacing--12) + env(safe-area-inset-bottom));
	}

	.bl-dialog__foot .bl-btn {
		flex: 1;
	}
}

/* --- 70-pages.css --- */

/* Page bodies of M12: the generic fallback templates, the 404 page and the development components page. */

.bl-404 .bl-search {
	max-width: 560px;
	margin: var(--wp--preset--spacing--24) 0 var(--wp--preset--spacing--32);
}

.bl-404__countries-title {
	margin-bottom: var(--wp--preset--spacing--12);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: var(--wp--custom--font-weight--semibold);
}

.bl-entry-list {
	display: grid;
	gap: var(--wp--preset--spacing--12);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-entry-list a {
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xl);
	text-decoration: none;
}

.bl-pagination {
	margin-top: var(--wp--preset--spacing--32);
}

.bl-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
}

.bl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--control--height);
	height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--12);
	border: 1.5px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--bold);
	text-decoration: none;
}

.bl-pagination .page-numbers.current {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-components > section {
	padding: var(--wp--preset--spacing--40) 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
}

.bl-components h2 {
	margin-bottom: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--xxl);
}

.bl-components__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-components__deep {
	padding: var(--wp--preset--spacing--24);
	border-radius: var(--wp--custom--radius--deep);
	background: var(--wp--preset--color--ink);
}

.bl-components__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--wp--preset--spacing--24);
}

/* --- 80-lake.css --- */

/* Lake page and lake group page (components/lake-page.md, heroes.md "Photo hero", cards.md, navigation.md). */

/* Photo hero: full bleed 21 : 9 (4 : 5 on phones), cropped around the focal point; the title stays off the photo. */
.bl-hero--photo {
	overflow: hidden;
	aspect-ratio: 21 / 9;
	max-height: calc(100vh - var(--wp--custom--layout--header));
	background: var(--wp--preset--color--ink-night);
}

.bl-hero--photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--custom--gradient--photo-fade);
	pointer-events: none;
}

.bl-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bl-hero__credit {
	position: absolute;
	right: var(--wp--custom--layout--gutter);
	bottom: var(--wp--preset--spacing--96);
	z-index: var(--wp--custom--z--above);
	margin: 0;
}

@media (max-width: 720px) {
	.bl-hero--photo {
		aspect-ratio: 4 / 5;
		max-height: 80vh;
	}

	.bl-hero__credit {
		right: var(--wp--custom--layout--gutter-phone);
		bottom: var(--wp--preset--spacing--48);
	}
}

/* Photo credits (photography.md §4, B-4) */
.bl-credit {
	padding: 4px 10px;
	border-radius: var(--wp--custom--radius--xs);
	background: var(--wp--custom--overlay--photo-credit);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xs);
	line-height: var(--wp--custom--line-height--compact);
}

.bl-credit a {
	color: inherit;
}

.bl-credit a:hover {
	color: var(--wp--preset--color--highlight);
}

/* On tiles and cards: a "©" mark that shows the full credit on hover or focus. */
.bl-credit--compact {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: var(--wp--custom--z--above);
	border-radius: var(--wp--custom--radius--pill);
	padding: 2px 8px;
}

.bl-credit--compact .bl-credit__text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.bl-credit--compact:hover .bl-credit__text,
.bl-credit--compact:focus-within .bl-credit__text {
	position: static;
	width: auto;
	height: auto;
	clip: auto;
	white-space: normal;
}

.bl-credit--compact:hover .bl-credit__mark,
.bl-credit--compact:focus-within .bl-credit__mark {
	display: none;
}

/* Identity block */
.bl-lp-head {
	padding-top: var(--wp--preset--spacing--16);
}

.bl-backlink {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: var(--wp--custom--control--compact);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	text-decoration: none;
}

.bl-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-breadcrumb a {
	color: var(--wp--preset--color--ink-muted);
}

.bl-breadcrumb a:hover {
	color: var(--wp--preset--color--primary-deep);
}

.bl-breadcrumb__sep {
	margin-left: 6px;
}

.bl-lp-head__loc {
	margin: var(--wp--preset--spacing--16) 0 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-lp-head__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16) var(--wp--preset--spacing--32);
	margin-top: var(--wp--preset--spacing--8);
}

.bl-lp-head__title-row .bl-h1 {
	min-width: 0;
	overflow-wrap: anywhere;
}

.bl-lp-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bl-lp-head__names {
	margin: var(--wp--preset--spacing--8) 0 0;
	font-size: var(--wp--preset--font-size--body-sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-lp-head__group {
	margin: var(--wp--preset--spacing--12) 0 0;
}

/* Phones (D-118): Directions and Share are 44 px round icon buttons without labels, beside the title. */
@media (max-width: 720px) {
	.bl-lp-head__title-row {
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--12);
	}

	.bl-lp-head__actions {
		flex: none;
		flex-wrap: nowrap;
		gap: 6px;
		margin-top: 2px;
	}

	.bl-lp-head__actions .bl-btn {
		width: var(--wp--custom--control--touch);
		height: var(--wp--custom--control--touch);
		padding: 0;
		border-radius: 50%;
	}

	.bl-lp-head__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

/* Section bar: sticky under the header, scrollable, the current section as an ink pill. */
.bl-sectionbar {
	position: sticky;
	top: var(--wp--custom--layout--header);
	z-index: var(--wp--custom--z--section-nav);
	margin-top: var(--wp--preset--spacing--28);
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
	background: var(--wp--custom--overlay--glass);
}

.admin-bar .bl-sectionbar {
	top: calc(var(--wp--custom--layout--header) + 32px);
}

.bl-sectionbar__list {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 10px 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.bl-sectionbar__list::-webkit-scrollbar {
	display: none;
}

.bl-sectionbar a {
	display: inline-flex;
	align-items: center;
	height: var(--wp--custom--control--compact);
	padding: 0 var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--ink-muted);
	text-decoration: none;
	white-space: nowrap;
}

.bl-sectionbar a:hover {
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--ink);
}

.bl-sectionbar a[aria-current="true"] {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

@media (max-width: 960px) {
	.bl-sectionbar {
		top: var(--wp--custom--layout--header-phone);
	}
}

/* Sections land below the header and the section bar. */
.bl-lp [id] {
	scroll-margin-top: calc(var(--wp--custom--layout--header) + var(--wp--preset--spacing--72));
}

/* Body: 8 + 4 columns with a 56 px gap; one column at ≤ 1080 px with the lake card first (D-082). */
.bl-lp-grid {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: var(--wp--preset--spacing--56);
	align-items: start;
}

.bl-lp-aside {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--56);
}

.bl-lp-block {
	padding-top: var(--wp--preset--spacing--56);
}

.bl-lp-block--wide {
	padding-top: var(--wp--preset--spacing--72);
}

.bl-lp-block > .bl-h2 {
	margin-bottom: var(--wp--preset--spacing--20);
}

.bl-section-head--tight {
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-lp-slot--single {
	display: none;
}

.bl-lp > .bl-container:last-child {
	padding-bottom: var(--wp--preset--spacing--96);
}

@media (max-width: 1080px) {
	.bl-lp-grid {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.bl-lp-main,
	.bl-lp-aside {
		display: contents;
	}

	.bl-lake-card {
		order: 1;
		margin-top: var(--wp--preset--spacing--28);
	}

	.bl-overview {
		order: 2;
		padding-top: var(--wp--preset--spacing--32);
	}

	.bl-lp-main > .bl-lp-block:not(.bl-overview) {
		order: 3;
	}

	.bl-lp-slot--single {
		display: block;
		order: 4;
	}

	.bl-lp-slot--aside {
		display: none;
	}
}

@media (max-width: 720px) {
	.bl-lp-block {
		padding-top: var(--wp--preset--spacing--48);
	}

	.bl-lp-block--wide {
		padding-top: var(--wp--preset--spacing--56);
	}

	.bl-lp > .bl-container:last-child {
		padding-bottom: var(--wp--preset--spacing--64);
	}
}

/* Overview: paragraphs only, the first a lede; formation, history, nature as h3 subsections (D-119). */
.bl-overview__text > p:first-child {
	font-size: var(--wp--preset--font-size--lede);
	line-height: var(--wp--custom--line-height--text-sm);
}

.bl-overview__section {
	margin-top: var(--wp--preset--spacing--32);
}

.bl-overview__section .bl-h3 {
	margin-bottom: var(--wp--preset--spacing--12);
}

/* Gallery (D-079): mosaic 2fr 1fr 1fr in two rows, 440 px; a swipe strip on phones (D-082). */
.bl-gallery {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 10px;
	height: 440px;
}

.bl-gallery__tile {
	position: relative;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--mist);
}

.bl-gallery__tile:first-child {
	grid-row: span 2;
}

.bl-gallery[data-count="1"] {
	grid-template-columns: 1fr;
}

.bl-gallery[data-count="2"] {
	grid-template-columns: 2fr 1fr;
}

.bl-gallery[data-count="2"] .bl-gallery__tile:nth-child(2) {
	grid-row: span 2;
}

.bl-gallery[data-count="3"] {
	grid-template-columns: 2fr 1fr;
}

.bl-gallery[data-count="4"] .bl-gallery__tile:nth-child(2) {
	grid-column: span 2;
}

.bl-gallery__open {
	position: absolute;
	inset: 0;
	display: block;
	border-radius: inherit;
	cursor: zoom-in;
}

.bl-gallery__open img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-gallery__open:hover img {
	transform: scale(1.03);
}

.bl-gallery__open:focus-visible {
	box-shadow: inset var(--wp--custom--focus--ring);
}

.bl-gallery__more {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: var(--wp--custom--overlay--scrim-strong);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--extrabold);
	font-size: var(--wp--preset--font-size--body-sm);
}

.bl-gallery__foot {
	margin: var(--wp--preset--spacing--12) 0 0;
}

@media (max-width: 720px) {
	.bl-gallery,
	.bl-gallery[data-count] {
		display: flex;
		gap: 10px;
		height: auto;
		margin: 0 calc(var(--wp--custom--layout--gutter-phone) * -1);
		padding: 0 var(--wp--custom--layout--gutter-phone) 6px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--wp--custom--layout--gutter-phone);
	}

	.bl-gallery__tile {
		flex: 0 0 82%;
		aspect-ratio: 3 / 2;
		scroll-snap-align: start;
	}

	.bl-gallery__more {
		display: none;
	}
}

/* Photo viewer: full screen on ink-night; the photo uncropped in a 3 : 2 frame. */
.bl-viewer {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z--sheet);
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--ink-night);
	color: var(--wp--preset--color--paper);
}

.bl-viewer[hidden] {
	display: none;
}

.admin-bar .bl-viewer {
	top: 32px;
}

@media (max-width: 720px) {
	.admin-bar .bl-viewer {
		top: 46px;
	}
}

.bl-viewer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--24);
	border-bottom: 1px solid var(--wp--custom--overlay--on-deep-line);
}

.bl-viewer__count {
	margin: 0;
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-viewer__stage {
	flex: 1;
	min-height: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-rows: minmax(0, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--16);
}

/* The photo keeps its own ratio inside the available 3 : 2 area; it is never cropped. */
.bl-viewer__frame {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: calc((100vh - 200px) * 1.5);
	height: 100%;
	min-height: 0;
	margin: 0 auto;
}

.bl-viewer__frame img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.bl-viewer__caption {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px var(--wp--preset--spacing--16);
	padding: 0 var(--wp--preset--spacing--24) var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--on-deep-muted);
}

.bl-viewer__caption p {
	margin: 0;
}

.bl-viewer__text {
	color: var(--wp--preset--color--paper);
}

.bl-viewer__credit a {
	color: var(--wp--preset--color--on-deep-muted);
}

.bl-viewer__credit a:hover {
	color: var(--wp--preset--color--highlight);
}

@media (max-width: 720px) {
	.bl-viewer__stage {
		grid-template-columns: minmax(0, 1fr);
		padding: var(--wp--preset--spacing--12) 0;
	}

	.bl-viewer__nav {
		display: none;
	}

	.bl-viewer__caption {
		padding: 0 var(--wp--preset--spacing--16) var(--wp--preset--spacing--16);
	}
}

/* Visit: one column, items at most 68 characters wide (D-077). */
.bl-visit__item {
	max-width: 68ch;
	padding: var(--wp--preset--spacing--16) 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: var(--wp--custom--line-height--text-sm);
}

.bl-visit__item p {
	margin: 4px 0 0;
}

.bl-visit__title {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--lg);
}

.bl-visit__title .bl-icon {
	width: var(--wp--custom--icon--lg);
	height: var(--wp--custom--icon--lg);
	color: var(--wp--preset--color--primary-deep);
}

.bl-visit__item .bl-tags {
	margin-top: var(--wp--preset--spacing--8);
}

.bl-visit .bl-prose {
	margin-top: 4px;
}

.bl-lp-block .bl-notice {
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Lake card (aside; first block of the single column). */
.bl-lake-card {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
}

.bl-lake-card__list {
	margin: 0;
	padding: 6px var(--wp--preset--spacing--16) 12px;
}

.bl-lake-card__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	padding: 10px 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
}

.bl-lake-card__row:first-child {
	border-top: 0;
}

.bl-lake-card__row dt {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-lake-card__row dt .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
	color: var(--wp--preset--color--primary-deep);
}

.bl-lake-card__row dd {
	margin: 0;
	font-weight: var(--wp--custom--font-weight--bold);
	text-align: right;
}

.bl-lake-card__row dd small,
.bl-card__stats small {
	margin-left: 2px;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--semibold);
	color: var(--wp--preset--color--ink-muted);
}

.bl-lake-card__row--long {
	display: block;
}

.bl-lake-card__row--long dd {
	margin-top: 4px;
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--compact);
	text-align: left;
}

.bl-lake-card__line {
	display: block;
}

.bl-refs {
	margin-left: 2px;
	font-size: var(--wp--preset--font-size--xxs);
	font-weight: var(--wp--custom--font-weight--bold);
	line-height: 0;
}

.bl-refs a {
	color: var(--wp--preset--color--primary-deep);
	text-decoration: none;
}

.bl-refs a:hover {
	text-decoration: underline;
}

.bl-lake-card__more {
	display: none;
}

@media (max-width: 1080px) {
	.bl-lake-card:not(.is-expanded) .bl-lake-card__list {
		max-height: 128px;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(var(--wp--preset--color--black) 45%, transparent);
		mask-image: linear-gradient(var(--wp--preset--color--black) 45%, transparent);
	}

	.bl-lake-card__more {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--wp--preset--spacing--8);
		width: 100%;
		height: var(--wp--custom--control--height);
		border: 0;
		border-top: 1px solid var(--wp--preset--color--line-soft);
		background: none;
		font-weight: var(--wp--custom--font-weight--bold);
		font-size: var(--wp--preset--font-size--md);
		color: var(--wp--preset--color--primary-deep);
		cursor: pointer;
	}

	.bl-lake-card__more .bl-icon {
		transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
	}

	.bl-lake-card.is-expanded .bl-lake-card__more .bl-icon {
		transform: rotate(180deg);
	}

	/* A short card needs no button. */
	.bl-lake-card.is-short .bl-lake-card__list {
		max-height: none;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.bl-lake-card.is-short .bl-lake-card__more {
		display: none;
	}
}

/* At a glance (desktop aside): sand panel with the watermark. */
.bl-glance {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--24);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--sand-light);
}

.bl-glance__watermark {
	top: -110px;
	right: -90px;
	width: 200px;
	height: 180px;
	color: var(--wp--preset--color--sand);
	transform: rotate(160deg);
}

.bl-glance__row {
	position: relative;
	z-index: var(--wp--custom--z--raised);
}

.bl-glance__row p {
	margin: 0;
}

.bl-glance__label {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-glance__value {
	margin-top: 6px !important;
	font-weight: var(--wp--custom--font-weight--bold);
	line-height: var(--wp--custom--line-height--compact);
}

.bl-glance__sub {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--medium);
	color: var(--wp--preset--color--ink-muted);
}

/* Not shown in the single column (D-082). */
@media (max-width: 1080px) {
	.bl-glance {
		display: none;
	}
}

/* Places & trails */
.bl-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-filter-row .bl-btn[aria-pressed="true"] {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-places {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: start;
}

.bl-place {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 12px;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
}

.bl-place--no-photo {
	grid-template-columns: minmax(0, 1fr);
}

.bl-place__media img {
	width: 96px;
	height: 96px;
	border-radius: var(--wp--custom--radius--sm);
	object-fit: cover;
}

.bl-place__type {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xxs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-place__type .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
}

.bl-place__title {
	margin: 2px 0;
	font-size: var(--wp--preset--font-size--lg);
	line-height: var(--wp--custom--line-height--title);
}

.bl-place__text {
	margin: 2px 0 6px;
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--text-sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-place__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}

.bl-place__dist {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: var(--wp--custom--font-weight--bold);
	color: var(--wp--preset--color--ink-muted);
}

.bl-place__toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: var(--wp--custom--control--touch);
	margin-top: 4px;
}

.bl-place__toggle[aria-expanded="true"] .bl-icon {
	transform: rotate(180deg);
}

.bl-place__facts {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 12px;
	margin: 0 0 12px;
	font-size: var(--wp--preset--font-size--md);
}

.bl-place__facts dt {
	color: var(--wp--preset--color--ink-muted);
}

.bl-place__facts dd {
	margin: 0;
	font-weight: var(--wp--custom--font-weight--semibold);
}

.bl-place__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
}

.bl-suggest-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--16) 0 0;
	font-size: var(--wp--preset--font-size--md);
}

.bl-suggest-inline > .bl-icon {
	color: var(--wp--preset--color--primary-deep);
}

@media (max-width: 720px) {
	.bl-places {
		grid-template-columns: 1fr;
	}
}

/* Cards (cards.md): grid of three; two at ≤ 960, one at ≤ 720. */
.bl-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}

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

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

@media (max-width: 720px) {
	.bl-card-grid,
	.bl-card-grid--two {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bl-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing), box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
}

.bl-card:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--mist);
}

.bl-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bl-card__media .bl-placeholder {
	height: 100%;
}

.bl-card__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
}

.bl-card__loc {
	margin: 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xxs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-card__title {
	margin: 4px 0 0;
	font-size: var(--wp--preset--font-size--xxl);
	line-height: var(--wp--custom--line-height--title);
}

.bl-card__title a {
	color: inherit;
	text-decoration: none;
}

/* The whole card is one link: the title's link is stretched over the card. */
.bl-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: var(--wp--custom--z--raised);
}

.bl-card__title a:focus-visible {
	box-shadow: none;
}

.bl-card__type {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-card__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--16);
	margin: 12px 0 6px;
}

.bl-card__stats b {
	display: block;
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--title);
}

.bl-card__stats span {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink-muted);
}

.bl-card__stats .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
	color: var(--wp--preset--color--primary-deep);
}

.bl-card__tags,
.bl-card .bl-credit--compact {
	position: relative;
	z-index: var(--wp--custom--z--above);
}

.bl-card .bl-credit--compact {
	position: absolute;
}

.bl-lp-more {
	margin: var(--wp--preset--spacing--16) 0 0;
}

/* Guides: framed cards in two columns (one at ≤ 960). */
.bl-guides {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}

.bl-guide {
	position: relative;
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--16);
	align-items: center;
	padding: 12px var(--wp--preset--spacing--20) 12px 12px;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing), box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-guide:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
}

.bl-guide:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-guide:not(:has(.bl-guide__media)) {
	grid-template-columns: minmax(0, 1fr);
	padding-left: var(--wp--preset--spacing--20);
}

.bl-guide__media img {
	width: 140px;
	aspect-ratio: 4 / 3;
	border-radius: var(--wp--custom--radius--sm);
	object-fit: cover;
}

.bl-guide__title {
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--lg);
	line-height: var(--wp--custom--line-height--title);
}

.bl-guide__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.bl-guide__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bl-guide__title a:focus-visible {
	box-shadow: none;
}

.bl-guide__text {
	display: -webkit-box;
	margin: 6px 0 0;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--text-sm);
	color: var(--wp--preset--color--ink-muted);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

@media (max-width: 960px) {
	.bl-guides {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.bl-guide {
		grid-template-columns: 110px minmax(0, 1fr);
	}

	.bl-guide__media img {
		width: 110px;
	}
}

/* Useful links (D-077): rows of at least 56 px, at most 68 characters wide. */
.bl-links {
	max-width: 68ch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	min-height: 56px;
	padding: var(--wp--preset--spacing--8) 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.bl-links li:last-child a {
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
}

.bl-links__title {
	display: block;
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-links__desc {
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--medium);
	color: var(--wp--preset--color--ink-muted);
}

.bl-links a > .bl-icon {
	color: var(--wp--preset--color--primary-deep);
}

.bl-links a:hover .bl-links__title {
	color: var(--wp--preset--color--primary-deep);
}

/* Suggestion panel */
.bl-suggest {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--32);
	align-items: center;
	padding: var(--wp--preset--spacing--28) var(--wp--preset--spacing--32);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--sand-light);
}

.bl-suggest > *:not(.bl-watermark) {
	position: relative;
	z-index: var(--wp--custom--z--raised);
}

.bl-suggest p {
	max-width: 56ch;
	margin: 6px 0 0;
}

.bl-suggest .bl-notice {
	margin-top: var(--wp--preset--spacing--12);
}

.bl-suggest__watermark {
	right: -90px;
	bottom: -170px;
	width: 340px;
	height: 310px;
	color: var(--wp--preset--color--sand);
	transform: rotate(30deg);
}

@media (max-width: 960px) {
	.bl-suggest {
		grid-template-columns: minmax(0, 1fr);
		padding: var(--wp--preset--spacing--20);
	}
}

@media (max-width: 720px) {
	.bl-suggest .bl-btn {
		width: 100%;
	}
}

/* Suggestion form */
.bl-hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.bl-suggest-form {
	display: contents;
}

.bl-suggest-form__privacy {
	margin: var(--wp--preset--spacing--16) 0 0;
}

.bl-suggest-done {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--16);
	padding-top: var(--wp--preset--spacing--24);
}

.bl-suggest-done__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: var(--wp--custom--font-weight--semibold);
}

/* Sources & data */
.bl-sources__list {
	margin: var(--wp--preset--spacing--12) 0 0;
	padding-left: var(--wp--preset--spacing--24);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--ink-muted);
}

.bl-sources__list li {
	margin: 6px 0;
	overflow-wrap: anywhere;
}

.bl-sources__list li:target {
	background: var(--wp--preset--color--mist);
}

.bl-sources__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--12) 0 0;
}

/* --- 85-map.css --- */

/* Maps (map-style.md §3–§5, explore.md, lake-page.md). The canvas is drawn by assets/js/map.js. */

.bl-map {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--custom--map--land);
}

/* Beats MapLibre's own `.maplibregl-map { position: relative }`. */
.bl-map .bl-map__canvas {
	position: absolute;
	inset: 0;
}

.bl-map--home {
	height: clamp(420px, 58vh, 620px);
}

.bl-map--group {
	height: 420px;
}

.bl-map--places {
	height: 300px;
}

.bl-map--location {
	height: 190px;
	border-radius: var(--wp--custom--radius--card) var(--wp--custom--radius--card) 0 0;
}

@media (max-width: 720px) {

	.bl-map--home,
	.bl-map--group {
		height: 72vh;
	}
}

.bl-map.is-loading::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--custom--gradient--skeleton);
	background-size: 200% 100%;
	opacity: 0.5;
	pointer-events: none;
}

/* Skip link: visible only when focused. */
.bl-map__skip {
	position: absolute;
	top: var(--wp--preset--spacing--12);
	left: var(--wp--preset--spacing--12);
	z-index: var(--wp--custom--z--map-overlay);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--bold);
	text-decoration: none;
	transform: translateY(-200%);
}

.bl-map__skip:focus,
.bl-map__skip:focus-visible {
	transform: none;
	box-shadow: var(--wp--custom--focus--ring);
	outline: none;
}

.bl-map__end:focus {
	outline: none;
}

/* Zoom and locate: 48 px white round buttons, top right. */
.bl-map__controls {
	position: absolute;
	top: var(--wp--preset--spacing--12);
	right: var(--wp--preset--spacing--12);
	z-index: var(--wp--custom--z--map-control);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
}

.bl-map__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wp--custom--control--height);
	height: var(--wp--custom--control--height);
	padding: 0;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	box-shadow: var(--wp--preset--shadow--float);
	cursor: pointer;
}

.bl-map__btn:hover {
	border-color: var(--wp--preset--color--line-ui);
}

.bl-map__btn:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-map__btn .bl-icon {
	width: var(--wp--custom--icon--md);
	height: var(--wp--custom--icon--md);
}

/* Legend: top left on desktop, bottom left and collapsible on phones; always in words. */
.bl-map__legend {
	position: absolute;
	top: var(--wp--preset--spacing--12);
	left: var(--wp--preset--spacing--12);
	z-index: var(--wp--custom--z--map-control);
	max-width: calc(100% - 96px);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--custom--overlay--glass-white);
	box-shadow: var(--wp--preset--shadow--float);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-map__legend-toggle {
	display: none;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: var(--wp--custom--control--touch);
	padding: 0 var(--wp--preset--spacing--12);
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-weight: var(--wp--custom--font-weight--bold);
	cursor: pointer;
}

.bl-map__legend-list {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	margin: 0;
	padding: var(--wp--preset--spacing--12);
	list-style: none;
}

.bl-map__legend-list li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--ink);
}

@media (max-width: 720px) {

	.bl-map__legend {
		top: auto;
		bottom: var(--wp--preset--spacing--12);
	}

	.bl-map__legend-toggle {
		display: inline-flex;
	}

	.bl-map__legend:not(.is-open) .bl-map__legend-list {
		display: none;
	}

	.bl-map__legend-list {
		padding-top: 0;
	}
}

/* Marker shapes in the legend (the map draws the same shapes). */
.bl-marker {
	position: relative;
	flex: none;
	width: 18px;
	height: 18px;
	border: 3px solid var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--primary);
	box-shadow: var(--wp--preset--shadow--marker);
}

.bl-marker--regulated::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 4px;
	height: 4px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink);
}

.bl-marker--artificial {
	border-radius: var(--wp--custom--radius--xs);
	background: var(--wp--preset--color--ink);
}

/* The visitor's position. */
.bl-you {
	display: block;
	width: 18px;
	height: 18px;
	border: 3px solid var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 6px var(--wp--custom--overlay--halo);
}

/* Phones: "Tap to explore the map" keeps the page scrolling. */
.bl-map__gate {
	position: absolute;
	inset: 0;
	z-index: var(--wp--custom--z--map-gate);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0 0 var(--wp--preset--spacing--24);
	border: 0;
	background: var(--wp--custom--gradient--map-gate);
	cursor: pointer;
}

.bl-map__gate[hidden] {
	display: none;
}

.bl-map__gate span {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--24);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--bold);
	box-shadow: var(--wp--preset--shadow--float);
}

.bl-map__gate:focus-visible span {
	box-shadow: var(--wp--custom--focus--ring);
}

/* "Map unavailable": the list keeps working. */
.bl-map__notice {
	position: absolute;
	inset: 0;
	z-index: var(--wp--custom--z--map-overlay);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--16);
	background: var(--wp--preset--color--mist);
}

.bl-map__notice[hidden] {
	display: none;
}

.bl-map__notice .bl-notice {
	max-width: 420px;
}

.bl-map.is-unavailable .bl-map__controls,
.bl-map.is-unavailable .bl-map__legend,
.bl-map.is-unavailable .bl-map__gate {
	display: none;
}

/* Preview card (B-3, D-105): a 300 px popover beside the marker; on phones a compact card at the bottom. */
.bl-preview {
	position: absolute;
	z-index: var(--wp--custom--z--map-selected);
	width: 300px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--pop);
}

.bl-preview:focus {
	outline: none;
}

.bl-preview:focus-visible {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-preview[hidden] {
	display: none;
}

.bl-preview.is-loading {
	padding: var(--wp--preset--spacing--16);
}

.bl-preview__media {
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--mist);
}

.bl-preview__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bl-preview__body {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--16);
}

.bl-preview__name {
	margin: 0;
	padding-right: var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--voice);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: var(--wp--custom--font-weight--bold);
	line-height: var(--wp--custom--line-height--title);
}

.bl-preview__media + .bl-preview__body .bl-preview__name {
	padding-right: 0;
}

.bl-preview .bl-card__loc {
	margin: 0;
	white-space: normal;
}

.bl-preview.is-sheet .bl-card__loc,
.bl-preview:not(:has(.bl-preview__media)) .bl-card__loc {
	padding-right: var(--wp--preset--spacing--40);
}

.bl-preview__close {
	position: absolute;
	top: var(--wp--preset--spacing--8);
	right: var(--wp--preset--spacing--8);
	z-index: var(--wp--custom--z--above);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wp--custom--control--compact);
	height: var(--wp--custom--control--compact);
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--custom--overlay--glass-white);
	color: var(--wp--preset--color--ink);
	box-shadow: var(--wp--preset--shadow--float);
	cursor: pointer;
}

.bl-preview__close:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-preview__go {
	width: 100%;
	justify-content: center;
}

.bl-preview.is-sheet {
	right: var(--wp--preset--spacing--12);
	bottom: 88px;
	left: var(--wp--preset--spacing--12);
	width: auto;
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
}

.bl-preview.is-sheet .bl-preview__media {
	aspect-ratio: auto;
	height: 100%;
}

.bl-preview.is-sheet .bl-preview__body {
	gap: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--12);
}

.bl-preview.is-sheet .bl-preview__name {
	font-size: var(--wp--preset--font-size--lg);
}

.bl-preview.is-sheet .bl-tags {
	display: none;
}

.bl-preview.is-sheet .bl-preview__go {
	min-height: var(--wp--custom--control--compact);
}

.bl-preview.is-sheet:not(:has(.bl-preview__media)) {
	grid-template-columns: 1fr;
}

/* MapLibre's attribution: small, in our type. */
.bl-map .maplibregl-ctrl-attrib {
	font-family: var(--wp--preset--font-family--read);
	font-size: var(--wp--preset--font-size--xxs);
}

.bl-map .maplibregl-ctrl-attrib a {
	color: var(--wp--preset--color--ink);
}

.bl-map .maplibregl-canvas:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--primary-deep);
}

/* "Show on map" under a static map. */
.bl-map-link {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
}

/* Where the maps sit. */
.bl-home-map {
	padding: var(--wp--preset--spacing--64) 0;
}

.bl-home-map:focus {
	outline: none;
}

.bl-lake-card__map {
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
}

.bl-places__map,
.bl-group__map {
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-place.is-highlighted {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 2px var(--wp--preset--color--highlight);
}

.bl-place:focus {
	outline: none;
}

@media (max-width: 720px) {

	.bl-home-map {
		padding: var(--wp--preset--spacing--40) 0;
	}
}

/* --- 90-explore.css --- */

/* Explore (components/explore.md): title bar, filter toolbar and panels, active chips, row cards beside a sticky
   map; on phones a sticky title bar, the filter sheet, a full-screen map and the Map / List toggle. */

.bl-explore {
	padding-bottom: var(--wp--preset--spacing--64);
}

.bl-explore__head,
.bl-explore__form,
.bl-explore__active {
	padding-right: var(--wp--custom--layout--gutter);
	padding-left: var(--wp--custom--layout--gutter);
}

.bl-explore__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--12) var(--wp--preset--spacing--24);
	padding-top: var(--wp--preset--spacing--32);
	padding-bottom: var(--wp--preset--spacing--16);
}

.bl-explore__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
}

.bl-explore__title .bl-h1 {
	margin: 0;
}

.bl-explore__count {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--md);
}

.bl-explore__head-actions {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}

.bl-explore__filters-btn {
	display: none;
}

.bl-explore__head-actions {
	min-width: 0;
}

.bl-explore__sort {
	min-width: 0;
	max-width: 100%;
}

.bl-explore__sort select {
	min-width: 0;
	max-width: 100%;
	padding-right: var(--wp--preset--spacing--4);
	overflow: hidden;
	color: var(--wp--preset--color--ink);
	font: inherit;
	text-overflow: ellipsis;
	appearance: none;
}

.bl-explore__sort .bl-icon {
	flex: none;
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
	pointer-events: none;
}

.bl-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: var(--wp--custom--font-weight--bold);
	line-height: var(--wp--custom--line-height--heading-1);
}

.bl-badge[hidden] {
	display: none;
}

/* Toolbar: Country · Activity · Lake type · Size · Access · More filters, then Near me (the key action). */
.bl-explore__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}

.bl-fsheet,
.bl-fsheet[hidden],
.bl-fsheet__body {
	display: contents;
}

.bl-fsheet__head,
.bl-fsheet__foot,
.bl-fsheet__near {
	display: none;
}

.bl-explore__near {
	margin-left: auto;
}

.bl-explore__nearmsg {
	margin: var(--wp--preset--spacing--8) 0 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-explore__nearmsg[hidden] {
	display: none;
}

.bl-fpanel {
	position: relative;
}

.bl-fbtn {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: var(--wp--custom--control--height);
	padding: 0 var(--wp--preset--spacing--20);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--md);
	font-weight: var(--wp--custom--font-weight--bold);
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.bl-fbtn::-webkit-details-marker {
	display: none;
}

.bl-fbtn:hover,
.bl-fbtn.is-active {
	border-color: var(--wp--preset--color--ink);
}

.bl-fbtn:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-fbtn .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
	transition: transform var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-fpanel[open] > .bl-fbtn .bl-icon {
	transform: rotate(180deg);
}

.bl-fpanel__body {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: var(--wp--custom--z--dropdown);
	width: 320px;
	max-height: 70vh;
	overflow: auto;
	padding: var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--pop);
}

.bl-fpanel[data-bl-panel="more"] .bl-fpanel__body {
	width: 360px;
}

.bl-fpanel__body fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.bl-fpanel__group + .bl-fpanel__group,
.bl-fpanel__group + .bl-range,
.bl-range + .bl-range,
.bl-range + .bl-fpanel__group,
[data-bl-region-wrap] + .bl-fpanel__group {
	margin-top: var(--wp--preset--spacing--16);
}

.bl-fpanel__legend,
.bl-range__legend {
	padding: 0 var(--wp--preset--spacing--4) var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--primary-deep);
	font-family: var(--wp--preset--font-family--voice);
	font-size: var(--wp--preset--font-size--xxs);
	font-weight: var(--wp--custom--font-weight--semibold);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
}

.bl-fpanel__help {
	margin: var(--wp--preset--spacing--8) var(--wp--preset--spacing--4) 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-fpanel__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--12);
	margin-top: var(--wp--preset--spacing--12);
	padding-top: var(--wp--preset--spacing--12);
	border-top: 1px solid var(--wp--preset--color--line-soft);
}

.bl-explore.is-enhanced .bl-fpanel__apply {
	display: none;
}

/* Option rows: 44 px, control, icon, label, count. */
.bl-options {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-option {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-height: var(--wp--custom--control--touch);
	padding: 0 var(--wp--preset--spacing--8);
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
}

.bl-option:hover {
	background: var(--wp--preset--color--mist);
}

.bl-option input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--wp--preset--color--ink);
}

.bl-option__label {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--ink);
}

.bl-option__label .bl-icon {
	width: var(--wp--custom--icon--md);
	height: var(--wp--custom--icon--md);
	color: var(--wp--preset--color--primary-deep);
}

.bl-option__count {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
	font-variant-numeric: tabular-nums;
}

.bl-option.is-disabled {
	cursor: not-allowed;
}

.bl-option.is-disabled:hover {
	background: none;
}

.bl-option.is-disabled .bl-option__label,
.bl-option.is-disabled .bl-option__count {
	color: var(--wp--preset--color--ink-muted);
}

.bl-option.is-disabled .bl-option__label {
	text-decoration: line-through;
	text-decoration-color: var(--wp--preset--color--line-ui);
}

.bl-range {
	min-width: 0;
	margin: var(--wp--preset--spacing--12) 0 0;
	padding: 0;
	border: 0;
}

.bl-range__fields {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: 0 var(--wp--preset--spacing--4);
}

.bl-range__label {
	font-size: var(--wp--preset--font-size--sm);
}

.bl-range .bl-input {
	width: 84px;
	min-height: var(--wp--custom--control--compact);
	padding: 0 var(--wp--preset--spacing--8);
	border: 1.5px solid var(--wp--preset--color--line-ui);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font: inherit;
}

.bl-range .bl-input:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-range__unit {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

/* Active filters. */
.bl-explore__active {
	min-height: var(--wp--preset--spacing--16);
	padding-top: var(--wp--preset--spacing--12);
	padding-bottom: var(--wp--preset--spacing--12);
}

.bl-explore__chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-chip--active {
	position: relative;
	gap: var(--wp--preset--spacing--8);
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-weight: var(--wp--custom--font-weight--bold);
	text-decoration: none;
}

.bl-chip--active::after {
	content: "";
	position: absolute;
	inset: -4px 0;
}

.bl-chip--active:hover {
	background: var(--wp--preset--color--ink-night);
	color: var(--wp--preset--color--white);
}

.bl-chip--active .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
}

.bl-chip--active:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-radius {
	display: inline-flex;
	gap: 2px;
	padding: 2px;
	border: 1.5px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
}

.bl-radius__opt {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--bold);
	text-decoration: none;
}

.bl-radius__opt[aria-current="true"] {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-radius__opt:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--focus--ring);
}

/* List beside the map. */
.bl-explore__split {
	display: grid;
	grid-template-columns: clamp(560px, 40vw, 640px) 1fr;
	align-items: start;
}

.bl-explore__list {
	padding: 0 var(--wp--preset--spacing--16) 0 var(--wp--custom--layout--gutter);
}

.bl-results {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	transition: opacity var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-results.is-loading {
	opacity: 0.5;
}

.bl-explore__map {
	position: sticky;
	top: var(--wp--custom--layout--header);
	height: calc(100vh - var(--wp--custom--layout--header));
	padding: 14px;
}

.bl-explore__map .bl-map {
	height: 100%;
}

.bl-explore__map-near {
	display: none;
}

.bl-explore__more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--24);
}

.bl-explore__more .bl-meta {
	margin: 0;
}

.bl-explore.is-enhanced [data-bl-pagination] {
	display: none;
}

.bl-explore__empty[hidden] {
	display: none;
}

/* Row card (cards.md): image 38 % at the card's height. */
.bl-card--row {
	flex-direction: row;
	min-height: 168px;
}

.bl-card--row .bl-card__media {
	flex: none;
	width: 38%;
	aspect-ratio: auto !important;
}

.bl-card--row .bl-card__media .bl-placeholder {
	aspect-ratio: auto !important;
}

.bl-card--row .bl-card__body {
	flex: 1;
	min-width: 0;
	justify-content: center;
}

.bl-card--row .bl-card__title {
	font-size: var(--wp--preset--font-size--xl);
}

.bl-card.is-highlighted,
.bl-card.is-selected {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 2px var(--wp--preset--color--highlight);
}

@media (max-width: 420px) {

	.bl-card--row .bl-card__media {
		width: 34%;
	}
}

/* The floating Map / List toggle (phones). */
.bl-fab {
	display: none;
}

@media (max-width: 1080px) {

	.bl-explore__split {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

@media (max-width: 960px) {

	.bl-explore__head,
	.bl-explore__form,
	.bl-explore__active {
		padding-right: var(--wp--custom--layout--gutter-phone);
		padding-left: var(--wp--custom--layout--gutter-phone);
	}

	.bl-explore__head {
		position: sticky;
		top: var(--wp--custom--layout--header-phone);
		z-index: var(--wp--custom--z--toolbar);
		align-items: center;
		padding-top: var(--wp--preset--spacing--12);
		padding-bottom: var(--wp--preset--spacing--12);
		background: var(--wp--preset--color--paper);
	}

	.bl-explore__filters-btn {
		display: inline-flex;
	}

	/* Hidden visually only: it names the select for screen readers. */
	.bl-explore__sort .bl-select__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.bl-explore__head-actions {
		flex: 1;
		justify-content: flex-end;
	}

	.bl-explore__sort,
	.bl-explore__filters-btn {
		height: var(--wp--custom--control--compact);
	}

	.bl-explore__sort {
		max-width: 52vw;
	}

	.bl-explore__near {
		display: none;
	}

	/* The filter sheet: full screen, applies on "Show N lakes". Without JavaScript it is an inline section. */
	.bl-fsheet {
		display: block;
		width: 100%;
	}

	.bl-explore.is-enhanced .bl-fsheet {
		position: fixed;
		inset: 0;
		z-index: var(--wp--custom--z--sheet);
		display: flex;
		flex-direction: column;
		background: var(--wp--preset--color--white);
	}

	.bl-explore.is-enhanced .bl-fsheet[hidden] {
		display: none;
	}

	.bl-fsheet__head,
	.bl-fsheet__foot {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--12);
		padding: var(--wp--preset--spacing--12) var(--wp--custom--layout--gutter-phone);
	}

	.bl-fsheet__head {
		border-bottom: 1px solid var(--wp--preset--color--line-soft);
	}

	.bl-fsheet__head .bl-h3 {
		margin: 0;
	}

	.bl-fsheet__foot {
		border-top: 1px solid var(--wp--preset--color--line-soft);
		box-shadow: var(--wp--preset--shadow--sheet);
	}

	.bl-fsheet__foot .bl-btn--primary {
		flex: 1;
		justify-content: center;
	}

	.bl-fsheet__body {
		display: block;
		flex: 1;
		overflow: auto;
		padding: var(--wp--preset--spacing--16) var(--wp--custom--layout--gutter-phone);
	}

	.bl-fsheet__near {
		display: inline-flex;
		margin-bottom: var(--wp--preset--spacing--16);
	}

	.bl-fpanel {
		padding: var(--wp--preset--spacing--8) 0;
		border-bottom: 1px solid var(--wp--preset--color--line-soft);
	}

	.bl-fbtn {
		width: 100%;
		justify-content: flex-start;
		padding: 0;
		border: 0;
		background: none;
		font-family: var(--wp--preset--font-family--voice);
		font-size: var(--wp--preset--font-size--lg);
	}

	.bl-fbtn .bl-icon {
		margin-left: auto;
	}

	.bl-fpanel__body,
	.bl-fpanel[data-bl-panel="more"] .bl-fpanel__body {
		position: static;
		width: auto;
		max-height: none;
		overflow: visible;
		padding: 0 0 var(--wp--preset--spacing--8);
		box-shadow: none;
	}

	.bl-explore.is-enhanced .bl-fpanel__foot {
		display: none;
	}

	.bl-explore__split {
		display: block;
	}

	.bl-explore__list {
		padding: 0 var(--wp--custom--layout--gutter-phone);
	}

	/* Map view: full screen under the header; the title bar and the footer are hidden. */
	.bl-explore__map {
		display: none;
	}

	.bl-explore[data-view="map"] .bl-explore__map {
		position: fixed;
		top: var(--wp--custom--layout--header-phone);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: var(--wp--custom--z--map-fullscreen);
		display: block;
		height: auto;
		padding: 0;
		background: var(--wp--preset--color--paper);
	}

	.bl-explore[data-view="map"] .bl-explore__map .bl-map {
		border-radius: 0;
	}

	/* Signed-in editors: below the WordPress toolbar (46 px on phones, 32 px from 783 px). */
	body.admin-bar .bl-explore[data-view="map"] .bl-explore__map {
		top: calc(var(--wp--custom--layout--header-phone) + 46px);
	}

	.bl-explore[data-view="map"] .bl-explore__list,
	.bl-explore[data-view="map"] .bl-explore__head,
	.bl-explore[data-view="map"] .bl-explore__active,
	.bl-explore[data-view="map"] .bl-explore__form {
		display: none;
	}

	body:has(.bl-explore[data-view="map"]) .bl-footer {
		display: none;
	}

	.bl-explore__map-near {
		position: absolute;
		top: var(--wp--preset--spacing--12);
		left: 50%;
		z-index: var(--wp--custom--z--map-control);
		display: inline-flex;
		gap: var(--wp--preset--spacing--8);
		box-shadow: var(--wp--preset--shadow--float);
		transform: translateX(-50%);
	}

	.bl-explore__map .bl-map__legend {
		top: auto;
		bottom: 88px;
	}

	.bl-fab {
		position: fixed;
		bottom: var(--wp--preset--spacing--24);
		left: 50%;
		z-index: var(--wp--custom--z--fab);
		display: inline-flex;
		align-items: center;
		gap: var(--wp--preset--spacing--8);
		min-height: var(--wp--custom--control--height);
		padding: 0 var(--wp--preset--spacing--24);
		border-radius: var(--wp--custom--radius--pill);
		background: var(--wp--preset--color--ink);
		color: var(--wp--preset--color--white);
		font-weight: var(--wp--custom--font-weight--bold);
		text-decoration: none;
		box-shadow: var(--wp--preset--shadow--float);
		transform: translateX(-50%);
	}

	.bl-fab:hover,
	.bl-fab:visited {
		color: var(--wp--preset--color--white);
	}

	.bl-fab:focus-visible {
		outline: none;
		box-shadow: var(--wp--custom--focus--ring);
	}

	.bl-explore[data-view="map"] .bl-fab {
		z-index: var(--wp--custom--z--map-fullscreen);
	}
}

@media (max-width: 720px) {

	.bl-card--row {
		min-height: 136px;
	}

	.bl-card--row .bl-card__title {
		font-size: var(--wp--preset--font-size--lg);
	}
}

/* --- 95-home.css --- */

/* Homepage sections (components/home.md, cards.md): countries index, map spacing, activity tiles, featured lakes
   with the lead card, the regions band, the guides deep panel. */

/* Browse by country: heading 4 : 8 beside the typographic index (three columns; two at ≤ 1080 and on phones). */
.bl-home-countries__grid {
	display: grid;
	grid-template-columns: 4fr 8fr;
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}

.bl-country-index {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: var(--wp--preset--spacing--32);
}

.bl-country-index a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: var(--wp--preset--spacing--16) 0;
	border-top: 1px solid var(--wp--preset--color--line-soft);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-country-index__name {
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: var(--wp--custom--line-height--title);
	transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-country-index__count {
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--ink-muted);
}

.bl-country-index a:hover {
	border-top-color: var(--wp--preset--color--primary);
}

.bl-country-index a:hover .bl-country-index__name {
	color: var(--wp--preset--color--primary-deep);
}

@media (max-width: 1080px) {
	.bl-country-index {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.bl-home-countries__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--16);
	}
}

@media (max-width: 720px) {
	.bl-country-index {
		column-gap: var(--wp--preset--spacing--20);
	}
}

/* The map follows the countries closely; the activities follow the map, and the featured lakes the activities. */
.bl-home-map {
	padding-bottom: var(--wp--preset--spacing--64);
}

.bl-home-activities {
	padding-top: 0;
}

.bl-home-featured {
	padding-top: var(--wp--preset--spacing--24);
}

@media (max-width: 720px) {
	.bl-home-map {
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.bl-home-featured {
		padding-top: var(--wp--preset--spacing--16);
	}
}

/* Activity tiles: six per row, three at ≤ 1080, a swipe strip at ≤ 720 (42 % width). */
.bl-activity-tiles {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.bl-activity-tile {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing), transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-activity-tile:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--ink);
	transform: translateY(-2px);
}

.bl-activity-tile__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--primary-deep);
}

.bl-activity-tile__icon .bl-icon {
	width: 26px;
	height: 26px;
}

.bl-activity-tile__name {
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--lg);
	line-height: var(--wp--custom--line-height--title);
}

.bl-activity-tile__count {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 1080px) {
	.bl-activity-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.bl-activity-tiles {
		display: flex;
		gap: 12px;
		margin: 0 calc(var(--wp--custom--layout--gutter-phone) * -1);
		padding: 0 var(--wp--custom--layout--gutter-phone) 6px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--wp--custom--layout--gutter-phone);
	}

	.bl-activity-tile {
		flex: 0 0 42%;
		scroll-snap-align: start;
	}
}

/* Featured lakes: the lead card spans both rows (1.35 : 1 : 1); at ≤ 960 it goes full width (3 : 2) above two
   columns; one column at ≤ 720. */
.bl-featured {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr;
	grid-template-rows: auto auto;
	gap: var(--wp--preset--spacing--24);
}

.bl-featured .bl-card--lead {
	grid-row: span 2;
}

.bl-card--lead .bl-card__title {
	font-size: var(--wp--preset--font-size--title-lead);
}

.bl-card__excerpt {
	margin: 8px 0 0;
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--text-sm);
	color: var(--wp--preset--color--ink-muted);
}

@media (min-width: 961px) {
	/* The lead image fills the card's height beside the four grid cards. */
	.bl-featured .bl-card--lead .bl-card__media {
		flex: 1;
		min-height: 420px;
		aspect-ratio: auto !important;
	}

	.bl-featured .bl-card--lead .bl-placeholder {
		height: 100%;
		aspect-ratio: auto !important;
	}
}

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

	.bl-featured .bl-card--lead {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

@media (max-width: 720px) {
	.bl-featured {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The page's one ad or sponsor slot, 56 px below the cards; nothing at all while it is empty. */
.bl-home-slot {
	margin-top: var(--wp--preset--spacing--56);
}

.bl-home-slot:empty {
	display: none;
}

/* Regions to explore: the sand band with the watermark bleeding off the top right. */
.bl-band {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: var(--wp--preset--spacing--96) 0;
	background: var(--wp--preset--color--sand-light);
}

.bl-band > .bl-container {
	z-index: var(--wp--custom--z--raised);
}

/* High enough that the card text below the section head stays off it at every width above 960 (4.5 : 1 needs
   Sand light behind Ink muted). */
.bl-home-regions__mark {
	top: -320px;
	right: -220px;
	width: 720px;
	height: 660px;
	color: var(--wp--preset--color--sand);
	transform: rotate(-18deg) scaleX(-1);
}

/* With the cards in a swipe strip, the watermark stays above them: card text on Sand would miss 4.5 : 1. */
@media (max-width: 960px) {
	.bl-home-regions__mark {
		top: -180px;
		right: -160px;
		width: 360px;
		height: 300px;
	}
}

@media (max-width: 720px) {
	.bl-band {
		padding: var(--wp--preset--spacing--64) 0;
	}
}

/* Photo region cards: four in a row; a swipe strip at ≤ 960 (72 % cards keeping the page margin, D-082). */
.bl-region-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--24);
}

.bl-region-card {
	position: relative;
	color: var(--wp--preset--color--ink);
}

.bl-region-card .bl-card__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
}

.bl-region-card .bl-credit--compact {
	position: absolute;
	z-index: var(--wp--custom--z--above);
}

.bl-region-card__loc {
	margin: 14px 0 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xxs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-region-card__title {
	margin: 4px 0 2px;
	font-size: var(--wp--preset--font-size--xxl);
	line-height: var(--wp--custom--line-height--title);
}

.bl-region-card__title a {
	color: inherit;
	text-decoration: none;
}

.bl-region-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: var(--wp--custom--z--raised);
	border-radius: var(--wp--custom--radius--card);
}

.bl-region-card__title a:focus-visible {
	box-shadow: none;
}

.bl-region-card__title a:focus-visible::after {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-region-card:hover .bl-region-card__title {
	color: var(--wp--preset--color--primary-deep);
}

.bl-region-card__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 960px) {
	.bl-region-cards {
		display: flex;
		gap: var(--wp--preset--spacing--16);
		margin: 0 calc(var(--wp--custom--layout--gutter) * -1);
		padding: 0 var(--wp--custom--layout--gutter) 8px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--wp--custom--layout--gutter);
	}

	.bl-region-card {
		flex: 0 0 72%;
		scroll-snap-align: start;
	}
}

@media (max-width: 720px) {
	.bl-region-cards {
		margin: 0 calc(var(--wp--custom--layout--gutter-phone) * -1);
		padding: 0 var(--wp--custom--layout--gutter-phone) 8px;
		scroll-padding-inline: var(--wp--custom--layout--gutter-phone);
	}
}

/* Guides on the deep panel (ink, radius.deep, 48 px padding) with the watermark in Highlight at 8 %. */
.bl-deep {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: var(--wp--preset--spacing--48);
	border-radius: var(--wp--custom--radius--deep);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

.bl-deep > :not(.bl-watermark) {
	position: relative;
	z-index: var(--wp--custom--z--raised);
}

.bl-deep .bl-h2 {
	color: var(--wp--preset--color--paper);
}

.bl-deep .bl-more {
	color: var(--wp--preset--color--secondary);
}

.bl-home-guides__mark {
	right: -180px;
	bottom: -300px;
	width: 640px;
	height: 580px;
	color: var(--wp--preset--color--highlight);
	opacity: 0.08;
	transform: rotate(200deg);
}

.bl-home-guides .bl-section-head {
	margin-bottom: var(--wp--preset--spacing--28);
}

.bl-deep-guides {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--wp--preset--spacing--28);
}

.bl-deep-guides--single {
	grid-template-columns: minmax(0, 1fr);
}

.bl-deep-guides__side {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.bl-deep-guide {
	position: relative;
	display: grid;
	gap: var(--wp--preset--spacing--16);
	align-items: center;
}

.bl-deep-guide--lead {
	grid-template-columns: 1.1fr 1fr;
	gap: var(--wp--preset--spacing--24);
}

.bl-deep-guide--small {
	grid-template-columns: 150px minmax(0, 1fr);
}

.bl-deep-guide:not(:has(.bl-deep-guide__media)) {
	grid-template-columns: minmax(0, 1fr);
}

.bl-deep-guide__media img {
	width: 100%;
	border-radius: var(--wp--custom--radius--sm);
	object-fit: cover;
}

.bl-deep-guide--lead .bl-deep-guide__media img {
	aspect-ratio: 3 / 2;
}

.bl-deep-guide--small .bl-deep-guide__media img {
	aspect-ratio: 4 / 3;
}

.bl-deep-guide__title {
	margin: 6px 0;
	font-size: var(--wp--preset--font-size--xl);
	line-height: var(--wp--custom--line-height--title);
}

.bl-deep-guide--lead .bl-deep-guide__title {
	font-size: var(--wp--preset--font-size--title-lead);
}

.bl-deep-guide__title a {
	color: var(--wp--preset--color--paper);
	text-decoration: none;
	transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-deep-guide__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bl-deep-guide:hover .bl-deep-guide__title a {
	color: var(--wp--preset--color--secondary);
}

.bl-deep-guide__title a:focus-visible {
	box-shadow: none;
}

.bl-deep-guide:focus-within {
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--focus--ring);
}

@media (max-width: 960px) {
	.bl-deep {
		padding: var(--wp--preset--spacing--28) var(--wp--preset--spacing--20);
		border-radius: var(--wp--custom--radius--panel);
	}

	.bl-deep-guides,
	.bl-deep-guide--lead {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.bl-deep-guide--small {
		grid-template-columns: 110px minmax(0, 1fr);
	}
}

/* --- 96-hub.css --- */

/* Hubs and their indexes (components/hub.md, cards.md, D-147, D-150): intro with the hub card, What to know,
   highlights with the wide card, row region cards and municipalities, the embedded Explore, activity pills, the
   /countries/, /activities/ and /lake-types/ indexes. */

/* Intro: 7 : 5 beside the hub card; the watermark (Primary at 5 %) bleeds off the left edge. Stacks at ≤ 1080. */
.bl-hub-intro {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--48);
}

.bl-hub-intro__mark {
	top: 0;
	left: -260px;
	width: 620px;
	height: 560px;
	color: var(--wp--preset--color--primary);
	opacity: 0.05;
	transform: rotate(12deg);
}

.bl-hub-intro__grid {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: var(--wp--preset--spacing--56);
	align-items: start;
}

.bl-hub-intro__text .bl-breadcrumb {
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-hub-intro__body {
	margin-top: var(--wp--preset--spacing--20);
}

.bl-hub-intro__body > p:first-child {
	font-size: var(--wp--preset--font-size--lede);
	line-height: var(--wp--custom--line-height--text-sm);
}

.bl-hub-card {
	padding: 12px;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
}

.bl-map.bl-hub-card__map {
	height: 260px;
	border-radius: var(--wp--custom--radius--sm);
}

.bl-hub-card__link {
	margin: 12px 4px 4px;
}

.bl-hub-partner {
	margin-top: var(--wp--preset--spacing--20);
}

.bl-hub-partner:empty {
	display: none;
}

@media (max-width: 1080px) {
	.bl-hub-intro__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--32);
	}
}

@media (max-width: 720px) {
	.bl-hub-intro {
		padding: var(--wp--preset--spacing--24) 0 var(--wp--preset--spacing--32);
	}

	.bl-map.bl-hub-card__map {
		height: 260px;
	}
}

/* What to know (activity hubs): a sand panel right after the intro; the partner module follows it. */
.bl-hub-know {
	padding-top: 0;
}

.bl-hub-know__panel {
	padding: var(--wp--preset--spacing--32);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--sand-light);
}

.bl-hub-know__panel .bl-h2 {
	margin-bottom: var(--wp--preset--spacing--16);
}

@media (max-width: 720px) {
	.bl-hub-know__panel {
		padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--20);
	}
}

/* Highlights: the wide card beside two compact row cards (1.6 : 1); one column at ≤ 1080. */
.bl-highlights {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: var(--wp--preset--spacing--24);
}

.bl-highlights--single {
	grid-template-columns: minmax(0, 1fr);
}

.bl-highlights__side {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--24);
}

.bl-highlights__side .bl-card--row {
	flex: 1;
}

.bl-highlights__side .bl-card--row .bl-card__media {
	width: 42%;
}

.bl-card--wide {
	flex-direction: row;
	min-height: 360px;
}

.bl-card--wide .bl-card__media {
	flex: none;
	width: 58%;
	aspect-ratio: auto !important;
}

.bl-card--wide .bl-card__media .bl-placeholder {
	height: 100%;
	aspect-ratio: auto !important;
}

.bl-card--wide .bl-card__body {
	flex: 1;
	min-width: 0;
	justify-content: flex-end;
	padding: var(--wp--preset--spacing--24);
}

.bl-card--wide .bl-card__title {
	font-size: var(--wp--preset--font-size--title-lead);
}

@media (max-width: 1080px) {
	.bl-highlights {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.bl-card--wide {
		flex-direction: column;
		min-height: 0;
	}

	.bl-card--wide .bl-card__media {
		width: 100%;
		aspect-ratio: 3 / 2 !important;
	}

	.bl-card--wide .bl-card__body {
		padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
	}
}

/* Regions: row region cards in three columns (one at ≤ 1080), then the municipalities as soft chips. */
.bl-region-rows {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}

.bl-region-row {
	position: relative;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--16);
	align-items: center;
	padding: 12px;
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing), box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-region-row:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
}

.bl-region-row:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-region-row__media img,
.bl-region-row__media .bl-placeholder {
	width: 120px;
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radius--sm);
	object-fit: cover;
}

/* At 120 px the placeholder keeps its symbol only; "No photo yet" stays its accessible name. */
.bl-region-row__media .bl-placeholder__label {
	display: none;
}

.bl-region-row__label {
	margin: 0;
	font-family: var(--wp--preset--font-family--voice);
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: var(--wp--preset--font-size--xxs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-deep);
}

.bl-region-row__title {
	margin: 4px 0 2px;
	font-size: var(--wp--preset--font-size--xl);
	line-height: var(--wp--custom--line-height--title);
}

.bl-region-row__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.bl-region-row__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bl-region-row__title a:focus-visible {
	box-shadow: none;
}

.bl-region-row__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-hub-areas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--24) 0 0;
}

.bl-hub-areas__label {
	margin-right: 4px;
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--md);
}

@media (max-width: 1080px) {
	.bl-region-rows {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The embedded Explore: a framed panel (none at ≤ 720) with the tools row, the chips, the cards or the map, and the
   link to Explore. */
.bl-hub-lakes__count {
	margin: 0;
	font-weight: var(--wp--custom--font-weight--bold);
	color: var(--wp--preset--color--ink-muted);
}

.bl-hub-panel {
	padding: var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
}

.bl-hub-panel__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
}

.bl-hub-panel__fixed {
	cursor: default;
}

.bl-hub-panel__view {
	margin-left: auto;
}

.bl-segmented a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: 0 var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink-muted);
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: none;
}

.bl-segmented a[aria-current] {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.bl-segmented .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
}

.bl-hub-panel__chips {
	margin-top: var(--wp--preset--spacing--16);
}

.bl-hub-panel__cards,
.bl-hub-panel .bl-empty {
	margin-top: var(--wp--preset--spacing--20);
}

.bl-hub-panel__ad:empty {
	display: none;
}

.bl-map.bl-hub-panel__map {
	height: 560px;
	margin-top: var(--wp--preset--spacing--20);
}

.bl-hub-panel__foot {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--24);
}

@media (max-width: 720px) {
	.bl-hub-panel {
		padding: 0;
		border: 0;
		background: none;
	}

	.bl-hub-panel__view {
		width: 100%;
		margin-left: 0;
	}

	.bl-hub-panel__view a {
		flex: 1;
		justify-content: center;
	}

	.bl-map.bl-hub-panel__map {
		height: 72vh;
	}
}

/* Activity pills: 48 px, the icon, the name and the count. */
.bl-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.bl-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-height: 48px;
	padding: 0 var(--wp--preset--spacing--16);
	border: 1.5px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-pill:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--ink);
}

.bl-pill .bl-icon {
	color: var(--wp--preset--color--primary-deep);
}

.bl-pill__name {
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-pill__count {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

/* Indexes. */
.bl-hub-index__body {
	padding-bottom: var(--wp--preset--spacing--96);
}

.bl-hub-index__map {
	margin-top: var(--wp--preset--spacing--48);
}

.bl-activity-tiles--wrap {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1080px) {
	.bl-activity-tiles--wrap {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.bl-activity-tiles.bl-activity-tiles--wrap {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		padding: 0;
		overflow: visible;
	}
}

.bl-type-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}

.bl-type-card {
	position: relative;
	padding: var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--easing);
}

.bl-type-card:hover {
	border-color: var(--wp--preset--color--primary);
}

.bl-type-card:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-type-card__title {
	font-size: var(--wp--preset--font-size--xl);
	line-height: var(--wp--custom--line-height--title);
}

.bl-type-card__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.bl-type-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bl-type-card__title a:focus-visible {
	box-shadow: none;
}

.bl-type-card__count {
	margin: 4px 0 0;
	font-weight: var(--wp--custom--font-weight--bold);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.bl-type-card__text {
	margin: 10px 0 0;
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--text-sm);
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 960px) {
	.bl-type-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.bl-type-cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- 97-entity.css --- */

/* Place, trail and protected-area pages, designation pages (D-153; lake-page.md frame, cards.md). */

/* Rich place and trail cards: the title's link is stretched over the card (cards.md "Rich place"). */
.bl-place {
	position: relative;
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--easing), box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--easing);
}

.bl-place:has(.bl-place__link):hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
}

.bl-place:has(.bl-place__link):focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-place__link {
	color: inherit;
	text-decoration: none;
}

.bl-place__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: var(--wp--custom--z--raised);
}

.bl-place__link:focus-visible {
	box-shadow: none;
}

/* Identity block additions. */
.bl-entity__eyebrow {
	display: flex;
	align-items: center;
	gap: 6px;
}

.bl-entity__eyebrow .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
}

.bl-entity__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--12) 0 0;
}

.bl-entity__stats {
	max-width: 720px;
	margin-top: var(--wp--preset--spacing--16);
}

.bl-difficulty {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--sand-light);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-difficulty .bl-icon {
	width: var(--wp--custom--icon--sm);
	height: var(--wp--custom--icon--sm);
}

/* Body blocks. */
.bl-entity__tags {
	margin-top: var(--wp--preset--spacing--16);
}

.bl-entity__link {
	margin: var(--wp--preset--spacing--16) 0 0;
}

.bl-entity__role-card {
	display: flex;
	flex-direction: column;
}

.bl-entity__role {
	margin: 0 0 6px;
}

.bl-entity__role-card > .bl-card {
	flex: 1;
}

.bl-entity .bl-notice + .bl-visit {
	margin-top: var(--wp--preset--spacing--16);
}

/* Hub blocks: the region's trails, the activity's places. */
.bl-hub-more {
	margin: var(--wp--preset--spacing--12) 0 0;
}

/* --- 98-search-guides.css --- */

/* Search: the header autocomplete and the results page; guides: the index and the guide page (D-153 (4), (5);
   search.md, cards.md, UX §9.6, §9.7). */

/* Autocomplete (search.md "Autocomplete"): a panel under the field, as wide as the field or 420 px. */
.bl-search--ac {
	position: relative;
}

.bl-ac {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: var(--wp--custom--z--popover);
	width: max(100%, 420px);
	max-width: calc(100vw - 2 * var(--wp--preset--spacing--16));
	max-height: min(70vh, 560px);
	overflow: auto;
	margin: 0;
	padding: var(--wp--preset--spacing--8);
	list-style: none;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--pop);
	color: var(--wp--preset--color--ink);
	text-align: left;
}

.bl-header__search .bl-ac {
	right: 0;
	left: auto;
}

.bl-ac__group {
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--primary-deep);
	font-family: var(--wp--preset--font-family--voice);
	font-size: var(--wp--preset--font-size--xxs);
	font-weight: var(--wp--custom--font-weight--semibold);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
}

.bl-ac__option {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-height: 48px;
	padding: 4px var(--wp--preset--spacing--8);
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
}

.bl-ac__option.is-active,
.bl-ac__option:hover {
	background: var(--wp--preset--color--mist);
}

.bl-ac__option > .bl-icon {
	flex: none;
	color: var(--wp--preset--color--primary-deep);
}

.bl-ac__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bl-ac__name {
	font-weight: var(--wp--custom--font-weight--regular);
}

.bl-ac__name b {
	font-weight: var(--wp--custom--font-weight--bold);
}

.bl-ac__context {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.bl-ac__option--all,
.bl-ac__option--explore {
	font-weight: var(--wp--custom--font-weight--semibold);
	color: var(--wp--preset--color--primary-deep);
}

.bl-ac__option--all {
	margin-top: var(--wp--preset--spacing--4);
	border-top: 1px solid var(--wp--preset--color--line-soft);
	border-radius: 0;
}

.bl-ac__empty {
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--ink-muted);
}

/* The panel at ≤ 1180 px and the phone sheet: the list fills the width under the field. */
.bl-search-panel .bl-ac {
	width: 100%;
	max-width: none;
}

/* Results page. */
.bl-search-page__form {
	max-width: 560px;
	margin: var(--wp--preset--spacing--16) 0;
}

.bl-results + .bl-results {
	margin-top: var(--wp--preset--spacing--40);
}

.bl-results__title {
	margin: 0 0 var(--wp--preset--spacing--16);
	font-size: var(--wp--preset--font-size--xl);
}

.bl-results__cards {
	display: grid;
	gap: var(--wp--preset--spacing--16);
	max-width: 880px;
}

.bl-results__list {
	display: grid;
	max-width: 880px;
	border-top: 1px solid var(--wp--preset--color--line-soft);
}

.bl-result {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-height: 56px;
	padding: var(--wp--preset--spacing--8) 0;
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
}

.bl-result__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--primary-deep);
}

.bl-result__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bl-result__name {
	color: var(--wp--preset--color--ink);
	font-weight: var(--wp--custom--font-weight--semibold);
	text-decoration: none;
}

.bl-result__name::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bl-result:hover .bl-result__name {
	text-decoration: underline;
}

.bl-result:focus-within {
	box-shadow: var(--wp--custom--focus--ring);
}

.bl-result__name:focus-visible {
	box-shadow: none;
}

.bl-result__context {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

/* Guides. */
.bl-card--guide .bl-card__excerpt {
	margin-top: var(--wp--preset--spacing--8);
}

.bl-guide-article {
	max-width: 840px;
}

.bl-guide-article__head {
	padding-top: var(--wp--preset--spacing--24);
}

.bl-guide-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--8) 0 0;
}

.bl-guide-article__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--16) 0 0;
}

.bl-guide-article__body {
	margin-top: var(--wp--preset--spacing--32);
	font-size: var(--wp--preset--font-size--body);
}

.bl-guide-article__body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--card);
}

/* Supporting pages and the report form (UX §9.8, D-153 (6)). */
.bl-page__article {
	max-width: 840px;
	padding-bottom: var(--wp--preset--spacing--64);
}

.bl-page__body {
	font-size: var(--wp--preset--font-size--body);
}

.bl-report {
	max-width: 66ch;
	margin-top: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--24);
	border: 1px solid var(--wp--preset--color--line-soft);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--white);
}

.bl-report .bl-notice {
	margin-bottom: var(--wp--preset--spacing--16);
}

.bl-report__about {
	margin: 0 0 var(--wp--preset--spacing--16);
	font-weight: var(--wp--custom--font-weight--semibold);
}
