:root {
	--wp--preset--color--muted: #6e7268;
	--nalven-forest: var(--wp--preset--color--forest, #153e3c);
	--nalven-ivory: var(--wp--preset--color--ivory, #f5f3ee);
	--nalven-ink: var(--wp--preset--color--ink, #1f2421);
	--nalven-muted: var(--wp--preset--color--muted, #6e7268);
	--nalven-line: var(--wp--preset--color--line, #d8d4ca);
	--nalven-wood: var(--wp--preset--color--wood, #8b6914);
	--nalven-header-height: var(--wp--custom--header-height, 72px);
	--nalven-gutter: var(--wp--custom--gutter, clamp(1.5rem, 5vw, 5rem));
	--nalven-section-padding: var(--wp--custom--section-padding, clamp(4.5rem, 9vw, 9rem));
}

body {
	background: var(--nalven-ivory);
	color: var(--nalven-ink);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.7;
}

::selection {
	background: var(--nalven-forest);
	color: #fff;
}

a {
	text-underline-offset: 0.2em;
}

a:hover {
	text-decoration-thickness: 1px;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.screen-reader-text:focus {
	background: #fff;
	color: var(--nalven-ink);
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	height: auto;
	left: 1rem;
	line-height: normal;
	padding: 0.8rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

/* Header */
.nalven-site-header {
	align-items: center;
	background: rgba(245, 243, 238, 0.94);
	border-bottom: 0;
	display: flex;
	height: var(--nalven-header-height);
	left: 0;
	padding-inline: var(--nalven-gutter);
	position: fixed;
	right: 0;
	top: 0;
	transition: background-color 0.5s ease, border-color 0.5s ease, box-shadow 0.5s ease;
	z-index: 1000;
}

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

.nalven-site-header.is-transparent {
	background: transparent;
	border-bottom-color: transparent;
	box-shadow: none;
	color: #fff;
}

.nalven-has-hero .nalven-site-header:not(.is-scrolled) {
	background: transparent;
	border-bottom-color: transparent;
	box-shadow: none;
	color: #fff;
}

.nalven-site-header.is-scrolled {
	background: rgba(245, 243, 238, 0.94);
	box-shadow: 0 1px 0 var(--nalven-line);
}

.nalven-header-inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

.nalven-brand {
	align-items: center;
	display: flex;
	line-height: 0;
	min-height: 22px;
}

.nalven-brand .wp-block-site-logo {
	line-height: 0;
	margin: 0;
}

.nalven-brand .wp-block-site-logo img {
	display: block;
	height: 22px;
	max-height: 22px;
	object-fit: contain;
	transition: filter 0.45s ease;
	width: 108px;
}

.nalven-site-header.is-transparent .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}

.nalven-has-hero .nalven-site-header:not(.is-scrolled) .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}

/* Approved artwork: overlap both color variants without stretching or layout shift. */
.nalven-brand .nalven-dual-logo .custom-logo-link {
	display: grid;
	width: 108px;
}

.nalven-brand .nalven-dual-logo img {
	filter: none !important;
	grid-area: 1 / 1;
	height: auto;
	max-height: none;
	width: 100%;
	transition: opacity 0.45s ease;
}

.nalven-brand .nalven-logo-white {
	opacity: 0;
}

.nalven-site-header.is-transparent .nalven-logo-green,
.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-logo-green {
	opacity: 0;
}

.nalven-site-header.is-transparent .nalven-logo-white,
.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-logo-white {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.nalven-brand .nalven-dual-logo img { transition: none; }
}

.nalven-brand .wp-block-site-logo + .wp-block-site-title {
	display: none;
}

.nalven-brand .wp-block-site-title {
	color: currentColor;
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.nalven-primary-nav {
	color: var(--nalven-muted);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.nalven-primary-nav .wp-block-navigation__container {
	gap: 28px;
}

.nalven-site-header.is-transparent .nalven-primary-nav {
	color: rgba(255, 255, 255, 0.78);
}

.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-primary-nav {
	color: rgba(255, 255, 255, 0.78);
}

.nalven-primary-nav .wp-block-navigation-item__content {
	padding-bottom: 4px;
	position: relative;
}

.nalven-primary-nav .wp-block-navigation-item:not(.nalven-nav-cta) > .wp-block-navigation-item__content::after {
	background: currentColor;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s ease;
	width: 100%;
}

.nalven-primary-nav .wp-block-navigation-item:not(.nalven-nav-cta) > .wp-block-navigation-item__content:hover::after,
.nalven-primary-nav .current-menu-item > .wp-block-navigation-item__content::after,
.nalven-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

.nalven-primary-nav .wp-block-navigation-item:not(.nalven-nav-cta) > .wp-block-navigation-item__content:hover,
.nalven-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.nalven-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--nalven-forest);
}

.nalven-site-header.is-transparent .nalven-primary-nav .wp-block-navigation-item:not(.nalven-nav-cta) > .wp-block-navigation-item__content:hover,
.nalven-site-header.is-transparent .nalven-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.nalven-site-header.is-transparent .nalven-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-primary-nav .wp-block-navigation-item:not(.nalven-nav-cta) > .wp-block-navigation-item__content:hover,
.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: #fff;
}

.nalven-nav-cta > .wp-block-navigation-item__content {
	background: var(--nalven-forest);
	border: 1px solid var(--nalven-forest);
	color: var(--nalven-ivory) !important;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.12em;
	line-height: normal;
	padding: 9px 18px !important;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.nalven-site-header.is-transparent .nalven-nav-cta > .wp-block-navigation-item__content {
	background: var(--nalven-forest);
	border-color: var(--nalven-forest);
	color: var(--nalven-ivory) !important;
}

.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-nav-cta > .wp-block-navigation-item__content {
	background: var(--nalven-forest);
	border-color: var(--nalven-forest);
	color: var(--nalven-ivory) !important;
}

.nalven-nav-cta > .wp-block-navigation-item__content:hover {
	background: transparent;
	color: var(--nalven-forest) !important;
}

.nalven-site-header.is-transparent .nalven-nav-cta > .wp-block-navigation-item__content:hover {
	background: transparent;
	border-color: var(--nalven-forest);
	color: var(--nalven-forest) !important;
}

.nalven-has-hero .nalven-site-header:not(.is-scrolled) .nalven-nav-cta > .wp-block-navigation-item__content:hover {
	background: transparent;
	border-color: var(--nalven-forest);
	color: var(--nalven-forest) !important;
}

.nalven-site-header .wp-block-navigation__responsive-container-open {
	color: currentColor;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--nalven-ivory);
	color: var(--nalven-ink);
	padding: 1.5rem;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 4rem;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch;
	gap: 0;
	width: 100%;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	border-bottom: 1px solid var(--nalven-line);
	width: 100%;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	font-size: 0.9rem;
	padding-block: 1rem;
	width: 100%;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .nalven-nav-cta {
	border-bottom: 0;
	margin-top: 1rem;
}

.nalven-site-header .wp-block-navigation__responsive-container.is-menu-open .nalven-nav-cta .wp-block-navigation-item__content {
	background: var(--nalven-forest);
	color: #fff !important;
	text-align: center;
}

/* Main templates */
.nalven-standard-main {
	min-height: 55vh;
	padding-block: calc(var(--nalven-header-height) + clamp(3rem, 7vw, 7rem)) var(--nalven-section-padding);
}

.nalven-main,
.nalven-main .wp-block-post-content {
	margin: 0;
}

.nalven-post-header,
.nalven-query-header {
	padding-inline: var(--nalven-gutter);
}

.nalven-query-loop {
	padding-inline: var(--nalven-gutter);
}

/* Editorial section primitives */
.nalven-section {
	padding: var(--nalven-section-padding) var(--nalven-gutter);
}

.nalven-section > .wp-block-group__inner-container,
.nalven-section-inner {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

/* Brand pages use the source HTML's viewport gutter, not Gutenberg's
 * contentSize/alignwide centering. Narrow measures are restored explicitly
 * on the individual copy blocks below. WordPress adds is-layout-constrained
 * only when rendering saved blocks; preserve each block's measure through
 * this reset instead of overriding it with an unconditional none. */
.nalven-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.nalven-section > .alignwide {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: var(--nalven-content-measure, none) !important;
	width: 100%;
}

.nalven-eyebrow,
.is-style-nalven-eyebrow {
	color: var(--nalven-wood);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.7;
	margin-block: 0 1.25rem;
	text-transform: uppercase;
}

.nalven-section-title {
	font-size: clamp(2rem, 4.5vw, 4.5rem);
	font-weight: 300;
	line-height: 1.12;
	margin-block: 0 1.5rem;
}

.nalven-lede {
	--nalven-content-measure: 52rem;
	color: var(--nalven-muted);
	font-size: clamp(1.05rem, 1.55vw, 1.35rem);
	line-height: 1.75;
	max-width: 52rem;
}

/* Heroes */
.nalven-hero,
.nalven-page-hero {
	align-items: flex-end;
	display: flex;
	margin: 0;
	overflow: hidden;
	padding: clamp(40px, 6vw, 80px) var(--nalven-gutter);
	position: relative;
}

.nalven-hero {
	height: 100vh;
	min-height: 600px !important;
}

.nalven-page-hero {
	height: 72vh;
	min-height: 460px !important;
}

.nalven-hero.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container,
.nalven-page-hero.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
	margin-inline: 0 !important;
	max-width: none !important;
	position: relative;
	z-index: 3;
	width: 100% !important;
}

.nalven-hero h1 {
	color: #fff;
	font-size: clamp(30px, 4.2vw, 62px);
	font-weight: 300;
	letter-spacing: 0.004em;
	line-height: 1.32;
	margin-block: 0 28px;
	max-width: 780px;
}

.nalven-page-hero h1 {
	color: #fff;
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1.12;
	margin-block: 0 20px;
	max-width: 640px;
}

.nalven-hero p:not(.nalven-eyebrow) {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(14px, 1.35vw, 16px);
	line-height: 1.78;
	margin-block: 0 40px;
	max-width: 480px;
}

.nalven-page-hero p:not(.nalven-eyebrow) {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(14px, 1.35vw, 16px);
	line-height: 1.78;
	margin-block: 0;
	max-width: 500px;
}

.nalven-hero .nalven-eyebrow,
.nalven-page-hero .nalven-eyebrow {
	color: rgba(255, 255, 255, 0.65);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.24em;
	margin-block: 0 18px;
}

/* Keep the source overlays deterministic even before WordPress regenerates
 * preset classes after a theme update or while a page cache is still warm. */
.has-nalven-full-gradient-background {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.72) 0%,
		rgba(21, 62, 60, 0.22) 35%,
		rgba(21, 62, 60, 0.28) 65%,
		rgba(10, 30, 29, 0.8) 100%
	) !important;
	opacity: 1 !important;
}

.has-nalven-home-duo-gradient-background {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.65) 0%,
		rgba(21, 62, 60, 0.15) 35%,
		rgba(21, 62, 60, 0.3) 65%,
		rgba(10, 30, 29, 0.78) 100%
	) !important;
	opacity: 1 !important;
}

.has-nalven-story-duo-gradient-background {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.62) 0%,
		rgba(21, 62, 60, 0.14) 35%,
		rgba(21, 62, 60, 0.28) 65%,
		rgba(10, 30, 29, 0.76) 100%
	) !important;
	opacity: 1 !important;
}

