/*
 * The box model, first.
 *
 * Without this, padding is added to a declared width rather than taken out of it, and every
 * max-width in the theme is a lie by exactly its own padding. It showed up as the project
 * gallery being 1520px wide inside a 1440px limit and pushing the page sideways — the kind
 * of fault that is invisible until somebody scrolls right and finds a strip of blank page.
 */

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

/*
 * And nothing may scroll the page sideways.
 *
 * Several layers of the design are deliberately bigger than what holds them — the parallax
 * photograph at scale 1.1, the aurora orbs hung outside their box, the sheet of light that
 * crosses a tilted frame. Each is clipped by its own host, but a host is a buyer's to
 * change, and one unclipped layer or one wide table turns the whole page into something
 * that slides. `clip` rather than `hidden`: `hidden` here would make the root a scroll
 * container, and `position: sticky` stops working inside one.
 */
html,
body {
	overflow-x: clip;
}

@supports not (overflow-x: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

/*
 * The header, the footer, and the bits of chrome that surround every page.
 *
 * Source: the header floats over the hero with white type, then turns to glass on scroll —
 * rgba(255,255,255,0.85) with a 12px backdrop blur and a hairline of the primary at 5%.
 * The links carry an underline that grows from nothing over 300ms.
 */

.hedera-skip {
	background: var(--hedera-forest-800, #0a3e2c);
	border-radius: 0 0 0 0.5rem;
	color: #fff;
	font-family: var(--hedera-font-body);
	right: 0;
	padding: 0.75rem 1.25rem;
	position: fixed;
	top: 0;
	transform: translateY(-150%);
	transition: transform 200ms ease;
	z-index: 100001;
}

/* Visible the moment it is focused, and only then. A skip link that is never focusable is
   a skip link that does not exist. */
.hedera-skip:focus {
	transform: translateY(0);
}

/* ── Header ──────────────────────────────────────────────────────────────────
 * Source (Navbar.tsx): fixed, z-[9000], transition-all 500ms. Over the photograph it is
 * transparent with pt-8 pb-4 (md: py-8) and white type; once the page has moved thirty
 * pixels it is bg-white/95 with backdrop-blur-xl, a shadow of [0_4px_30px_rgba(10,62,44,0.12)],
 * py-4, and forest type. The inner row is max-w-7xl h-[50px] with the mark absolutely
 * centred, links at text-[13px] tracking-wide gap-8, and the call to action a px-7 py-3
 * pill at text-[10px] font-bold tracking-[0.2em].
 */

.hedera-header {
	right: 0;
	padding: 2rem 0;
	left: 0;
	top: 0;
	transition: background-color 500ms ease, padding 500ms ease, box-shadow 500ms ease;
	z-index: 9000;
}

@media (max-width: 767px) {
	.hedera-header {
		padding: 2rem 0 1rem;
	}
}

.hedera-header--sticky {
	position: fixed;
}

.hedera-header--over {
	background: transparent;
	position: absolute;
}

.hedera-header--over.hedera-header--sticky {
	position: fixed;
}

/* The white state: a header that does not float, or one that has scrolled. */
.hedera-header:not(.hedera-header--over),
.hedera-header.is-stuck {
	backdrop-filter: blur(24px);
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 4px 30px rgba(10, 62, 44, 0.12);
	padding: 1rem 0;
}

@media (max-width: 767px) {
	.hedera-header:not(.hedera-header--over),
	.hedera-header.is-stuck {
		padding: 1.5rem 0 1rem;
	}
}

/* A page that does not float the header needs room under it. */
body:not(.hedera-overlays) .hedera-main {
	padding-top: 5.75rem;
}

.hedera-header__inner {
	align-items: center;
	display: flex;
	height: 50px;
	margin: 0 auto;
	max-width: 80rem;
	position: relative;
}

@media (max-width: 767px) {
	.hedera-header__inner {
		height: 40px;
	}
}

.hedera-header__nav {
	align-items: center;
	display: flex;
	flex: 1;
	padding: 0 2rem;
}

.hedera-header__side {
	align-items: center;
	display: flex;
	flex: 1;
	gap: 1.25rem;
	justify-content: flex-end;
	padding: 0 2rem;
}

@media (max-width: 1279px) {
	.hedera-header__nav {
		display: none;
	}

	.hedera-header__side {
		padding-left: 1.25rem;
	}
}

/* ── The mark, absolutely centred as the source has it ── */

.hedera-header__brand {
	right: 50%;
	position: absolute;
	top: 50%;
	transform: translate(50%, -50%);
	z-index: 1;
}

.hedera-header__brand a {
	align-items: center;
	display: flex;
	justify-content: center;
	text-decoration: none;
}

.hedera-header__logo {
	display: block;
	height: auto;
	max-height: 60px;
	max-width: 190px;
	width: auto;
}

@media (max-width: 767px) {
	.hedera-header__logo {
		max-height: 44px;
		max-width: 150px;
	}
}

/*
 * Three renderings of the brand, one shown at a time: the light logo over a photograph,
 * and once the header has turned white either the site name in small capitals (the
 * design) or the dark logo (a buyer's choice). `display` is set from these classes rather
 * than inline — an inline style beats a class, and all three would paint at once.
 */
.hedera-header__logo-light,
.hedera-header__logo-dark,
.hedera-header__wordmark {
	display: none;
}

.hedera-header--over:not(.is-stuck) .hedera-header__logo-light {
	display: block;
}

.hedera-header:not(.hedera-header--over) .hedera-header__wordmark,
.hedera-header.is-stuck .hedera-header__wordmark {
	display: block;
}

.hedera-header--scrolled-logo:not(.hedera-header--over) .hedera-header__wordmark,
.hedera-header--scrolled-logo.is-stuck .hedera-header__wordmark {
	display: none;
}

.hedera-header--scrolled-logo:not(.hedera-header--over) .hedera-header__logo-dark,
.hedera-header--scrolled-logo.is-stuck .hedera-header__logo-dark {
	display: block;
}

/* Source: text-[1.1rem] md:text-[1.3rem] font-serif font-medium tracking-[0.25em] uppercase */
.hedera-header__name {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.hedera-header__name {
		font-size: 1.1rem;
	}
}

/* The wordmark over a photograph, for a site with no light logo. */
.hedera-header--over:not(.is-stuck) .hedera-header__logo-light .hedera-header__name {
	color: #fff;
}

/* ── Navigation ── */

.hedera-menu {
	align-items: center;
	display: flex;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hedera-menu a {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 80%, transparent);
	font-family: var(--hedera-font-body);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.025em;
	position: relative;
	text-decoration: none;
	transition: color 300ms ease;
}

.hedera-menu a::after {
	background: var(--hedera-forest-800, #0a3e2c);
	bottom: -4px;
	content: '';
	height: 1px;
	right: 0;
	position: absolute;
	transition: width 300ms ease;
	width: 0;
}

.hedera-menu a:hover {
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-menu a:hover::after {
	width: 100%;
}

/* Over a photograph everything in the header is white, the links at 80%. */
.hedera-header--over:not(.is-stuck) .hedera-menu a {
	color: rgba(255, 255, 255, 0.8);
}

.hedera-header--over:not(.is-stuck) .hedera-menu a:hover {
	color: #fff;
}

.hedera-header--over:not(.is-stuck) .hedera-menu a::after {
	background: var(--hedera-sage-200, #aee2c2);
}

/* Sub-menus: not in the source, which had five links, but a menu with children has to
   go somewhere. */
.hedera-menu .sub-menu {
	backdrop-filter: blur(24px);
	background: rgba(255, 255, 255, 0.98);
	border-radius: 1rem;
	box-shadow: 0 20px 40px rgba(10, 62, 44, 0.12);
	right: -1rem;
	list-style: none;
	margin: 0;
	min-width: 12rem;
	opacity: 0;
	padding: 0.75rem;
	position: absolute;
	top: calc(100% + 1rem);
	transform: translateY(6px);
	transition: opacity 200ms ease, transform 200ms ease, visibility 200ms;
	visibility: hidden;
}

.hedera-menu li {
	position: relative;
}

.hedera-menu li:hover > .sub-menu,
.hedera-menu li:focus-within > .sub-menu {
	opacity: 1;
	transform: none;
	visibility: visible;
}

.hedera-menu .sub-menu a {
	border-radius: 0.5rem;
	color: var(--hedera-forest-800, #0a3e2c);
	display: block;
	padding: 0.5rem 0.75rem;
}

.hedera-menu .sub-menu a::after {
	display: none;
}

.hedera-menu .sub-menu a:hover {
	background: var(--hedera-mist-100, #f4f7f5);
}

/* ── The call to action ── */

.hedera-header__cta {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 9999px;
	color: #fff;
	display: none;
	padding: 0.75rem 1.75rem;
	text-decoration: none;
	transition: background-color 500ms ease, color 500ms ease, border-color 500ms ease;
}

@media (min-width: 640px) {
	.hedera-header__cta {
		display: inline-flex;
	}
}

.hedera-header__cta .hedera-button__roll {
	font-size: var(--hedera-text-label, 0.625rem);
	height: 1rem;
	line-height: 1rem;
	text-transform: uppercase;
}

.hedera-header--over:not(.is-stuck) .hedera-header__cta:hover {
	background: #fff;
	border-color: #fff;
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-header:not(.hedera-header--over) .hedera-header__cta,
.hedera-header.is-stuck .hedera-header__cta {
	background: var(--hedera-forest-800, #0a3e2c);
	border-color: var(--hedera-forest-800, #0a3e2c);
	color: #fff;
}

.hedera-header:not(.hedera-header--over) .hedera-header__cta:hover,
.hedera-header.is-stuck .hedera-header__cta:hover {
	background: #000;
	border-color: #000;
}

/* ── The burger ── */

.hedera-header__burger {
	align-items: flex-start;
	background: none;
	border: 0;
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 6px;
	right: 0.5rem;
	padding: 0.75rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

@media (max-width: 1279px) {
	.hedera-header__burger {
		display: flex;
	}
}

.hedera-header__bar {
	background: var(--hedera-forest-800, #0a3e2c);
	display: block;
	height: 1.5px;
	transition: background-color 300ms ease;
}

.hedera-header__bar--long {
	width: 28px;
}

.hedera-header__bar--short {
	width: 20px;
}

.hedera-header--over:not(.is-stuck) .hedera-header__bar {
	background: #fff;
}

/* ── Language switcher ───────────────────────────────────────────────────────
 * Inline (the source): text-[12px], the current language solid and bold, the rest at 60%,
 * a hairline "|" at 30% between them.
 *
 * Dropdown: a small pill carrying a globe and the current code that opens to the languages'
 * own names. Glass over the photograph, white once the header has turned.
 */

.hedera-header__langs {
	display: none;
}

@media (min-width: 768px) {
	.hedera-header__langs {
		display: block;
	}
}

.hedera-langs {
	--hedera-lang-colour: var(--hedera-forest-800, #0a3e2c);
	--hedera-lang-dim: 0.6;
	font-family: var(--hedera-font-body);
	position: relative;
}

.hedera-langs--inline {
	align-items: center;
	display: inline-flex;
	font-size: 12px;
	gap: 0.5rem;
}

.hedera-langs--inline .hedera-langs__item {
	color: var(--hedera-lang-colour);
	opacity: var(--hedera-lang-dim);
	text-decoration: none;
	text-transform: uppercase;
	transition: opacity 300ms ease;
}

.hedera-langs--inline .hedera-langs__item:hover,
.hedera-langs--inline .hedera-langs__item.is-current {
	opacity: 1;
}

.hedera-langs--inline .hedera-langs__item.is-current {
	font-weight: 700;
}

.hedera-langs__sep {
	color: var(--hedera-lang-colour);
	font-size: 10px;
	opacity: 0.3;
}

.hedera-header--over:not(.is-stuck) .hedera-langs {
	--hedera-lang-colour: #fff;
}

/* The dropdown */

.hedera-langs__toggle {
	align-items: center;
	backdrop-filter: blur(8px);
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--hedera-lang-colour) 25%, transparent);
	border-radius: 9999px;
	color: var(--hedera-lang-colour);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	gap: 0.5rem;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.5rem 0.625rem 0.5rem 0.75rem;
	text-transform: uppercase;
	transition: border-color 300ms ease, background-color 300ms ease;
}

.hedera-langs__toggle:hover,
.hedera-langs__toggle[aria-expanded='true'] {
	border-color: color-mix(in srgb, var(--hedera-lang-colour) 60%, transparent);
}

.hedera-langs__globe,
.hedera-langs__chevron {
	flex: 0 0 auto;
	height: 0.875rem;
	opacity: 0.7;
	width: 0.875rem;
}

.hedera-langs__chevron {
	height: 0.75rem;
	transition: transform 300ms ease;
	width: 0.75rem;
}

.hedera-langs__toggle[aria-expanded='true'] .hedera-langs__chevron {
	transform: rotate(-180deg);
}

.hedera-langs__menu {
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	border-radius: 1rem;
	box-shadow: 0 20px 40px rgba(10, 62, 44, 0.15);
	list-style: none;
	margin: 0;
	min-width: 11rem;
	opacity: 0;
	padding: 0.5rem;
	position: absolute;
	left: 0;
	top: calc(100% + 0.75rem);
	transform: translateY(6px);
	transition: opacity 200ms ease, transform 200ms ease;
	z-index: 10;
}

.hedera-langs__menu[hidden] {
	display: none;
}

.hedera-langs__menu.is-open {
	opacity: 1;
	transform: none;
}

/* Over the photograph the list is glass on forest, matching the pill that opened it. */
.hedera-header--over:not(.is-stuck) .hedera-langs__menu {
	backdrop-filter: blur(16px);
	background: rgba(4, 23, 15, 0.92);
	border-color: rgba(255, 255, 255, 0.1);
}

.hedera-langs--dropdown .hedera-langs__item {
	align-items: center;
	border-radius: 0.625rem;
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 80%, transparent);
	display: flex;
	font-size: 13px;
	gap: 1.5rem;
	justify-content: space-between;
	padding: 0.625rem 0.875rem;
	text-decoration: none;
	transition: background-color 200ms ease, color 200ms ease;
	white-space: nowrap;
}

.hedera-langs--dropdown .hedera-langs__item:hover {
	background: var(--hedera-mist-100, #f4f7f5);
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-langs--dropdown .hedera-langs__item.is-current {
	color: var(--hedera-forest-800, #0a3e2c);
	font-weight: 600;
}

.hedera-langs__code {
	font-size: 10px;
	letter-spacing: 0.15em;
	opacity: 0.5;
	text-transform: uppercase;
}

.hedera-header--over:not(.is-stuck) .hedera-langs--dropdown .hedera-langs__item {
	color: rgba(255, 255, 255, 0.7);
}

.hedera-header--over:not(.is-stuck) .hedera-langs--dropdown .hedera-langs__item:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.hedera-header--over:not(.is-stuck) .hedera-langs--dropdown .hedera-langs__item.is-current {
	color: var(--hedera-sage-200, #aee2c2);
}

/* ── Drawer ──────────────────────────────────────────────────────────────────
 * Source: fixed inset-0 z-[10000] bg-[#06261b]/98 backdrop-blur-lg, two blurred orbs
 * pulsing in the corners, a top bar with the close on the left and the name centred in
 * sage capitals, links at text-[1.75rem] font-light arriving one after another, a hairline
 * fading to nothing, the language row, and a gradient call to action.
 */

.hedera-drawer {
	backdrop-filter: blur(16px);
	background: rgba(6, 38, 27, 0.98);
	display: flex;
	flex-direction: column;
	inset: 0;
	overflow: hidden;
	position: fixed;
	z-index: 10000;
}

.hedera-drawer[hidden] {
	display: none;
}

.hedera-drawer__orb {
	border-radius: 9999px;
	filter: blur(120px);
	mix-blend-mode: screen;
	pointer-events: none;
	position: absolute;
}

.hedera-drawer__orb--a {
	animation: hedera-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	background: var(--hedera-sage-400, #68c99b);
	height: 20rem;
	opacity: 0.2;
	left: -5rem;
	top: -5rem;
	width: 20rem;
}

.hedera-drawer__orb--b {
	animation: hedera-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) 2s infinite;
	background: var(--hedera-sage-200, #aee2c2);
	bottom: -5rem;
	filter: blur(140px);
	height: 24rem;
	right: -5rem;
	opacity: 0.1;
	width: 24rem;
}

.hedera-drawer__top {
	align-items: center;
	display: flex;
	height: 80px;
	justify-content: space-between;
	padding: 0 1.25rem;
	position: relative;
	z-index: 2;
}

@media (min-width: 768px) {
	.hedera-drawer__top {
		height: 100px;
		padding: 0 2rem;
	}
}

.hedera-drawer__close {
	background: none;
	border: 0;
	color: var(--hedera-sage-200, #aee2c2);
	cursor: pointer;
	margin-right: -0.5rem;
	padding: 0.5rem;
	transition: color 300ms ease, transform 150ms ease;
}

.hedera-drawer__close:hover {
	color: #fff;
}

.hedera-drawer__close:active {
	transform: scale(0.9);
}

.hedera-drawer__close .hedera-icon {
	height: 2rem;
	width: 2rem;
}

.hedera-drawer__wordmark {
	color: var(--hedera-sage-200, #aee2c2);
	filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07));
	font-family: var(--hedera-font-heading);
	font-size: 1.1rem;
	font-weight: 500;
	right: 50%;
	letter-spacing: 0.25em;
	position: absolute;
	text-transform: uppercase;
	transform: translateX(50%);
	white-space: nowrap;
}

@media (min-width: 768px) {
	.hedera-drawer__wordmark {
		font-size: 1.3rem;
	}
}

.hedera-drawer__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	margin: 0 auto;
	max-width: 24rem;
	overflow-y: auto;
	padding: 1.5rem 2rem 2.5rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.hedera-drawer__nav {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.hedera-drawer__menu {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 1rem 0;
}

.hedera-drawer__menu .sub-menu {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0 1rem 0 0;
}

.hedera-drawer__menu .sub-menu a {
	font-size: 1.125rem;
}

.hedera-drawer__menu li {
	opacity: 0;
	transform: translateY(2.5rem);
	transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hedera-drawer.is-open .hedera-drawer__menu li {
	opacity: 1;
	transform: none;
}

.hedera-drawer__menu a {
	color: #fff;
	font-family: var(--hedera-font-body);
	font-size: 1.75rem;
	font-weight: 300;
	letter-spacing: 0.025em;
	text-decoration: none;
	transition: color 300ms ease;
}

.hedera-drawer__menu a:hover {
	color: var(--hedera-sage-200, #aee2c2);
}

.hedera-drawer__rule {
	background: linear-gradient(to left, rgba(255, 255, 255, 0.2), transparent);
	display: block;
	height: 1px;
	margin: 1.5rem 0;
	opacity: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: opacity 700ms ease 400ms, transform 700ms ease 400ms;
}

.hedera-drawer.is-open .hedera-drawer__rule {
	opacity: 1;
	transform: scaleX(1);
}

.hedera-drawer__foot {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	opacity: 0;
	transform: translateY(2.5rem);
	transition: opacity 700ms ease 500ms, transform 700ms ease 500ms;
}

.hedera-drawer.is-open .hedera-drawer__foot {
	opacity: 1;
	transform: none;
}

.hedera-drawer__langs {
	align-items: center;
	display: flex;
	gap: 1.5rem;
}

.hedera-drawer__langs .hedera-langs {
	--hedera-lang-colour: #fff;
	--hedera-lang-dim: 0.5;
	font-size: 14px;
	font-weight: 500;
	gap: 0.75rem;
}

.hedera-drawer__langs .hedera-langs__item.is-current {
	color: var(--hedera-sage-200, #aee2c2);
	font-weight: 500;
}

.hedera-drawer__langs-label {
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-xs, 0.75rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Source: bg-gradient-to-r from-[#aee2c2] to-[#68c99b] text-[#0a3e2c] font-medium px-8 py-4
   rounded-xl text-sm tracking-widest uppercase shadow-[0_10px_30px_rgba(104,201,155,0.2)] */
.hedera-drawer__cta {
	align-items: center;
	background: linear-gradient(to left, var(--hedera-sage-200, #aee2c2), var(--hedera-sage-400, #68c99b));
	border-radius: 0.75rem;
	box-shadow: 0 10px 30px rgba(104, 201, 155, 0.2);
	color: var(--hedera-forest-800, #0a3e2c);
	display: flex;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-weight: 500;
	justify-content: space-between;
	letter-spacing: 0.1em;
	padding: 1rem 2rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: box-shadow 300ms ease;
}

.hedera-drawer__cta:hover {
	box-shadow: 0 10px 40px rgba(104, 201, 155, 0.4);
}

.hedera-drawer__cta .hedera-icon {
	height: 1rem;
	stroke-width: 2.5;
	transition: transform 300ms ease;
	width: 1rem;
}

.hedera-drawer__cta:hover .hedera-icon {
	transform: translateX(-0.25rem);
}

/* ── Footer ──────────────────────────────────────────────────────────────────
 * Source (Footer.tsx): bg-white pt-24 pb-8 border-t forest/10. Inner max-w-7xl px-10,
 * lg:flex-row justify-between items-center gap-16 lg:gap-8. Brand column max-w-md:
 * text-3xl font-serif italic forest, text-[13px] font-light, social circles w-10 h-10.
 * Columns gap-12 sm:gap-20: titles text-[10px] font-bold tracking-[0.2em] uppercase
 * font-serif forest-950; menu links text-[13px] font-medium; address font-light; "View on
 * map" text-xs font-semibold. Legal row mt-12 centred gap-8, text-[10px] font-medium
 * tracking-wider uppercase forest/40 with "|" at forest/20. Bar mt-8 pt-8 border-t
 * forest/10: credits text-[10px] uppercase tracking-widest at 60% opacity, the copyright
 * text-[10px] font-semibold tracking-[0.2em] forest/50.
 */

.hedera-footer {
	background: var(--hedera-white, #fff);
	border-top: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-body);
	padding: 6rem 0 2rem;
	position: relative;
	z-index: 20;
}

.hedera-footer__inner,
.hedera-footer__legal,
.hedera-footer__bar,
.hedera-footer__widgets {
	margin: 0 auto;
	max-width: 80rem;
	padding: 0 2.5rem;
}

@media (max-width: 639px) {
	.hedera-footer__inner,
	.hedera-footer__legal,
	.hedera-footer__bar,
	.hedera-footer__widgets {
		padding: 0 1.5rem;
	}
}

.hedera-footer__inner {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	justify-content: space-between;
}

@media (min-width: 1024px) {
	.hedera-footer__inner {
		align-items: center;
		flex-direction: row;
		gap: 2rem;
	}
}

.hedera-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 28rem;
}

.hedera-footer__name {
	color: var(--hedera-forest-800, #0a3e2c);
	display: inline-block;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-3xl, 1.875rem);
	font-style: italic;
	line-height: 1.2;
	text-decoration: none;
}

.hedera-footer__name .hedera-header__logo {
	max-height: 56px;
}

.hedera-footer__text {
	font-size: 13px;
	font-weight: 300;
	line-height: 1.625;
	margin: 0;
}

/* The social circles, here and on the contact page. */
.hedera-social {
	display: flex;
	gap: 1rem;
	margin-top: 0.5rem;
}

.hedera-social__link {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 20%, transparent);
	border-radius: 9999px;
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 70%, transparent);
	display: flex;
	height: 2.5rem;
	justify-content: center;
	transition: all 300ms ease;
	width: 2.5rem;
}

.hedera-social__link:hover {
	background: var(--hedera-forest-800, #0a3e2c);
	border-color: var(--hedera-forest-800, #0a3e2c);
	color: #fff;
	transform: translateY(-4px);
}

.hedera-social__link .hedera-icon {
	height: 1rem;
	width: 1rem;
}

.hedera-social--dark .hedera-social__link {
	border-color: rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.7);
}

.hedera-social--dark .hedera-social__link:hover {
	background: var(--hedera-sage-200, #aee2c2);
	border-color: var(--hedera-sage-200, #aee2c2);
	color: var(--hedera-forest-950, #04170f);
	transform: none;
}

.hedera-footer__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}

@media (min-width: 640px) {
	.hedera-footer__cols {
		gap: 5rem;
	}
}

.hedera-footer__col {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.hedera-footer__title {
	color: var(--hedera-forest-950, #04170f);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.hedera-footer__menu,
.hedera-footer__lines {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hedera-footer__menu a,
.hedera-footer__lines a,
.hedera-footer__address {
	color: var(--hedera-forest-800, #0a3e2c);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.625;
	text-decoration: none;
	transition: color 300ms ease;
}

.hedera-footer__address {
	font-weight: 300;
}

.hedera-footer__menu a:hover,
.hedera-footer__lines a:hover {
	color: var(--hedera-sage-200, #aee2c2);
}

.hedera-footer__map {
	align-items: center;
	display: inline-flex;
	font-size: var(--hedera-text-xs, 0.75rem) !important;
	font-weight: 600 !important;
	gap: 0.25rem;
}

.hedera-footer__map .hedera-icon {
	height: 0.75rem;
	stroke-width: 2;
	transition: transform 300ms ease;
	width: 0.75rem;
}

.hedera-footer__map:hover .hedera-icon {
	transform: translateX(-2px);
}

.hedera-footer__legal {
	margin-top: 3rem;
}

.hedera-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.hedera-footer__legal-menu {
		gap: 2rem;
	}
}

.hedera-footer__legal-menu a {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 40%, transparent);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 500;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 300ms ease;
}

.hedera-footer__legal-menu a:hover {
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-footer__legal-menu li + li::before {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 20%, transparent);
	content: '|';
	font-size: var(--hedera-text-label, 0.625rem);
	margin-left: 1rem;
}

@media (min-width: 768px) {
	.hedera-footer__legal-menu li + li::before {
		margin-left: 2rem;
	}
}

.hedera-footer__bar {
	align-items: center;
	border-top: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2rem;
	padding-bottom: 3rem;
	padding-top: 2rem;
	text-align: center;
}

@media (min-width: 1024px) {
	.hedera-footer__bar {
		flex-direction: row;
		gap: 1rem;
		justify-content: space-between;
		padding-bottom: 2rem;
		text-align: right;
	}
}

/* The copyright reads first on a phone, as the source orders it. */
@media (max-width: 1023px) {
	.hedera-footer__copy {
		order: -1;
	}
}

.hedera-footer__credit {
	align-items: center;
	color: var(--hedera-forest-800, #0a3e2c);
	display: inline-flex;
	font-size: var(--hedera-text-label, 0.625rem);
	gap: 0.5rem;
	letter-spacing: 0.1em;
	opacity: 0.6;
	text-decoration: none;
	text-transform: uppercase;
	transition: opacity 300ms ease;
}

.hedera-footer__credit:hover {
	opacity: 1;
}

.hedera-footer__credit-label {
	font-weight: 600;
}

.hedera-footer__credit-name {
	font-weight: 900;
}

.hedera-footer__copy {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 50%, transparent);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

/* ── Cookie notice ───────────────────────────────────────────────────────────
 * Source (CookieConsent.tsx): fixed bottom-0 p-4 md:p-6; a max-w-5xl card on forest-950,
 * rounded-2xl md:rounded-3xl, border white/5, p-6 md:p-8, md:flex-row items-center gap-6;
 * a sage/10 disc with a lock; title text-sm font-semibold; text white/50 text-xs; two
 * pills at text-[10px] font-bold tracking-[0.15em] uppercase — one outlined at white/20,
 * one sage. It rises from 100px over half a second, a second and a half after the page.
 */

.hedera-cookie {
	bottom: 0;
	right: 0;
	padding: 1rem;
	position: fixed;
	left: 0;
	z-index: 9999;
}

@media (min-width: 768px) {
	.hedera-cookie {
		padding: 1.5rem;
	}
}

.hedera-cookie[hidden] {
	display: none;
}

.hedera-cookie__card {
	align-items: flex-start;
	animation: hedera-rise 500ms ease-out both;
	background: var(--hedera-forest-950, #04170f);
	border: 1px solid rgba(255, 255, 255, 0.05);
	border-radius: 1rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0 auto;
	max-width: 64rem;
	padding: 1.5rem;
}

@media (min-width: 768px) {
	.hedera-cookie__card {
		align-items: center;
		border-radius: 1.5rem;
		flex-direction: row;
		padding: 2rem;
	}
}

@keyframes hedera-rise {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.hedera-cookie__body {
	align-items: flex-start;
	display: flex;
	flex: 1;
	gap: 1rem;
}

.hedera-cookie__icon {
	align-items: center;
	background: color-mix(in srgb, var(--hedera-sage-200, #aee2c2) 10%, transparent);
	border-radius: 9999px;
	color: var(--hedera-sage-200, #aee2c2);
	display: flex;
	flex: 0 0 auto;
	height: 2.5rem;
	justify-content: center;
	margin-top: 0.125rem;
	width: 2.5rem;
}

.hedera-cookie__icon .hedera-icon {
	height: 1.25rem;
	width: 1.25rem;
}

.hedera-cookie__title {
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-weight: 600;
	margin: 0 0 0.375rem;
}

.hedera-cookie__text {
	color: rgba(255, 255, 255, 0.5);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-xs, 0.75rem);
	line-height: 1.625;
	margin: 0;
	max-width: 36rem;
}

.hedera-cookie__text a {
	color: var(--hedera-sage-200, #aee2c2);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 300ms ease;
}

.hedera-cookie__text a:hover {
	color: #fff;
}

.hedera-cookie__actions {
	display: flex;
	gap: 0.75rem;
	width: 100%;
}

@media (min-width: 768px) {
	.hedera-cookie__actions {
		width: auto;
	}
}

.hedera-cookie__button {
	border: 1px solid transparent;
	border-radius: 9999px;
	cursor: pointer;
	flex: 1;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 0.625rem 1.25rem;
	text-transform: uppercase;
	transition: all 300ms ease;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.hedera-cookie__button {
		flex: none;
	}
}

.hedera-cookie__button--quiet {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.7);
}

.hedera-cookie__button--quiet:hover {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

.hedera-cookie__button--accept {
	background: var(--hedera-sage-200, #aee2c2);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	color: var(--hedera-forest-950, #04170f);
	padding: 0.625rem 1.5rem;
}

.hedera-cookie__button--accept:hover {
	background: #fff;
}

/* ── Cursor ring ─────────────────────────────────────────────────────────────
 * Source (CustomCursor.tsx): a 40px ring at sage/20 that follows the pointer on a spring
 * and, over anything clickable, grows to 1.4× at sage/60 with a faint fill. The system
 * cursor stays; this is company for it, not a replacement.
 */

.hedera-cursor {
	border: 1px solid color-mix(in srgb, var(--hedera-sage-200, #aee2c2) 20%, transparent);
	border-radius: 9999px;
	height: 2.5rem;
	right: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: translate(100px, -100px);
	transition: background-color 300ms ease, border-color 300ms ease, width 300ms ease, height 300ms ease, margin 300ms ease;
	width: 2.5rem;
	will-change: transform;
	z-index: 99999;
}

.hedera-cursor.is-pointer {
	background: color-mix(in srgb, var(--hedera-sage-200, #aee2c2) 5%, transparent);
	border-color: color-mix(in srgb, var(--hedera-sage-200, #aee2c2) 60%, transparent);
	height: 3.5rem;
	width: 3.5rem;
}

@media (prefers-reduced-motion: reduce) {
	.hedera-drawer__orb,
	.hedera-cookie__card {
		animation: none;
	}
}

/* ── The fallback templates ──────────────────────────────────────────────── */

.hedera-page {
	margin: 0 auto;
	max-width: 1200px;
	padding: 8rem 2.5rem 4rem;
}

.hedera-page__title {
	color: var(--hedera-forest-950, #04170f);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-5xl, 3rem);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 2rem;
}

.hedera-page__content {
	color: var(--hedera-ink, #111827);
	font-size: var(--hedera-text-lg, 1.125rem);
	line-height: 1.8;
}

.hedera-page__content h2,
.hedera-page__content h3,
.hedera-page__content h4 {
	color: var(--hedera-forest-900, #06261b);
	font-family: var(--hedera-font-heading);
	font-weight: 500;
	line-height: 1.2;
	margin: 2.5rem 0 1.25rem;
}

.hedera-page__content img {
	border-radius: 2rem;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
	height: auto;
	margin: 2.5rem 0;
	max-width: 100%;
}

.hedera-page__content blockquote {
	border-right: 4px solid var(--hedera-sage-200, #aee2c2);
	color: var(--hedera-forest-800, #0a3e2c);
	font-size: var(--hedera-text-xl, 1.25rem);
	font-style: italic;
	margin: 2rem 0;
	padding-right: 1.5rem;
}

.screen-reader-text {
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* ── WordPress's own classes ─────────────────────────────────────────────────
 * The editor writes these into content, and core plugins expect them. A theme that omits
 * them looks broken the first time somebody floats an image or captions one, which is a
 * fault the buyer meets on their own writing rather than on the demo.
 */

.alignleft {
	float: right;
	margin: 0.5rem 0 1rem 1.5rem;
}

.alignright {
	float: left;
	margin: 0.5rem 1.5rem 1rem 0;
}

.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.alignwide {
	margin-right: -4rem;
	margin-left: -4rem;
	max-width: calc(100% + 8rem);
}

.alignfull {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	max-width: 100vw;
}

.wp-caption {
	margin-bottom: 1.5rem;
	max-width: 100%;
}

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

.wp-caption-text,
.gallery-caption,
.wp-element-caption {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 60%, transparent);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-style: italic;
	margin-top: 0.75rem;
	text-align: center;
}

/* A sticky post is one the site owner pinned; saying so is the whole point of it. */
.sticky {
	position: relative;
}

.sticky .hedera-page__title::before,
.sticky .hedera-post__title::before {
	color: var(--hedera-sage-200, #aee2c2);
	content: '★';
	margin-left: 0.5rem;
}

/* A comment left by the person who wrote the post. */
.bypostauthor > .comment-body {
	border-right: 2px solid var(--hedera-sage-200, #aee2c2);
	padding-right: 1rem;
}

.hedera-page__tags a {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 60%, transparent);
	font-size: var(--hedera-text-xs, 0.75rem);
	letter-spacing: 0.1em;
	margin-left: 0.75rem;
	text-transform: uppercase;
}

.hedera-page__pages {
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-sm, 0.875rem);
	margin-top: 2rem;
}

.hedera-page__pages a {
	color: var(--hedera-forest-800, #0a3e2c);
	margin: 0 0.35rem;
}

/* ── Comments ────────────────────────────────────────────────────────────── */

.hedera-comments {
	margin: 4rem auto 0;
	max-width: 46rem;
}

.hedera-comments__title {
	color: var(--hedera-forest-900, #06261b);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-2xl, 1.5rem);
	font-weight: 400;
}

.hedera-comments__list {
	list-style: none;
	padding: 0;
}

.hedera-comments__list .children {
	list-style: none;
	padding-right: 2rem;
}

.hedera-comments .comment-body {
	border-bottom: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	padding: 1.5rem 0;
}

.hedera-comments .comment-author img {
	border-radius: 9999px;
	margin-left: 0.75rem;
	vertical-align: middle;
}

.hedera-comments input[type='text'],
.hedera-comments input[type='email'],
.hedera-comments input[type='url'],
.hedera-comments textarea {
	background: color-mix(in srgb, var(--hedera-mist-100, #f4f7f5) 50%, transparent);
	border: 1px solid transparent;
	border-radius: 1rem;
	font-family: var(--hedera-font-body);
	padding: 0.875rem 1.5rem;
	width: 100%;
}

.hedera-comments input:focus,
.hedera-comments textarea:focus {
	background: #fff;
	border-color: var(--hedera-sage-200, #aee2c2);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--hedera-sage-200, #aee2c2) 30%, transparent);
	outline: none;
}

/* ── Footer widgets ──────────────────────────────────────────────────────── */

.hedera-footer__widgets {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	margin-bottom: 4rem;
}

.hedera-widget {
	color: var(--hedera-forest-800, #0a3e2c);
	font-size: 13px;
	font-weight: 300;
}

.hedera-widget a {
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-widget a:hover {
	color: var(--hedera-sage-200, #aee2c2);
}

.hedera-widget__title {
	color: var(--hedera-forest-950, #04170f);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.hedera-widget ul {
	list-style: none;
	padding: 0;
}

.hedera-widget li {
	margin-bottom: 0.5rem;
}

/* ── The hero ─────────────────────────────────────────────────────────────── */

#hedera-hero-lede {
	filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.12));
	max-width: 42rem;
}

#hedera-hero-lede p {
	font-weight: 300;
	line-height: 1.7;
	margin: 0;
}

/* ── Block patterns ──────────────────────────────────────────────────────── */

.hedera-standfirst {
	color: var(--hedera-forest-800, #0a3e2c);
	font-size: var(--hedera-text-xl, 1.25rem);
	font-weight: 300;
	line-height: 1.7;
}

.wp-block-quote.is-style-hedera-lifted {
	border: 0;
	color: var(--hedera-forest-900, #06261b);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-3xl, 1.875rem);
	font-weight: 300;
	line-height: 1.3;
	margin: 3rem 0;
	padding: 0;
	text-align: center;
}

.wp-block-quote.is-style-hedera-lifted::before {
	background: var(--hedera-sage-200, #aee2c2);
	content: '';
	display: block;
	height: 1px;
	margin: 0 auto 2rem;
	width: 4rem;
}

/* ── Page headers ────────────────────────────────────────────────────────────
 * Source: every inner page opens the same way — h-[45vh] md:h-[65vh] on forest-950 with the
 * cover scaled 1.1 under the scrim, a label in tracked capitals between two rules, the
 * title in serif at text-4xl md:text-7xl, and sometimes a line under it at white/80.
 * The project page is h-[60vh] with the title at md:text-8xl; the journal blends its cover
 * in at 30%; the archive zooms its cover slowly.
 */

.hedera-page-hero {
	align-items: center;
	background-color: var(--hedera-forest-950, #04170f);
	background-position: center;
	background-size: cover;
	display: flex;
	justify-content: center;
	min-height: 65vh;
	overflow: hidden;
	position: relative;
	text-align: center;
}

.hedera-page-hero--project {
	min-height: 60vh;
}

@media (max-width: 767px) {
	.hedera-page-hero {
		min-height: 45vh;
	}
}

/* The journal blends its cover into the dark rather than laying it on top. */
.hedera-page-hero--blend {
	background-blend-mode: overlay;
	background-color: var(--hedera-forest-950, #04170f);
}

.hedera-page-hero--blend::before {
	background: var(--hedera-forest-950, #04170f);
	content: '';
	inset: 0;
	opacity: 0.7;
	position: absolute;
}

/* Source: animate-[slow-zoom_20s_infinite_alternate], scale 1 → 1.15. */
.hedera-page-hero--zoom {
	animation: hedera-slow-zoom 20s ease-in-out infinite alternate;
}

@keyframes hedera-slow-zoom {
	from {
		background-size: 100% auto;
	}

	to {
		background-size: 115% auto;
	}
}

/*
 * The words in an opening section.
 *
 * A departure from the source, and a deliberate one. The original centres them in the
 * whole section and then nudges them down by a fixed margin (mt-12 on the story header,
 * mt-32 on the archives) — which reads well on a tall screen and puts the headline 31px
 * under the header on a phone, because the nudge does not know how tall the header is.
 * Here the header's own height is reserved at the top and the words are centred in what
 * remains, so the arrangement is the design's at the sizes it was drawn for and stays
 * right at the ones it was not. The variable is measured by the script; the fallback is
 * the height the header has with the demo's logo.
 */
.hedera-page-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 60rem;
	padding: calc(var(--hedera-header-h, 114px) + 5.5rem) 1.5rem 2rem;
	position: relative;
	z-index: 1;
}

.hedera-page-hero__inner--wide {
	max-width: 64rem;
}

@media (max-width: 767px) {
	.hedera-page-hero__inner {
		padding-top: calc(var(--hedera-header-h, 88px) + 3rem);
	}
}

.hedera-page-hero__inner .hedera-label {
	justify-content: center;
}

.hedera-page-hero__title {
	color: #fff;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-4xl, 2.25rem);
	font-weight: 300;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}

@media (min-width: 768px) {
	.hedera-page-hero__title {
		font-size: var(--hedera-text-7xl, 4.5rem);
	}

	.hedera-page-hero__title--giant {
		font-size: 6rem;
	}
}

.hedera-page-hero__title--regular {
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.25;
}

@media (min-width: 1024px) {
	.hedera-page-hero__title--medium {
		font-size: var(--hedera-text-6xl, 3.75rem);
	}

	.hedera-page-hero__title--small {
		font-size: var(--hedera-text-5xl, 3rem);
	}
}

.hedera-page-hero__lede {
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-base, 1rem);
	font-weight: 300;
	line-height: 1.625;
	margin: 0 auto;
	max-width: 36rem;
}

.hedera-page-hero__lede p {
	margin: 0;
}

/* Source: text-white/60 text-[10px] font-bold tracking-[0.2em] uppercase border-b white/20 pb-1, sage on hover. */
.hedera-page-hero__link {
	align-items: center;
	color: rgba(255, 255, 255, 0.6);
	display: inline-flex;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 700;
	gap: 0.75rem;
	letter-spacing: 0.2em;
	margin: 0.5rem auto 0;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 300ms ease;
}

.hedera-page-hero__link span {
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 0.25rem;
	transition: border-color 300ms ease;
}

.hedera-page-hero__link .hedera-icon {
	height: 1rem;
	stroke-width: 2;
	width: 1rem;
}

.hedera-page-hero__link:hover {
	color: var(--hedera-sage-200, #aee2c2);
}

.hedera-page-hero__link:hover span {
	border-color: var(--hedera-sage-200, #aee2c2);
}

.hedera-page-hero__meta {
	align-items: center;
	color: rgba(255, 255, 255, 0.8);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-xs, 0.75rem);
	font-weight: 300;
	gap: 1rem;
	justify-content: center;
	margin: 1.5rem 0 0;
}

@media (min-width: 768px) {
	.hedera-page-hero__meta {
		gap: 2rem;
	}
}

.hedera-page-hero__dot {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 9999px;
	display: none;
	height: 4px;
	width: 4px;
}

@media (min-width: 768px) {
	.hedera-page-hero__dot {
		display: block;
	}
}

/* Label variants the templates use. */
.hedera-label--bold {
	font-weight: 700;
	letter-spacing: 0.4em;
}

.hedera-label--small {
	font-size: var(--hedera-text-label, 0.625rem);
}

.hedera-label--wide {
	letter-spacing: 0.5em;
}

.hedera-label--wide .hedera-label__rule {
	opacity: 0.3;
	width: 48px;
}

/* ── Archives ────────────────────────────────────────────────────────────── */

.hedera-archive {
	margin: 0 auto;
	max-width: 80rem;
	padding: 0 2.5rem 6rem;
}

@media (max-width: 639px) {
	.hedera-archive {
		padding: 0 1.5rem 4rem;
	}
}

.hedera-archive .hedera-filter {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.hedera-archive--journal {
	background: var(--hedera-mist-50, #f8f9f8);
	max-width: none;
	padding-bottom: 8rem;
}

.hedera-archive--journal .hedera-journal-wrap {
	margin: 0 auto;
	max-width: 80rem;
	padding: 0 2.5rem;
}

@media (max-width: 639px) {
	.hedera-archive--journal .hedera-journal-wrap {
		padding: 0 1.5rem;
	}
}

.hedera-archive--journal .hedera-filter {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

/* Source: border-b forest/10 pb-6 mb-16; h2 text-xl md:text-2xl serif; count text-[10px]
   font-semibold tracking-[0.2em] uppercase forest/40, from sm. */
.hedera-journal__head {
	align-items: center;
	border-bottom: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	display: flex;
	justify-content: space-between;
	margin-bottom: 4rem;
	padding-bottom: 1.5rem;
}

.hedera-journal__title {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-xl, 1.25rem);
	font-weight: 400;
	margin: 0;
}

@media (min-width: 768px) {
	.hedera-journal__title {
		font-size: var(--hedera-text-2xl, 1.5rem);
	}
}

.hedera-journal__count {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 40%, transparent);
	display: none;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

@media (min-width: 640px) {
	.hedera-journal__count {
		display: block;
	}
}

.hedera-journal__more {
	display: flex;
	justify-content: center;
	margin-top: 8rem;
}

.hedera-journal.is-ready .hedera-post {
	animation: hedera-fade-in-up 0.8s ease-out both;
	animation-delay: var(--hedera-card-delay, 0ms);
}

.hedera-post[hidden] {
	display: none;
}

/* ── A project ───────────────────────────────────────────────────────────────
 * Source: the figures in a grid-cols-2 md:grid-cols-4 card — bg-white/80 backdrop-blur-xl
 * p-6 md:p-8 rounded-3xl shadow-xl shadow-forest/5 border forest/5 — mt-6 md:mt-20, each
 * cell md:pl-8 behind a hairline, label text-[9px] font-bold tracking-[0.2em] forest/40,
 * value text-sm md:text-base serif forest. Then the gallery md:h-[75vh] mt-12 md:mt-32;
 * the description md:flex-row gap-12 md:gap-32 mt-16 md:mt-24 — h2 text-3xl md:text-5xl
 * serif forest leading-[1.1] on 5/12, text-lg md:text-2xl font-light forest/70 on 7/12;
 * the dark card max-w-4xl p-10 md:p-14 rounded-[2rem] mt-16 md:mt-24 with h3 text-2xl
 * md:text-4xl serif font-light, p white/60, and a white pill; and the navigation over
 * EXPLORE at text-[8vw] serif bold forest/3, tracking-tighter.
 */

.hedera-project-single {
	padding-bottom: 0;
}

.hedera-stats {
	backdrop-filter: blur(24px);
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 5%, transparent);
	border-radius: 1.5rem;
	box-shadow: 0 20px 25px -5px rgba(10, 62, 44, 0.05), 0 8px 10px -6px rgba(10, 62, 44, 0.05);
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 1.5rem auto 0;
	max-width: 80rem;
	padding: 1.5rem;
	position: relative;
	width: calc(100% - 3rem);
	z-index: 2;
}

@media (min-width: 768px) {
	.hedera-stats {
		gap: 2rem;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-top: 5rem;
		padding: 2rem;
		width: calc(100% - 5rem);
	}

	.hedera-stats__item + .hedera-stats__item {
		border-right: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
		padding-right: 2rem;
	}
}

.hedera-stats__item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	text-align: right;
}

.hedera-stats dt {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 40%, transparent);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-micro, 0.5625rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 0;
	text-transform: uppercase;
}

.hedera-stats dd {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-sm, 0.875rem);
	margin: 0;
}

@media (min-width: 768px) {
	.hedera-stats dd {
		font-size: var(--hedera-text-base, 1rem);
	}
}

.hedera-project-single__gallery {
	margin: 3rem auto 0;
	max-width: 80rem;
	padding: 0 1.5rem;
}

@media (min-width: 768px) {
	.hedera-project-single__gallery {
		margin-top: 8rem;
		padding: 0 2.5rem;
	}

	.hedera-project-single__gallery .hedera-gallery {
		height: 75vh;
	}
}

.hedera-project-single__story,
.hedera-detail__story {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin: 4rem auto 0;
	max-width: 80rem;
	padding: 0 1.5rem;
}

@media (min-width: 768px) {
	.hedera-project-single__story,
	.hedera-detail__story {
		align-items: flex-start;
		flex-direction: row;
		gap: 8rem;
		margin-top: 6rem;
		padding: 0 2.5rem;
	}
}

.hedera-project-single__heading,
.hedera-detail__heading {
	color: var(--hedera-forest-800, #0a3e2c);
	flex: 0 0 auto;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-3xl, 1.875rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0;
}

@media (min-width: 768px) {
	.hedera-project-single__heading,
	.hedera-detail__heading {
		font-size: var(--hedera-text-5xl, 3rem);
		width: 41.66%;
	}
}

.hedera-project-single__text,
.hedera-detail__text {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 70%, transparent);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-lg, 1.125rem);
	font-weight: 300;
	line-height: 1.625;
}

@media (min-width: 768px) {
	.hedera-project-single__text,
	.hedera-detail__text {
		font-size: var(--hedera-text-2xl, 1.5rem);
		width: 58.33%;
	}
}

.hedera-project-single__text,
.hedera-detail__text p {
	margin: 0 0 1.5rem;
}

.hedera-project-single__text,
.hedera-detail__text strong {
	color: var(--hedera-forest-800, #0a3e2c);
	font-weight: 600;
}

.hedera-project-single__cta,
.hedera-detail__cta {
	background: var(--hedera-forest-950, #04170f);
	border-radius: 2rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	color: #fff;
	margin: 4rem auto 0;
	max-width: 56rem;
	padding: 2.5rem;
	text-align: center;
	width: calc(100% - 3rem);
}

@media (min-width: 768px) {
	.hedera-project-single__cta,
	.hedera-detail__cta {
		margin-top: 6rem;
		padding: 3.5rem;
	}
}

.hedera-project-single__cta,
.hedera-detail__cta h3 {
	color: inherit;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-2xl, 1.5rem);
	font-weight: 300;
	margin: 0 0 1rem;
}

@media (min-width: 768px) {
	.hedera-project-single__cta,
	.hedera-detail__cta h3 {
		font-size: var(--hedera-text-4xl, 2.25rem);
	}
}

.hedera-project-single__cta,
.hedera-detail__cta p {
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-weight: 300;
	margin: 0 auto 2rem;
	max-width: 28rem;
}

@media (min-width: 768px) {
	.hedera-project-single__cta,
	.hedera-detail__cta p {
		font-size: var(--hedera-text-base, 1rem);
	}
}

.hedera-project-single__cta,
.hedera-detail__cta .hedera-button-wrap {
	justify-content: center;
}

.hedera-project-single__cta,
.hedera-detail__cta .hedera-button--rolling {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	color: var(--hedera-forest-800, #0a3e2c);
	padding: 1.25rem 2.5rem;
}

.hedera-project-single__cta,
.hedera-detail__cta .hedera-button--rolling .hedera-button__roll {
	font-size: var(--hedera-text-label, 0.625rem);
	height: 1rem;
	line-height: 1rem;
}

@media (min-width: 640px) {
	.hedera-project-single__cta,
	.hedera-detail__cta .hedera-button--rolling .hedera-button__roll {
		font-size: var(--hedera-text-xs, 0.75rem);
		height: 1.25rem;
		line-height: 1.25rem;
	}
}

.hedera-project-nav {
	background: linear-gradient(to bottom, #fff, color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 2%, transparent));
	border-top: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	margin-top: 5rem;
	overflow: hidden;
	position: relative;
}

@media (min-width: 768px) {
	.hedera-project-nav {
		margin-top: 8rem;
	}
}

.hedera-project-nav__ghost {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 3%, transparent);
	font-family: var(--hedera-font-heading);
	font-size: 12vw;
	font-weight: 700;
	right: 50%;
	letter-spacing: -0.05em;
	pointer-events: none;
	position: absolute;
	text-transform: uppercase;
	top: 50%;
	transform: translate(50%, -50%);
	user-select: none;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.hedera-project-nav__ghost {
		font-size: 8vw;
	}
}

.hedera-project-nav__inner {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 80rem;
	padding: 4rem 1.5rem;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.hedera-project-nav__inner {
		gap: 3rem;
		padding: 6rem 1.5rem;
	}
}

.hedera-project-nav__link {
	align-items: flex-start;
	color: var(--hedera-forest-800, #0a3e2c);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-decoration: none;
	transition: opacity 300ms ease;
	width: 40%;
}

@media (min-width: 768px) {
	.hedera-project-nav__link {
		align-items: center;
		flex-direction: row;
		gap: 1.5rem;
		width: 33.33%;
	}
}

.hedera-project-nav__link:hover {
	opacity: 0.7;
}

.hedera-project-nav__link--next {
	align-items: flex-end;
	justify-content: flex-end;
	text-align: left;
}

.hedera-project-nav__disc {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 20%, transparent);
	border-radius: 9999px;
	display: flex;
	flex: 0 0 auto;
	height: 3rem;
	justify-content: center;
	transition: all 300ms ease;
	width: 3rem;
}

@media (min-width: 768px) {
	.hedera-project-nav__disc {
		height: 4rem;
		width: 4rem;
	}
}

.hedera-project-nav__disc svg {
	height: 1.25rem;
	width: 1.25rem;
}

.hedera-project-nav__link:hover .hedera-project-nav__disc {
	background: var(--hedera-forest-800, #0a3e2c);
	color: #fff;
}

.hedera-project-nav__text {
	display: flex;
	flex-direction: column;
}

.hedera-project-nav__link--next .hedera-project-nav__text {
	align-items: flex-end;
}

.hedera-project-nav__text span {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 40%, transparent);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-micro, 0.5625rem);
	font-weight: 700;
	letter-spacing: 0.3em;
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.hedera-project-nav__text span {
		font-size: var(--hedera-text-label, 0.625rem);
		margin-bottom: 0.5rem;
	}
}

.hedera-project-nav__text strong {
	display: -webkit-box;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-weight: 400;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (min-width: 768px) {
	.hedera-project-nav__text strong {
		font-size: var(--hedera-text-2xl, 1.5rem);
		-webkit-line-clamp: 1;
		line-clamp: 1;
	}
}

.hedera-project-nav__all {
	align-items: center;
	color: var(--hedera-forest-800, #0a3e2c);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	opacity: 0.6;
	text-decoration: none;
	transition: opacity 300ms ease;
	width: 20%;
}

@media (min-width: 768px) {
	.hedera-project-nav__all {
		gap: 1rem;
		width: 33.33%;
	}
}

.hedera-project-nav__all:hover {
	opacity: 1;
}

.hedera-project-nav__grid {
	align-items: center;
	background: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 5%, transparent);
	border-radius: 9999px;
	display: flex;
	height: 2.5rem;
	justify-content: center;
	transition: all 300ms ease;
	width: 2.5rem;
}

@media (min-width: 768px) {
	.hedera-project-nav__grid {
		height: 3rem;
		width: 3rem;
	}
}

.hedera-project-nav__grid svg {
	height: 1rem;
	width: 1rem;
}

.hedera-project-nav__all:hover .hedera-project-nav__grid {
	background: var(--hedera-forest-800, #0a3e2c);
	color: #fff;
}

.hedera-project-nav__all > span:last-child {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 60%, transparent);
	display: none;
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-micro, 0.5625rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.hedera-project-nav__all > span:last-child {
		display: block;
	}
}

/* ── A post ──────────────────────────────────────────────────────────────────
 * Source: the cover aspect-[16/9] md:aspect-[21/9] rounded-[2.5rem] md:rounded-[4rem]
 * shadow-2xl, mt-16 md:mt-24 inside max-w-7xl; the writing py-24 in max-w-3xl, the excerpt
 * text-2xl md:text-3xl serif italic forest at 80% behind a 4px sage bar with pl-6, mb-16;
 * prose at forest/80 font-light; a closing block mt-24 pt-12 border-t forest/10 centred with
 * a 3rem sage bar, an italic serif line at 60%, and the underlined link; then "You may also
 * like" on mist with three white cards p-6 rounded-[2.5rem].
 */

.hedera-post-single__cover {
	margin: 4rem auto 0;
	max-width: 80rem;
	padding: 0 1.5rem;
}

@media (min-width: 768px) {
	.hedera-post-single__cover {
		margin-top: 6rem;
		padding: 0 3rem;
	}
}

.hedera-post-single__cover img {
	aspect-ratio: 16 / 9;
	border-radius: 2.5rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

@media (min-width: 768px) {
	.hedera-post-single__cover img {
		aspect-ratio: 21 / 9;
		border-radius: 4rem;
	}
}

.hedera-post-single__body {
	margin: 0 auto;
	max-width: 48rem;
	padding: 6rem 1.5rem;
}

.hedera-post-single__lede {
	border-right: 4px solid var(--hedera-sage-200, #aee2c2);
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-2xl, 1.5rem);
	font-style: italic;
	line-height: 1.625;
	margin: 0 0 4rem;
	opacity: 0.8;
	padding-right: 1.5rem;
}

@media (min-width: 768px) {
	.hedera-post-single__lede {
		font-size: var(--hedera-text-3xl, 1.875rem);
	}
}

.hedera-post-single__content {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 80%, transparent);
	font-weight: 300;
}

.hedera-post-single__content h2,
.hedera-post-single__content h3 {
	color: var(--hedera-forest-800, #0a3e2c);
	font-weight: 400;
}

.hedera-post-single__close {
	align-items: center;
	border-top: 1px solid color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 10%, transparent);
	display: flex;
	flex-direction: column;
	margin-top: 6rem;
	padding-top: 3rem;
	text-align: center;
}

.hedera-post-single__bar {
	background: var(--hedera-sage-200, #aee2c2);
	display: block;
	height: 4px;
	margin-bottom: 3rem;
	width: 3rem;
}

.hedera-post-single__close p {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-sm, 0.875rem);
	font-style: italic;
	margin: 0 0 3rem;
	opacity: 0.6;
}

.hedera-post-single__close .hedera-button--line {
	letter-spacing: 0.3em;
	padding-bottom: 0.75rem;
}

.hedera-post-single__more {
	background: #f4f7f6;
	padding: 6rem 1.5rem;
}

@media (min-width: 768px) {
	.hedera-post-single__more {
		padding: 8rem 1.5rem;
	}
}

.hedera-post-single__more-inner {
	margin: 0 auto;
	max-width: 80rem;
}

.hedera-post-single__more-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 4rem;
	padding: 0 1rem;
}

.hedera-post-single__more-head h2 {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-2xl, 1.5rem);
	font-weight: 400;
	margin: 0;
}

@media (min-width: 768px) {
	.hedera-post-single__more-head h2 {
		font-size: var(--hedera-text-4xl, 2.25rem);
	}
}

.hedera-post-single__more-head a {
	color: color-mix(in srgb, var(--hedera-forest-800, #0a3e2c) 50%, transparent);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-xs, 0.75rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 8px;
	transition: color 300ms ease;
}

.hedera-post-single__more-head a:hover {
	color: var(--hedera-forest-800, #0a3e2c);
}

.hedera-post-single__cards {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.hedera-post-single__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.hedera-post-card {
	background: #fff;
	border-radius: 2.5rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	text-decoration: none;
	transition: box-shadow 500ms ease;
}

.hedera-post-card:hover {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.hedera-post-card__media {
	aspect-ratio: 16 / 9;
	border-radius: 1rem;
	display: block;
	margin-bottom: 1.5rem;
	overflow: hidden;
	position: relative;
}

.hedera-post-card__media img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform 700ms ease;
	width: 100%;
}

.hedera-post-card:hover .hedera-post-card__media img {
	transform: scale(1.05);
}

.hedera-post-card__category {
	color: var(--hedera-sage-200, #aee2c2);
	font-family: var(--hedera-font-body);
	font-size: var(--hedera-text-label, 0.625rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.hedera-post-card__title {
	color: var(--hedera-forest-800, #0a3e2c);
	display: -webkit-box;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-xl, 1.25rem);
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.375;
	overflow: hidden;
	transition: color 300ms ease;
}

.hedera-post-card:hover .hedera-post-card__title {
	color: var(--hedera-sage-400, #68c99b);
}

/* ── A plain page ────────────────────────────────────────────────────────────
 * Source (LegalPageClient.tsx): the same dark header as every inner page, then the writing
 * in a narrow column. What the block editor produces lands here.
 */

.hedera-page--plain {
	margin: 0 auto;
	max-width: 48rem;
	padding: 5rem 1.5rem 6rem;
}

.hedera-page--plain .hedera-page__title {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.hedera-page-hero--zoom {
		animation: none;
	}
}

/* ── The other services, at the foot of a service page ───────────────────────
 * Source: the services page's own editorial rows — a ghost number, the name in the serif
 * face, a hairline that fills on hover. Here they are a list rather than a section, since
 * their job is to carry a reader onward rather than to sell each one again.
 */

.hedera-service-more {
	margin: 5rem auto 0;
	max-width: 80rem;
	padding: 0 1.5rem;
}

@media (min-width: 768px) {
	.hedera-service-more {
		margin-top: 7rem;
		padding: 0 2.5rem;
	}
}

.hedera-service-more__title {
	color: var(--hedera-forest-800, #0a3e2c);
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-2xl, 1.5rem);
	font-weight: 300;
	letter-spacing: -0.02em;
	margin: 0 0 1.5rem;
}

@media (min-width: 768px) {
	.hedera-service-more__title {
		font-size: var(--hedera-text-3xl, 1.875rem);
	}
}

.hedera-service-more__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hedera-service-more__item {
	border-top: 1px solid rgba(10, 62, 44, 0.12);
}

.hedera-service-more__item:last-child {
	border-bottom: 1px solid rgba(10, 62, 44, 0.12);
}

.hedera-service-more__link {
	align-items: center;
	color: var(--hedera-forest-950, #04170f);
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem 0.25rem;
	text-decoration: none;
	transition: color 400ms var(--hedera-ease-expo, ease), padding 400ms var(--hedera-ease-expo, ease);
}

.hedera-service-more__link:hover,
.hedera-service-more__link:focus-visible {
	color: var(--hedera-forest-800, #0a3e2c);
	padding-right: 1rem;
}

.hedera-service-more__no {
	color: rgba(10, 62, 44, 0.35);
	flex: 0 0 auto;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-sm, 0.875rem);
	letter-spacing: 0.1em;
}

.hedera-service-more__name {
	flex: 1 1 auto;
	font-family: var(--hedera-font-heading);
	font-size: var(--hedera-text-xl, 1.25rem);
	font-weight: 300;
}

@media (min-width: 768px) {
	.hedera-service-more__name {
		font-size: var(--hedera-text-2xl, 1.5rem);
	}
}

.hedera-service-more__link .hedera-icon {
	flex: 0 0 auto;
	height: 1.25rem;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity 400ms ease, transform 400ms ease;
	width: 1.25rem;
}

.hedera-service-more__link:hover .hedera-icon,
.hedera-service-more__link:focus-visible .hedera-icon {
	opacity: 1;
	transform: translateX(0);
}

.hedera-service-single .hedera-detail__cta {
	margin-bottom: 6rem;
}

@media (prefers-reduced-motion: reduce) {
	.hedera-service-more__link,
	.hedera-service-more__link .hedera-icon {
		transition: none;
	}
}

/* The journal card's photograph, in the flow for the reason given in widgets.css. */
.hedera-post-card__media img {
	aspect-ratio: inherit;
	display: block;
	height: auto;
	inset: auto;
	position: relative;
	width: 100%;
}