.nalven-hero > .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient),
.nalven-page-hero > .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient),
.nalven-collection-band > .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient) {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.72) 0%,
		rgba(21, 62, 60, 0.22) 35%,
		rgba(21, 62, 60, 0.28) 65%,
		rgba(10, 30, 29, 0.8) 100%
	) !important;
	opacity: 1 !important;
	z-index: 1;
}

.nalven-hero.nalven-overlay--full::before,
.nalven-hero:has(> .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient))::before {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.75) 0%,
		rgba(21, 62, 60, 0.28) 70%,
		rgba(0, 0, 0, 0) 100%
	);
	content: "";
	height: 220px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

.nalven-duo:not(.nalven-story-duo) .nalven-panel > .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient) {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.65) 0%,
		rgba(21, 62, 60, 0.15) 35%,
		rgba(21, 62, 60, 0.3) 65%,
		rgba(10, 30, 29, 0.78) 100%
	) !important;
	opacity: 1 !important;
}

.nalven-story-duo .nalven-panel > .wp-block-cover__background.has-forest-background-color:not(.has-background-gradient) {
	background: linear-gradient(
		to bottom,
		rgba(21, 62, 60, 0.62) 0%,
		rgba(21, 62, 60, 0.14) 35%,
		rgba(21, 62, 60, 0.28) 65%,
		rgba(10, 30, 29, 0.76) 100%
	) !important;
	opacity: 1 !important;
}

.nalven-hero .wp-block-cover__image-background,
.nalven-page-hero .wp-block-cover__image-background,
.nalven-panel .wp-block-cover__image-background,
.nalven-media-zoom .wp-block-cover__image-background,
.nalven-media-zoom img,
.is-style-nalven-slow-zoom img,
.nalven-slow-zoom img {
	transition: transform 20s ease;
}

.nalven-hero:hover .wp-block-cover__image-background,
.nalven-hero:focus-within .wp-block-cover__image-background,
.nalven-page-hero:hover .wp-block-cover__image-background,
.nalven-page-hero:focus-within .wp-block-cover__image-background,
.nalven-media-zoom:hover .wp-block-cover__image-background,
.nalven-media-zoom:focus-within .wp-block-cover__image-background,
.nalven-media-zoom:hover img,
.nalven-media-zoom:focus-within img,
.is-style-nalven-slow-zoom:hover img,
.is-style-nalven-slow-zoom:focus-within img,
.nalven-slow-zoom:hover img,
.nalven-slow-zoom:focus-within img {
	transform: scale(1.05);
}

.nalven-panel:hover .wp-block-cover__image-background,
.nalven-panel:focus-within .wp-block-cover__image-background {
	transform: scale(1.04);
}

.nalven-story-duo .nalven-panel .wp-block-cover__image-background {
	transition-duration: 18s;
}

/* Buttons */
.wp-element-button,
.wp-block-button__link {
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.12em;
	padding: 13px 28px;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	border: 1px solid var(--nalven-forest);
}

.nalven-buttons,
.nalven-panel .wp-block-buttons,
.nalven-collection-band .wp-block-buttons {
	display: flex;
	gap: 14px;
}

.nalven-project-cta .wp-block-buttons {
	display: flex;
	gap: 14px;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: transparent;
	border-color: var(--nalven-forest);
	color: var(--nalven-forest);
}

.is-style-nalven-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--nalven-forest);
}

.has-forest-background-color .is-style-nalven-outline .wp-block-button__link,
.has-forest-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.nalven-hero .is-style-nalven-outline .wp-block-button__link,
.nalven-page-hero .is-style-nalven-outline .wp-block-button__link,
.nalven-panel .wp-block-button.is-style-outline .wp-block-button__link,
.nalven-collection-band .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff;
}

.has-forest-background-color .is-style-nalven-outline .wp-block-button__link:hover,
.nalven-hero .is-style-nalven-outline .wp-block-button__link:hover,
.nalven-page-hero .is-style-nalven-outline .wp-block-button__link:hover,
.nalven-panel .wp-block-button.is-style-outline .wp-block-button__link:hover,
.nalven-collection-band .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--nalven-forest);
}

/* Image-led pairs */
.nalven-duo {
	background: var(--nalven-line);
	display: flex;
	gap: 1px !important;
	height: 90vh;
	min-height: 540px;
	overflow: hidden;
	width: 100%;
}

.nalven-duo > .wp-block-column {
	height: 100%;
	margin: 0;
}

.nalven-panel {
	align-items: flex-end;
	display: flex;
	height: 100%;
	min-height: 0 !important;
	overflow: hidden;
	padding: clamp(32px, 4vw, 56px) clamp(28px, 3.5vw, 48px);
}

.nalven-panel.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
	margin-inline: 0 !important;
	max-width: none !important;
	position: relative;
	z-index: 2;
	width: 100% !important;
}

.nalven-panel h2,
.nalven-panel h3 {
	font-size: clamp(36px, 4.5vw, 72px);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-block: 0 14px;
}

.nalven-duo:not(.nalven-story-duo) .nalven-panel .nalven-eyebrow {
	color: rgba(255, 255, 255, 0.6);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 10px;
}

.nalven-duo:not(.nalven-story-duo) .nalven-panel :is(h2, h3) + p {
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: clamp(13px, 1.2vw, 15px);
	line-height: 1.6;
	margin-block: 0 24px;
	max-width: 320px;
}

.nalven-story-duo {
	height: 80vh;
	min-height: 520px;
}

.nalven-story-duo .nalven-panel {
	padding: clamp(28px, 3.5vw, 48px) clamp(24px, 3vw, 40px);
}

.nalven-story-duo .nalven-panel .nalven-eyebrow {
	color: rgba(255, 255, 255, 0.6);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 8px;
}

.nalven-story-duo .nalven-panel h3 {
	font-size: clamp(18px, 2vw, 28px);
	letter-spacing: -0.01em;
	line-height: 1.7;
	margin-block: 0 6px;
}

.nalven-story-duo .nalven-panel h3 + p {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 13px;
	line-height: 1.6;
	margin-block: 0;
}

.nalven-collection-band {
	align-items: flex-end;
	display: flex;
	height: 78vh;
	margin: 0;
	min-height: 480px !important;
	overflow: hidden;
	padding: clamp(40px, 6vw, 80px) var(--nalven-gutter);
}

.nalven-collection-band.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
	margin-inline: 0 !important;
	max-width: none !important;
	position: relative;
	z-index: 2;
	width: 100% !important;
}

.nalven-collection-band h2 {
	font-size: clamp(40px, 6vw, 88px);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-block: 0 16px;
}

.nalven-collection-band .nalven-eyebrow {
	color: rgba(255, 255, 255, 0.65);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 12px;
}

.nalven-collection-band h2 + p {
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: clamp(14px, 1.5vw, 17px);
	line-height: 1.6;
	margin-block: 0 28px;
	max-width: 380px;
}

.nalven-display-heading {
	--nalven-content-measure: none;
	font-size: clamp(28px, 3.6vw, 52px);
	letter-spacing: -0.01em;
	line-height: 1.22;
	max-width: none;
}

.nalven-narrow-copy {
	--nalven-content-measure: 600px;
	max-width: 600px;
}

/* Core constrained layouts use a 760px content column by default. These
 * editorial sections follow the source layout's viewport gutter instead. */
.nalven-statement > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.nalven-collections-intro > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.nalven-story-intro > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.nalven-page-intro > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.nalven-statement {
	padding-block: clamp(72px, 9vw, 128px);
}

.nalven-statement .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 16px;
}

.nalven-statement .nalven-display-heading {
	margin-block: 0;
}

.nalven-statement .nalven-narrow-copy {
	--nalven-content-measure: 600px;
	color: var(--nalven-muted);
	font-size: 15px;
	line-height: 1.82;
	margin-block: 24px 0;
	max-width: 600px;
}

.nalven-collections-intro {
	padding-block: clamp(72px, 8vw, 112px) clamp(48px, 5vw, 72px);
}

.nalven-collections-intro > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	--nalven-content-measure: 640px;
	max-width: 640px;
}

.nalven-collections-intro .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 14px;
}

.nalven-collections-intro h2 {
	font-size: clamp(28px, 3.2vw, 48px);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin-block: 0;
}

.nalven-page-intro {
	border-bottom: 1px solid var(--nalven-line);
	padding-block: clamp(48px, 6vw, 80px) clamp(48px, 5vw, 72px);
}

.nalven-page-intro .nalven-narrow-copy {
	--nalven-content-measure: 560px;
	font-size: 15px;
	line-height: 1.8;
	margin-block: 0;
	max-width: 560px;
}

.nalven-story-intro {
	padding-block: clamp(72px, 9vw, 120px);
}

.nalven-story-intro > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	--nalven-content-measure: 760px;
	max-width: 760px;
}

.nalven-story-intro .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 14px;
}

.nalven-story-intro .nalven-display-heading {
	--nalven-content-measure: none;
	font-size: clamp(28px, 3.5vw, 52px);
	line-height: 1.2;
	margin-block: 0;
	max-width: none;
}

.nalven-story-intro .nalven-narrow-copy {
	--nalven-content-measure: 620px;
	font-size: 15px;
	line-height: 1.88;
	margin-block: 24px 0;
	max-width: 620px;
}

/* Quote and process */
.nalven-quote {
	background: var(--nalven-forest);
	color: var(--nalven-ivory);
	padding: clamp(80px, 10vw, 140px) var(--nalven-gutter);
	text-align: center;
}

.nalven-quote > .nalven-eyebrow {
	color: rgba(255, 255, 255, 0.6) !important;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin: 0 auto 20px !important;
}

.nalven-quote blockquote,
.nalven-quote .wp-block-quote {
	border: 0;
	margin: 0 auto !important;
	max-width: 820px !important;
	padding: 0;
}

.nalven-quote blockquote p,
.nalven-quote .wp-block-quote p {
	font-size: clamp(22px, 3.5vw, 52px);
	font-weight: 300;
	letter-spacing: 0.01em;
	line-height: 1.4;
	margin: 0;
}

.nalven-quote cite {
	display: block;
	color: rgba(245, 243, 238, 0.4);
	font-size: 11px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.22em;
	margin-top: 28px;
	text-transform: uppercase;
}

.nalven-process {
	padding-block: clamp(64px, 8vw, 112px);
}

.nalven-process > .nalven-eyebrow {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin: 0 auto 12px !important;
}

.nalven-process > h2 {
	font-size: clamp(24px, 2.8vw, 40px);
	margin: 0 auto 64px !important;
}

.nalven-process-grid {
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 !important;
	max-width: none !important;
	width: 100%;
}

.nalven-process-grid > .wp-block-column {
	border-left: 1px solid var(--nalven-line);
	min-width: 0;
	padding: 0 28px;
}

.nalven-process-grid > .wp-block-column:first-child {
	border-left: 0;
	padding-left: 0;
}

.nalven-process-grid > .wp-block-column:last-child {
	padding-right: 0;
}

.nalven-process-grid .nalven-step-number {
	color: var(--nalven-wood);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.2em;
	margin: 0 0 14px;
}

.nalven-process-grid h3 {
	font-size: 18px;
	font-weight: 400;
	margin-block: 0 8px;
}

.nalven-process-grid p {
	color: var(--nalven-muted);
	font-size: 13px;
	line-height: 1.7;
	margin-block: 0;
}

/* Collection details */
.nalven-detail {
	margin: 0;
	min-height: 70vh;
	scroll-margin-top: calc(var(--nalven-header-height) + 1rem);
}

.nalven-detail > .wp-block-columns {
	align-items: stretch !important;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	min-height: inherit;
}

.nalven-detail > .wp-block-columns > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy):has(> .wp-block-image),
.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy):has(> .wp-block-cover) {
	overflow: hidden;
	position: relative;
}

.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-image,
.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-cover {
	inset: 0;
	height: 100%;
	margin: 0;
	min-height: 0;
	position: absolute;
	width: 100%;
}

.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-image > img,
.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-image > a > img {
	aspect-ratio: auto !important;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform 0.8s ease;
	width: 100%;
}

.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-image:hover img,
.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy) > .wp-block-image:focus-within img {
	transform: scale(1.03);
}

.nalven-detail-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
	padding: clamp(48px, 6vw, 80px) clamp(36px, 4.5vw, 64px);
}

.nalven-detail-copy h2 {
	font-size: clamp(36px, 4vw, 60px);
	letter-spacing: -0.02em;
	margin-block: 0 8px;
}

.nalven-detail-copy .nalven-subtitle {
	color: var(--nalven-muted);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.06em;
	margin-block: 0 20px;
	text-transform: uppercase;
}

.nalven-detail-copy > p:not(.nalven-eyebrow, .nalven-subtitle) {
	color: var(--nalven-muted);
	font-size: 15px;
	line-height: 1.82;
	margin-block: 0 28px;
	max-width: none;
}

.nalven-detail-copy > .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.22em;
	margin-block: 0 8px;
}

.nalven-detail .nalven-buttons {
	display: flex;
	gap: 12px;
}

/* The preceding tags/image already supplies the source HTML's spacing.
 * A production core flow layout also adds blockGap to this button group. */
.nalven-detail-copy > .wp-block-buttons.nalven-buttons {
	margin-block: 0;
}

.nalven-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem !important;
	margin-block: 0 36px;
}

.nalven-tags > * {
	border: 1px solid var(--nalven-line);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin: 0 !important;
	padding: 5px 12px;
	text-transform: uppercase;
}

.nalven-detail--reverse > .wp-block-columns {
	direction: rtl;
}

.nalven-detail--reverse > .wp-block-columns > .wp-block-column {
	direction: ltr;
}

.nalven-inline-image {
	margin: 0 0 28px !important;
	overflow: hidden;
}

/* Story values */
.nalven-values-grid {
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 48px 0 0 !important;
	max-width: none !important;
	width: 100%;
}

.nalven-values-grid > .wp-block-column {
	border-right: 1px solid rgba(245, 243, 238, 0.14);
	min-width: 0;
	padding: 0 28px;
}

.nalven-values-grid > .wp-block-column:first-child {
	padding-left: 0;
}

.nalven-values-grid > .wp-block-column:last-child {
	border-right: 0;
	padding-right: 0;
}

.nalven-values-grid h3 {
	font-size: 13px;
	font-weight: 300;
	line-height: 1.6;
	margin-block: 0 4px;
}

.nalven-values-grid p {
	color: rgba(245, 243, 238, 0.58);
	font-size: 13px;
	line-height: 1.6;
	margin: 0;
}

.nalven-values-grid .has-ivory-color {
	color: rgba(245, 243, 238, 0.58) !important;
}

.nalven-values-grid .nalven-value-mark {
	color: var(--nalven-ivory) !important;
	font-size: clamp(36px, 4.5vw, 56px) !important;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1;
	margin-block: 0 12px;
}

.nalven-values-grid .nalven-value-note {
	color: rgba(245, 243, 238, 0.28) !important;
	font-size: 10px;
	letter-spacing: 0.1em;
	line-height: 1.7;
	text-transform: uppercase;
}

.nalven-values {
	padding-block: clamp(64px, 8vw, 112px);
}

.nalven-values > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
}

.nalven-values > .nalven-eyebrow {
	color: rgba(245, 243, 238, 0.6) !important;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0 12px;
}

.nalven-values > h2 {
	font-size: clamp(22px, 2.8vw, 38px);
	margin-block: 0;
}

.nalven-story-craft {
	min-height: 560px;
}

.nalven-story-craft > .wp-block-columns {
	align-items: stretch;
	display: grid !important;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	min-height: inherit;
}

.nalven-story-craft > .wp-block-columns > .wp-block-column {
	min-width: 0;
}

.nalven-story-craft > .wp-block-columns > .wp-block-column:has(> .nalven-story-craft-image) {
	overflow: hidden;
	position: relative;
}

.nalven-story-craft-image {
	inset: 0;
	height: 100%;
	margin: 0;
	position: absolute;
	width: 100%;
}

.nalven-story-craft-image img {
	aspect-ratio: auto !important;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.nalven-story-craft-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(56px, 7vw, 96px) clamp(36px, 4.5vw, 64px);
}

.nalven-story-craft-copy h2 {
	font-size: clamp(26px, 3vw, 44px);
	margin-block: 12px 24px;
}

.nalven-story-craft-copy > .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-block: 0;
}

.nalven-story-craft-copy > p:not(.nalven-eyebrow) {
	color: var(--nalven-muted);
	font-size: 15px;
	line-height: 1.85;
	margin-block: 0;
}

.nalven-story-craft-copy > p:not(.nalven-eyebrow) + p {
	margin-top: 16px;
}

.nalven-story-quote .wp-block-quote {
	border: 0;
	margin: 0 auto !important;
	max-width: 700px !important;
	padding: 0;
}

.nalven-story-quote .wp-block-quote p {
	font-size: clamp(20px, 3vw, 44px);
	line-height: 1.5;
	margin: 0;
}

.nalven-story-quote {
	padding-block: clamp(72px, 9vw, 120px);
	text-align: center;
}

.nalven-story-quote cite {
	color: var(--nalven-muted);
	display: block;
	font-size: 11px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.2em;
	margin-top: 16px;
	text-transform: uppercase;
}

.nalven-story-quote cite::before {
	background: var(--nalven-line);
	content: "";
	display: block;
	height: 1px;
	margin: 28px auto 16px;
	width: 32px;
}

/* Contact */
.nalven-contact {
	margin: 0;
}

.nalven-contact > .wp-block-columns {
	align-items: stretch !important;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.nalven-contact > .wp-block-columns > .wp-block-column {
	min-width: 0;
	padding-block: clamp(48px, 6vw, 80px);
}

.nalven-contact > .wp-block-columns > .nalven-contact-info {
	border-right: 1px solid var(--nalven-line);
	padding-left: var(--nalven-gutter);
	padding-right: clamp(36px, 4.5vw, 64px);
}

.nalven-contact > .wp-block-columns > .nalven-contact-form-slot {
	padding-left: clamp(36px, 4.5vw, 64px);
	padding-right: var(--nalven-gutter);
}

.nalven-contact > .wp-block-columns > .wp-block-column + .wp-block-column {
	border-left: 0;
}

.nalven-contact h2 {
	font-size: clamp(24px, 2.8vw, 36px);
	margin-block: 0 36px;
}

.nalven-contact .nalven-eyebrow {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.18em;
	margin-block: 0 6px;
}

.nalven-contact-label {
	color: var(--nalven-forest);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.18em;
	line-height: 1.7;
	margin: 0 0 6px !important;
	text-transform: uppercase;
}

.nalven-contact-block {
	margin: 0 0 28px !important;
}

.nalven-contact-value {
	color: var(--nalven-muted);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.7;
	margin: 0 !important;
}

.nalven-contact-placeholder {
	background: rgba(21, 62, 60, 0.055);
	border: 1px solid var(--nalven-line);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.nalven-contact-placeholder p:last-child {
	margin-bottom: 0;
}

.nalven-contact-list {
	color: var(--nalven-muted);
	margin-block: 2rem;
	padding-left: 1.25rem;
}

.nalven-contact-list li {
	border-bottom: 1px solid var(--nalven-line);
	padding-block: 0.65rem;
}

.nalven-contact-image {
	aspect-ratio: 16 / 9;
	margin: 36px 0 0 !important;
	overflow: hidden;
	position: relative;
}

.nalven-contact-image img {
	aspect-ratio: auto !important;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.nalven-contact-form-slot {
	display: block;
}

.nalven-form-slot {
	border: 1px solid var(--nalven-line);
	margin-block: 2rem;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.nalven-form-slot h3 {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.nalven-contact :where(input:not([type="submit"]), select, textarea) {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--nalven-line);
	border-radius: 0;
	color: var(--nalven-ink);
	font: inherit;
	padding: 0.8rem 0;
	width: 100%;
}

.nalven-contact textarea {
	line-height: 1.6;
	min-height: 9rem;
	resize: vertical;
}

.nalven-contact .nalven-contact-form input[type="text"],
.nalven-contact .nalven-contact-form input[type="email"],
.nalven-contact .nalven-contact-form input[type="tel"],
.nalven-contact .nalven-contact-form select,
.nalven-contact .nalven-form-submit {
	line-height: normal;
}

.nalven-contact .nalven-contact-form textarea {
	line-height: 1.6;
}

/* Shared project CTA */
.nalven-project-cta {
	padding: clamp(72px, 9vw, 120px) var(--nalven-gutter);
	text-align: center;
}

.nalven-project-cta h2 {
	font-size: clamp(26px, 3.5vw, 52px);
	letter-spacing: -0.01em;
	margin: 16px auto 40px !important;
	max-width: none !important;
}

.nalven-project-cta > .nalven-eyebrow {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin: 0 auto !important;
}

.nalven-project-cta .wp-block-buttons {
	justify-content: center;
}

/* Optional progressive-enhancement carousel. Add nalven-slider to a Group and
 * nalven-slide to each direct Group or Cover child. Autoplay requires the
 * additional is-autoplay class and is never the default. */
.nalven-slider {
	position: relative;
}

.nalven-slider.is-enhanced {
	overflow: hidden;
}

.nalven-slider.is-enhanced .nalven-slide[hidden] {
	display: none !important;
}

.nalven-slider-controls {
	align-items: center;
	bottom: clamp(1rem, 3vw, 2rem);
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 5;
}

.nalven-slider-control {
	align-items: center;
	background: rgba(21, 62, 60, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: #fff;
	display: inline-flex;
	font: inherit;
	font-size: 0.75rem;
	height: 2.6rem;
	justify-content: center;
	min-width: 2.6rem;
	padding: 0.5rem 0.75rem;
}

.nalven-slider-status {
	background: rgba(245, 243, 238, 0.94);
	color: var(--nalven-forest);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	min-width: 4.5rem;
	padding: 0.65rem 0.8rem;
	text-align: center;
}

/* Footer */
.nalven-site-footer {
	background: var(--nalven-forest);
	color: rgba(245, 243, 238, 0.78);
	padding: clamp(56px, 7vw, 96px) var(--nalven-gutter) 0;
}

.nalven-footer-inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.nalven-footer-grid {
	border-bottom: 1px solid rgba(245, 243, 238, 0.14);
	display: grid !important;
	gap: 48px !important;
	grid-template-columns: 2fr repeat(3, minmax(0, 1fr));
	margin: 0 !important;
	padding-bottom: 56px;
}

.nalven-footer-grid > .wp-block-column {
	min-width: 0;
}

.nalven-footer-grid > .wp-block-column > * {
	margin-block-end: 0;
	margin-block-start: 0;
}

.nalven-site-footer .wp-block-site-title {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.nalven-footer-description {
	color: rgba(245, 243, 238, 0.58);
	font-size: 13px;
	line-height: 1.85;
	max-width: 260px;
}

.nalven-footer-brand {
	align-items: center;
	margin-bottom: 16px !important;
	min-height: 0;
}

.nalven-footer-logo {
	margin: 0 0 16px !important;
}

.nalven-footer-brand .wp-block-site-logo {
	line-height: 0;
	margin: 0;
}

.nalven-footer-brand .wp-block-site-logo img {
	display: block;
	filter: brightness(0) invert(1);
	height: auto;
	max-width: 160px;
}

.nalven-footer-brand .wp-block-site-logo + .wp-block-site-title {
	display: none;
}

.nalven-footer-newsletter {
	display: flex;
	margin-top: 28px !important;
}

.nalven-footer-newsletter input {
	background: rgba(245, 243, 238, 0.07);
	border: 1px solid rgba(245, 243, 238, 0.18);
	border-radius: 0;
	border-right: 0;
	color: var(--nalven-ivory);
	flex: 1;
	font: 300 12px/normal var(--wp--preset--font-family--nalven-sans);
	min-width: 0;
	outline: 0;
	padding: 10px 12px;
}

.nalven-footer-newsletter input::placeholder {
	color: rgba(245, 243, 238, 0.32);
}

.nalven-footer-newsletter button {
	background: rgba(245, 243, 238, 0.1);
	border: 1px solid rgba(245, 243, 238, 0.18);
	border-radius: 0;
	color: var(--nalven-ivory);
	cursor: pointer;
	font: 400 10px/normal var(--wp--preset--font-family--nalven-sans);
	letter-spacing: 0.1em;
	padding: 10px 14px;
	text-transform: uppercase;
}

.nalven-footer-newsletter button:hover {
	background: rgba(245, 243, 238, 0.2);
}

.nalven-footer-heading {
	color: rgba(245, 243, 238, 0.42);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.2em;
	margin: 0 0 20px !important;
	text-transform: uppercase;
}

.nalven-footer-contact-label {
	color: rgba(245, 243, 238, 0.36);
	font-size: 10px;
	letter-spacing: 0.14em;
	line-height: 1.7;
	margin: 0 0 4px !important;
	text-transform: uppercase;
}

.nalven-footer-contact-info {
	color: rgba(245, 243, 238, 0.58);
	font-size: 13px;
	line-height: 1.7;
	margin: 0 0 12px !important;
}

.nalven-site-footer .wp-block-navigation {
	color: rgba(245, 243, 238, 0.68);
	font-size: 13px;
	letter-spacing: 0;
	line-height: 1.7;
	text-transform: none;
}

.nalven-site-footer .wp-block-navigation__container {
	align-items: flex-start;
	gap: 10px;
}

.nalven-site-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.nalven-footer-bottom {
	align-items: center;
	border-top: 0;
	display: flex;
	font-size: 11px;
	justify-content: space-between;
	margin: 0 !important;
	padding-block: 20px;
}

.nalven-footer-bottom p {
	margin: 0;
}

.nalven-footer-bottom .has-small-font-size {
	font-size: 11px !important;
}

.nalven-footer-bottom p {
	color: rgba(245, 243, 238, 0.36);
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.04em;
	margin: 0;
}

/* Queries and utility views */
.nalven-query-loop .wp-block-post-template {
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nalven-query-loop .wp-block-post-title {
	font-size: clamp(1.4rem, 2.5vw, 2.2rem);
}

.nalven-pagination {
	border-top: 1px solid var(--nalven-line);
	margin-top: 4rem;
	padding-top: 2rem;
}

@media (max-width: 1024px) {
	.nalven-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 32px !important;
	}

	.nalven-process-grid > .wp-block-column:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}

	.nalven-values-grid {
		gap: 32px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nalven-values-grid > .wp-block-column {
		border: 0;
		padding: 0 !important;
	}

	.nalven-story-craft {
		min-height: 0;
	}

	.nalven-story-craft > .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.nalven-story-craft > .wp-block-columns > .wp-block-column:has(> .nalven-story-craft-image) {
		aspect-ratio: 4 / 3;
	}

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

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

@media (max-width: 768px) {
	:root {
		--nalven-header-height: 60px;
	}

	.nalven-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.nalven-primary-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.nalven-hero {
		height: 100svh;
		min-height: 100svh !important;
	}

	.nalven-hero h1 {
		font-size: clamp(26px, 7vw, 42px);
		line-height: 1.3;
	}

	.nalven-page-hero h1 {
		font-size: clamp(28px, 7vw, 44px);
	}

	.nalven-hero p:not(.nalven-eyebrow) {
		font-size: 14px;
		line-height: 1.78;
	}

	.nalven-page-hero p:not(.nalven-eyebrow) {
		font-size: 14px;
		line-height: 1.7;
	}

	.nalven-duo {
		flex-direction: column;
		flex-wrap: nowrap !important;
	}

	.nalven-detail > .wp-block-columns,
	.nalven-contact > .wp-block-columns,
	.nalven-story-craft > .wp-block-columns,
	.nalven-footer-grid,
	.nalven-process-grid {
		grid-template-columns: 1fr;
	}

	.nalven-detail--reverse > .wp-block-columns {
		direction: ltr;
	}

	.nalven-panel {
		height: 65vh;
		min-height: 380px !important;
	}

	.nalven-story-duo .nalven-panel {
		aspect-ratio: 3 / 4;
		height: auto;
		min-height: 0 !important;
	}

	.nalven-duo:not(.nalven-story-duo) {
		gap: 0 !important;
		height: auto;
		min-height: 560px;
	}

	.nalven-duo:not(.nalven-story-duo) > .wp-block-column {
		flex: 1 1 0 !important;
		height: auto;
		min-height: 380px;
		overflow: hidden;
		width: 100%;
	}

	.nalven-duo:not(.nalven-story-duo) .nalven-panel {
		height: 100%;
		min-height: 0 !important;
	}

	.nalven-duo:not(.nalven-story-duo) > .wp-block-column + .wp-block-column .nalven-panel {
		border-top: 1px solid rgba(245, 243, 238, 0.18);
	}

	.nalven-story-duo {
		display: grid;
		gap: 0 !important;
		height: 80vh;
		grid-template-columns: 1fr;
		grid-template-rows: calc(50% - 0.5px) calc(50% + 0.5px);
		min-height: 520px;
	}

	.nalven-story-duo > .wp-block-column {
		height: auto;
		min-height: 0;
		width: 100%;
	}

	.nalven-story-duo > .wp-block-column + .wp-block-column .nalven-panel {
		border-top: 1px solid rgba(245, 243, 238, 0.2);
	}

	.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy):has(> .wp-block-image),
	.nalven-detail > .wp-block-columns > .wp-block-column:not(.nalven-detail-copy):has(> .wp-block-cover) {
		aspect-ratio: 4 / 3;
	}

	.nalven-detail {
		min-height: 0;
	}

	.nalven-detail-copy {
		padding: clamp(48px, 6vw, 80px) clamp(36px, 4.5vw, 64px);
	}

	.nalven-contact > .wp-block-columns > .nalven-contact-info {
		border-bottom: 1px solid var(--nalven-line);
		border-right: 0;
		padding: clamp(48px, 6vw, 80px) clamp(36px, 4.5vw, 64px) clamp(48px, 6vw, 80px) var(--nalven-gutter);
	}

	.nalven-contact > .wp-block-columns > .nalven-contact-form-slot {
		border: 0;
		padding: clamp(48px, 6vw, 80px) var(--nalven-gutter) clamp(48px, 6vw, 80px) clamp(36px, 4.5vw, 64px);
	}

	.nalven-contact .nalven-form-grid > .nalven-form-field:first-child {
		margin-bottom: 36px;
	}

	.nalven-process-grid {
		row-gap: 0 !important;
	}

	.nalven-process-grid > .wp-block-column {
		border-left: 0;
		border-top: 1px solid var(--nalven-line);
		margin-top: 0 !important;
		padding: 20px 0 0;
	}

	.nalven-process-grid > .wp-block-column:first-child {
		border-top: 0;
		padding-top: 0;
	}

	.nalven-collection-band {
		height: 60vh;
	}

	.nalven-footer-grid {
		gap: 32px !important;
	}

	.nalven-footer-newsletter {
		height: 36px;
	}

	.nalven-site-footer .wp-block-navigation-item {
		min-height: 27.2px;
	}

	.nalven-footer-bottom {
		align-items: center;
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	.nalven-query-loop .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.nalven-hero,
	.nalven-page-hero {
		padding-bottom: clamp(40px, 6vw, 80px);
	}

	.nalven-hero .wp-block-buttons,
	.nalven-page-hero .wp-block-buttons,
	.nalven-detail .wp-block-buttons,
	.nalven-project-cta .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.nalven-hero .wp-block-button,
	.nalven-page-hero .wp-block-button,
	.nalven-detail .wp-block-button,
	.nalven-project-cta .wp-block-button,
	.nalven-hero .wp-block-button__link,
	.nalven-page-hero .wp-block-button__link,
	.nalven-detail .wp-block-button__link,
	.nalven-project-cta .wp-block-button__link {
		width: 100%;
	}

	.nalven-values-grid {
		grid-template-columns: 1fr;
	}

	.nalven-collection-band {
		height: 50vh;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.nalven-hero .wp-block-cover__image-background,
	.nalven-page-hero .wp-block-cover__image-background,
	.nalven-panel .wp-block-cover__image-background,
	.nalven-media-zoom .wp-block-cover__image-background,
	.nalven-media-zoom img,
	.is-style-nalven-slow-zoom img,
	.nalven-slow-zoom img {
		transform: none !important;
	}
}
