body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wp-site-blocks {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* Shared native template parts: centered masthead and three-column footer. */
.site-header-shell {
	position: static;
	background: #fff;
	padding: 62px 0 20px;
}
.site-header-inner, .site-footer-inner {
	max-width: 1024px;
	margin-inline: auto;
}
.site-header-inner {
	position: relative;
}
.site-header-utility {
	position: absolute;
	top: -18px;
	right: 30px;
}
.site-account-link a {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 14px;
	text-decoration: none;
}
.site-header-brand {
	text-align: center;
}
.site-header-brand img {
	display: block;
	width: 150px;
	height: 88px;
	object-fit: contain;
}
.site-header-inner > .site-main-nav {
	margin-top: 38px;
	color: #101010;
}
.site-main-nav .wp-block-navigation__container {
	gap: 64px;
}
.site-main-nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 20px;
	text-decoration: none;
	text-transform: uppercase;
}
.site-main-nav .wp-block-navigation-item__content:hover,
.site-main-nav .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}
.site-main-nav .is-menu-open .wp-block-navigation__container {
	gap: 24px;
}
.site-main-nav .is-menu-open .wp-block-navigation-item__content {
	font-size: 20px;
}
.site-footer-shell {
	padding: 52px 0 42px;
}
.site-footer-inner {
	padding-left: 36px;
	box-sizing: border-box;
}
.wp-block-columns.site-footer-columns {
	display: grid;
	grid-template-columns: 22% 40% minmax(0, 1fr);
	gap: 44px;
	margin: 0;
}
.site-footer-links {
	flex-basis: 24% !important;
}
.site-footer-newsletter {
	flex-basis: 40% !important;
}
.site-footer-contact {
	flex-basis: 28% !important;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-left: 24px;
}
.site-footer-heading {
	margin: 0;
	color: #0c0b0b;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0;
	line-height: 36px;
	text-transform: uppercase;
}
.site-footer-links .site-network-heading {
	margin-top: 12px;
	line-height: 26px;
}
.site-footer-nav .wp-block-navigation__container {
	gap: 0;
	align-items: flex-start;
}
.site-footer-shell .site-footer-nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 12px;
	color: #101010;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 26px;
	text-transform: none;
	text-decoration: none;
}
.site-footer-nav a:hover, .site-footer-note a:hover {
	text-decoration: underline;
}
.site-footer-address .site-footer-note {
	margin: 0 0 14px;
	color: #101010;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 12px;
	line-height: 21px;
}
.site-footer-note a {
	color: inherit;
	font: inherit;
	text-decoration: none;
}
.wp-block-social-links.site-footer-social {
	gap: 8px;
}
.site-footer-social .wp-social-link {
	color: var(--wp--preset--color--primary);
}
.site-footer-social .wp-social-link a {
	padding: 0;
}
.site-footer-shell .site-footer-social .wp-social-link svg {
	width: 24px;
	height: 24px;
}
.site-newsletter-preview input {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 40px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 0;
	background: #fff;
	padding: 8px 16px;
	color: #8f8d83;
	font: 15px/21px var(--wp--preset--font-family--cormorant);
	opacity: 1;
}
.site-newsletter-preview button {
	margin-top: 4px;
	min-height: 40px;
	padding: 10px 24px;
	border: 1px solid var(--wp--preset--color--primary);
	background: #fff;
	color: var(--wp--preset--color--primary);
	font: 14px/18px var(--wp--preset--font-family--cormorant);
	text-transform: uppercase;
	cursor: not-allowed;
}
.site-footer-newsletter .site-newsletter-status {
	font: 11px/1.6 var(--wp--preset--font-family--roboto);
	margin-top: 8px;
}
.wp-block-group.site-footer-payments {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 26px;
}
.site-footer-payments .wp-block-image {
	margin: 0;
}
.site-footer-payments img {
	display: block;
	width: 42px;
	height: 42px;
	object-fit: contain;
}
/* Homepage retains the reference's upright display type and compact vision copy. */
.wp-block-group.front-hero-shell {
	max-width: 1024px;
	margin: 0 auto;
}
.wp-block-group.front-page-shell {
	padding-top: 34px;
}
.wp-block-columns.front-hero-columns {
	gap: 68px;
	margin: 0;
}
.front-hero-copy {
	padding-left: 42px;
}
.front-hero-kicker {
	margin: 0;
	color: #070707;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 26px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 2.8px;
	line-height: 40px;
	text-align: right;
	text-transform: uppercase;
}
.front-hero-copy > .front-hero-divider {
	margin: 40px 0 40px auto;
	width: 88%;
	border: 0;
	border-top: 1px solid #8f8d83;
	color: #8f8d83;
}
.front-hero-video {
	margin: 0;
}
.front-hero-video video {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.wp-block-group.front-vision-shell {
	max-width: 844px;
	margin: 72px auto 0;
	padding-bottom: 18px;
}
.front-vision-shell .front-vision-title {
	margin: 0 auto 20px;
	max-width: 790px;
	color: #0c0c0b;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 1.7px;
	line-height: 18px;
	text-align: center;
	text-transform: uppercase;
}
.front-vision-shell .front-vision-text {
	margin: 0 0 14px;
	color: #0e0d0d;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 12px;
	line-height: 18px;
}
@media (max-width: 1024px) {
 .site-main-nav .wp-block-navigation__container {
	gap: 40px;
}
 .wp-block-columns.front-hero-columns {
	gap: 40px;
}
 .front-hero-copy {
	padding-left: 0;
}
 .front-hero-kicker {
	font-size: 23px;
	line-height: 1.54;
	letter-spacing: 2px;
}
 .site-footer-contact {
	padding-left: 0;
}
 .wp-block-columns.site-footer-columns {
	gap: 28px;
}
 .site-footer-inner {
	padding-left: 0;
}
}
@media (max-width: 781px) {
 .site-header-utility {
	right: 0;
}
 .site-main-nav .wp-block-navigation__container {
	gap: 24px;
}
 .wp-block-columns.front-hero-columns {
	gap: 32px;
}
 .wp-block-group.front-page-shell {
	padding-top: 24px;
}
 .front-hero-copy {
	max-width: 500px;
	margin-inline: auto;
}
 .front-hero-kicker {
	text-align: center;
	font-size: 24px;
}
 .front-hero-copy > .front-hero-divider {
	margin: 26px auto;
	width: 72%;
}
 .wp-block-group.front-vision-shell {
	margin-top: 44px;
}
 .front-vision-shell .front-vision-text {
	font-size: 14px;
	line-height: 1.7;
}
 .front-vision-shell .front-vision-title {
	line-height: 1.4;
}
 .site-footer-shell {
	padding-top: 34px;
}
 .wp-block-columns.site-footer-columns {
	gap: 28px;
}
 .wp-block-columns.site-footer-columns {
	display: flex;
}
 .site-footer-contact {
	max-width: 400px;
}
 .site-header-shell {
	padding-top: 30px;
}
 .site-footer-note, .site-footer-shell .site-footer-nav .wp-block-navigation-item__content {
	font-size: 14px;
	line-height: 1.8;
}
 .wp-block-group.site-footer-payments {
	gap: 14px;
}
}
@media (max-width: 599px) {
 .site-header-shell {
	padding-top: 24px;
	padding-bottom: 4px;
}
 .site-header-utility {
	top: -18px;
}
 .site-header-inner > .site-main-nav {
	margin-top: 14px;
}
 .site-main-nav .wp-block-navigation__responsive-container-open {
	margin-inline: auto;
}
}

/* Projects share one vertical story layout in the editor and on the site. */
.projects-index-shell,
.single-project-shell {
	padding-block: clamp(40px, 6vw, 80px) 88px;
}

.projects-index-title,
.project-story-title,
.single-project-title,
.project-section-title {
	color: #68685f;
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: normal;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.projects-index-shell .projects-index-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	font-size: 26px;
	letter-spacing: 5px;
	margin-bottom: 42px;
}

.projects-index-title::before,
.projects-index-title::after {
	content: "";
	width: 72px;
	height: 1px;
	background: #c9c7bf;
}

.projects-index-shell .projects-index-intro {
	gap: 64px;
	margin-top: 42px;
	margin-bottom: 72px;
}

.projects-index-intro p,
.project-description p,
.project-preview-description p {
	color: #62625c;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 15px;
	line-height: 1.8;
	margin-block: 0 18px;
}

.projects-index-intro strong {
	font-weight: 500;
}

.projects-stories .wp-block-post-template {
	display: block;
}

.project-story {
	padding-block: 48px 64px;
	border-top: 1px solid #deddd7;
}

.project-story .project-story-title,
.single-project-shell .single-project-title {
	margin: 0 0 32px;
	text-align: center;
	font-size: clamp(26px, 3.4vw, 40px);
	letter-spacing: 4px;
}

.project-story-title a {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-decoration: none;
}

.project-story .project-images,
.single-project-shell .project-images,
.editor-styles-wrapper .project-images {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin-bottom: 44px;
}

.project-images > .wp-block-image {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.project-images img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 540px;
	object-fit: contain;
}

.editor-styles-wrapper .project-description,
.wp-block-post-content .project-description,
.wp-block-neojewellery-project-preview .project-preview-description {
	max-width: 720px;
	margin: 0 auto 44px;
}

.project-section-title {
	margin: 0 0 22px;
	font-size: 22px;
	letter-spacing: 2.5px;
}

.project-description .project-student,
.project-preview-description .project-student {
	color: #54544d;
	font-size: 13px;
	font-weight: 500;
	margin-bottom: 6px;
}

.project-description .project-date,
.project-preview-description .project-date {
	color: #73736b;
	font-size: 12px;
	letter-spacing: 1px;
	margin-bottom: 20px;
}

.project-description > p + p {
	margin-top: 18px;
}

.project-description .project-translation {
	padding-left: 20px;
	border-left: 1px solid #d2d0c8;
	color: #73736b;
}

.project-text-link,
.project-back-link a {
	display: inline-block;
	padding-block: 8px;
	color: #57574f;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 12px;
	letter-spacing: .6px;
	line-height: 1.6;
	text-underline-offset: 5px;
}

.project-text-link:hover,
.project-back-link a:hover,
.project-story-title a:hover {
	color: #101010;
}

.project-story a:focus-visible,
.single-project-shell a:focus-visible {
	outline: 2px solid #68685f;
	outline-offset: 5px;
}

.project-gallery-preview-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.project-gallery-preview-heading .project-section-title {
	margin: 0;
	font-size: 18px;
}

.project-gallery-thumbnails {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.project-gallery-thumbnails a {
	display: block;
	background: #f6f5f2;
}

.project-gallery-thumbnails img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
}

.project-back-link {
	margin: 0 0 28px;
}

.project-back-link-bottom {
	margin-top: 48px;
}

.project-gallery-section {
	padding-top: 36px;
	border-top: 1px solid #deddd7;
	scroll-margin-top: 36px;
}

.project-gallery-section > .project-section-title {
	text-align: center;
	margin-bottom: 28px;
}

.project-gallery-section .project-gallery-grid.wp-block-gallery {
	--wp--style--unstable-gallery-gap: 20px;
	gap: 20px;
	align-items: flex-start;
}

.project-gallery-grid img {
	background: #f6f5f2;
}

@media (max-width: 781px) {
	.projects-index-shell .projects-index-intro {
		gap: 18px;
		margin-bottom: 36px;
	}

	.project-story {
		padding-block: 32px 40px;
	}

	.project-story .project-images,
.single-project-shell .project-images,
.editor-styles-wrapper .project-images {
		gap: 16px;
		margin-bottom: 32px;
	}

	.project-gallery-thumbnails {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}

@media (max-width: 520px) {
	.project-story .project-images,
.single-project-shell .project-images,
.editor-styles-wrapper .project-images {
		flex-direction: column;
		align-items: stretch;
	}

	.projects-index-shell .projects-index-title {
		gap: 16px;
		font-size: 23px;
	}

	.projects-index-title::before,
	.projects-index-title::after {
		width: 32px;
	}

	.project-story-title,
	.single-project-title {
		letter-spacing: 2px;
	}

	.project-gallery-preview-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.project-gallery-section .project-gallery-grid.wp-block-gallery {
		--wp--style--unstable-gallery-gap: 12px;
		gap: 12px;
	}
}

/* Optional process and finished-work sections share the same editorial layout. */
.single-project-shell .wp-block-neojewellery-project-navigation {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 32px;
	margin: -12px 0 36px;
}

.wp-block-post-content .project-phase + .project-phase {
	margin-top: 64px;
}

.project-phase,
.project-progress-report {
	scroll-margin-top: 32px;
}

.project-phase .project-phase-summary,
.project-progress-report > p,
.project-progress-report > .project-report-title {
	max-width: 720px;
	margin-inline: auto;
}

.project-phase .project-phase-summary,
.project-progress-report .project-report-summary,
.project-progress-report > p,
.project-phase-preview-summary {
	color: #62625c;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 24px;
}

.project-progress-report .project-report-title {
	color: #68685f;
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: normal;
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 1px;
	line-height: 1.3;
	text-transform: none;
	margin-bottom: 12px;
}

.project-progress-report .project-report-meta {
	font-size: 12px;
	color: #73736b;
	letter-spacing: .5px;
	margin-bottom: 16px;
}

.project-phase .project-progress-report + .project-progress-report {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid #deddd7;
}

.project-process-images {
	margin-block: 28px;
}

.project-process-images img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 480px;
	object-fit: contain;
}

.wp-block-neojewellery-project-preview .project-gallery-preview + .project-gallery-preview {
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid #deddd7;
}

/* Keep touch targets and page edges comfortable on small screens. */
.site-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 20px;
}
.site-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding-block: 8px;
}
@media (max-width: 1100px) {
	.site-header-inner, .site-footer-inner { padding-inline: 24px; }
	.site-header-utility { right: 24px; }
	.wp-block-group.front-page-shell { padding-inline: 24px; }
}

/* Nyheder: native Query Loop cards matching the original news overview. */
.wp-block-group.news-index-shell {
	max-width: 1004px;
	margin-inline: auto;
	padding: 36px 24px 10px;
	box-sizing: content-box;
}
.news-index-shell .news-introduction {
	max-width: 570px;
	padding: 0 10px;
	margin: 0 0 38px;
}
.news-introduction .news-page-title {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 21px;
	font-weight: 400;
	font-style: normal;
	line-height: 26px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #0e0d0d;
}
.news-introduction-copy p {
	margin: 0 0 14px;
	font: 14px/20px var(--wp--preset--font-family--roboto);
	color: #0e0d0d;
}
.news-query .wp-block-post-template.news-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
}
.news-card-grid > .wp-block-post {
	display: flex;
	min-width: 0;
}
.news-card-grid .wp-block-group.news-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1px solid rgba(159, 159, 159, .22);
	background: #fff;
	box-sizing: border-box;
}
.news-card .news-card-image {
	margin: 0;
}
.news-card-image a, .news-card-image img {
	display: block;
}
.news-card .news-card-body {
	padding: 30px;
	flex: 1;
}
.news-card .news-card-title,
.news-card .news-card-title a {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 20px;
	font-weight: 400;
	font-style: normal;
	line-height: 20px;
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: #0e0d0d;
}
.news-card .news-card-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.news-card .news-card-excerpt,
.news-card-excerpt .wp-block-post-excerpt__excerpt {
	margin: 0 0 10px;
	font: 14px/20px var(--wp--preset--font-family--roboto);
	color: #0e0d0d;
}
.news-card .news-card-more {
	display: inline-block;
	margin-top: 0;
	font: 14px/14px var(--wp--preset--font-family--cormorant);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--primary);
}
.news-card .news-card-more:hover {
	text-decoration: underline;
}
.news-card .news-card-date {
	padding: 15px 30px;
	margin: 0;
	border-top: 1px solid rgba(159, 159, 159, .22);
	font: 600 14px/26px var(--wp--preset--font-family--cormorant);
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #0b0a0a;
}
.news-query .news-pagination {
	gap: 20px;
	margin-top: 30px;
}
.news-pagination:empty { display: none; }
@media (max-width: 900px) {
	.news-query .wp-block-post-template.news-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	.wp-block-group.news-index-shell { padding-top: 28px; }
	.news-index-shell .news-introduction { padding: 0; margin-bottom: 28px; }
	.news-query .wp-block-post-template.news-card-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.news-card .news-card-body { padding: 24px; }
	.news-card .news-card-date { padding-inline: 24px; }
}

/* Gallery: the original masonry composition, built from native image blocks. */
.wp-block-group.gallery-page-shell {
	box-sizing: border-box;
	max-width: 984px;
	margin: 42px auto 40px;
	padding: 0;
}
.gallery-page-shell .neo-gallery-filter {
	margin: 0 0 20px;
	text-align: center;
	font: 600 12px/30px var(--wp--preset--font-family--cormorant);
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.neo-gallery-filter span { display: inline-block; border-bottom: 1px solid #deddd8; padding: 0 20px; }
.wp-block-gallery.neo-gallery-masonry {
	--neo-gallery-columns: 4;
	display: grid;
	grid-template-columns: repeat(var(--neo-gallery-columns), minmax(0, 1fr));
	gap: 10px;
	position: relative;
	margin: 0;
	align-items: start;
}
/* Override core Gallery's calculated flex widths only inside this composition. */
.wp-block-gallery.neo-gallery-masonry > figure.wp-block-image {
	width: 100% !important;
	margin: 0 !important;
	align-self: start;
}
.wp-block-gallery.neo-gallery-masonry > figure.wp-block-image img { width: 100%; height: auto; display: block; }
.wp-block-gallery.neo-gallery-masonry.is-masonry-ready { display: block; }
.wp-block-gallery.neo-gallery-masonry.is-masonry-ready > figure.wp-block-image {
	position: absolute;
	width: var(--neo-item-width) !important;
}
@media (min-width: 1100px) {
	.wp-block-group.gallery-page-shell { transform: translateX(32px); }
}
@media (max-width: 1032px) {
	.wp-block-group.gallery-page-shell { margin-inline: 24px; }
	.wp-block-gallery.neo-gallery-masonry { --neo-gallery-columns: 2; }
}
@media (max-width: 767px) {
	.wp-block-group.gallery-page-shell { margin-top: 28px; }
	.wp-block-gallery.neo-gallery-masonry { --neo-gallery-columns: 1; }
}

/* Contact: retain the reference's quiet two-column layout with native blocks. */
.wp-block-group.contact-page-shell {
	box-sizing: border-box;
	max-width: 974px;
	margin: 42px auto 80px;
	padding: 0;
}
.contact-page-shell .neo-contact-columns {
	gap: 30px;
	min-height: 350px;
	margin: 0;
}
.neo-contact-columns .wp-block-heading {
	margin: 0 0 10px;
	font: 500 18px/50px var(--wp--preset--font-family--cormorant);
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #8f8d83;
}
.neo-contact-columns p {
	margin: 0 0 24px;
	font: 400 14px/26px var(--wp--preset--font-family--roboto);
	color: #66645d;
}
.neo-contact-columns p a { color: inherit; font: inherit; text-underline-offset: 4px; }
.neo-contact-columns .wp-block-buttons { margin-top: 0; }
.neo-contact-instagram .wp-block-button__link {
	border: 0;
	border-radius: 0;
	padding: 15px 24px;
	background: #f2f1ef;
	color: #66645d;
	font: 400 14px/20px var(--wp--preset--font-family--cormorant);
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
}
.neo-contact-instagram .wp-block-button__link:hover { background: #e7e5e0; color: #35342f; }
.neo-contact-columns a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (min-width: 1100px) {
	.wp-block-group.contact-page-shell { transform: translateX(32px); }
}
@media (max-width: 1022px) {
	.wp-block-group.contact-page-shell { margin-inline: 24px; }
}
@media (max-width: 781px) {
	.wp-block-group.contact-page-shell { margin-top: 28px; margin-bottom: 56px; }
	.contact-page-shell .neo-contact-columns { min-height: 0; gap: 32px; }
	.neo-contact-columns .wp-block-heading { line-height: 36px; }
}

/* Native WooCommerce catalogue, matching the original sidebar and airy cards. */
.wp-block-group.shop-page-shell { max-width: 1004px; margin: 16px auto 70px; }
.shop-page-shell .shop-layout { gap: 44px; margin: 0; align-items: flex-start; }
.shop-layout > .shop-sidebar { flex: 0 0 200px !important; min-width: 0; padding-top: 20px; }
.shop-layout > .shop-results { flex: 1 1 0 !important; min-width: 0; }
.shop-sidebar .wp-block-heading.shop-sidebar-title { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; font: 400 14px/24px var(--wp--preset--font-family--cormorant); letter-spacing: 3px; color: #8f8d83; }
.shop-sidebar-title::before, .shop-sidebar-title::after { content: ''; flex: 1; border-top: 1px solid #aaa89f; }
.shop-sidebar .woocommerce-ordering { float: none; margin: 0 0 24px; }
.shop-sidebar select { box-sizing: border-box; width: 100%; padding: 10px 8px; border: 1px solid #deddd8; background: #fff; color: #66645d; font: 14px/20px var(--wp--preset--font-family--cormorant); }
.shop-sidebar .wp-block-woocommerce-product-filters { gap: 24px; font: 14px/22px var(--wp--preset--font-family--roboto); color: #66645d; }
.shop-sidebar .wc-block-product-filters__overlay-content { gap: 24px; }
.shop-sidebar .wp-block-heading, .shop-material-filter > summary { margin: 0 0 10px; font: 400 14px/22px var(--wp--preset--font-family--roboto); letter-spacing: 0; text-transform: none; color: #66645d; }
.shop-material-filter > summary { cursor: pointer; }
.shop-material-filter .wp-block-heading { display: none; }
.shop-sidebar label, .shop-sidebar button, .shop-sidebar input { font: inherit; }
.shop-sidebar .wc-block-product-filter-checkbox-list { font: 14px/22px var(--wp--preset--font-family--cormorant); }
.shop-results .woocommerce-breadcrumb { margin: 0 0 18px; text-align: right; font: 14px/20px var(--wp--preset--font-family--cormorant); }
.shop-results .shop-page-title { margin: 0 0 22px; text-align: right; font: 400 22px/30px var(--wp--preset--font-family--cormorant); letter-spacing: 3px; color: #8f8d83; }
.shop-results .shop-term-description { font: 14px/24px var(--wp--preset--font-family--roboto); margin-bottom: 20px; }
.shop-term-description:empty { display: none; }
.shop-results .woocommerce-result-count { float: none; margin: 0 0 16px; font: 14px/22px var(--wp--preset--font-family--roboto); color: #8f8d83; }
.shop-results .wp-block-woocommerce-product-collection { margin-top: 0; }
.shop-results .wc-block-product-template { gap: 36px 20px; }
.shop-results .wc-block-product { min-width: 0; }
.shop-results .wc-block-components-product-image { margin-bottom: 8px; }
.shop-results .wc-block-components-product-image img { aspect-ratio: 1; object-fit: contain; border: 1px solid #f1f0ed; box-sizing: border-box; }
.shop-results .wp-block-post-title { letter-spacing: 0; text-transform: none; }
.shop-results .wp-block-post-title a { font: inherit; text-decoration: none; }
.shop-results .wp-block-post-title { margin: 8px 0 4px; }
.shop-results .wp-block-woocommerce-product-price { margin: 0 0 14px !important; }
.shop-results .wp-block-woocommerce-product-button { margin: 0 !important; }
.shop-results .wp-block-button__link, .shop-sidebar .wp-block-button__link { border: 0; border-radius: 0; background: #f5f4f2; color: #66645d; padding: 8px 12px; font: 400 12px/18px var(--wp--preset--font-family--cormorant); letter-spacing: 1px; text-transform: none; }
.shop-page-shell .wp-block-button__link:hover { background: #e9e7e2; }
.shop-results .wp-block-query-pagination { margin-top: 36px; gap: 16px; font: 14px/24px var(--wp--preset--font-family--cormorant); }
.shop-page-shell a:focus-visible, .shop-page-shell button:focus-visible, .shop-page-shell summary:focus-visible { outline: 2px solid #66645d; outline-offset: 3px; }
@media (max-width: 1052px) {
	.wp-block-group.shop-page-shell { margin-inline: 24px; }
	.shop-page-shell .shop-layout { gap: 24px; }
	.shop-layout > .shop-sidebar { flex-basis: 180px !important; }
}
@media (max-width: 781px) {
	.shop-layout > .shop-sidebar { flex-basis: auto !important; padding-top: 0; }
	.shop-sidebar .wp-block-heading.shop-sidebar-title { margin-bottom: 12px; }
	.shop-sidebar .woocommerce-ordering { margin-bottom: 16px; }
	.shop-results .shop-page-title, .shop-results .woocommerce-breadcrumb { text-align: left; }
	.shop-results .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 28px 16px; }
}

/* WooCommerce's generic image rules must not resize the shared masthead. */
.site-header-shell .site-header-brand img { width: 150px; height: 88px; object-fit: contain; }
.site-header-inner > .wc-block-mini-cart { position: absolute; top: -22px; right: 0; margin: 0; }
.site-header-inner > .wc-block-mini-cart .wc-block-mini-cart__button { padding: 4px; }
.shop-results .shop-result-total { margin: 0 0 16px; font: 14px/22px var(--wp--preset--font-family--roboto); color: #8f8d83; }
/* Override legacy WooCommerce float/margin rules on native product grid items. */
.shop-results .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); }
.shop-results .wc-block-product-template > li { width: auto !important; margin: 0 !important; float: none !important; }
@media (max-width: 781px) {
	.shop-results .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Single products: reference proportions with WooCommerce's native purchase UI. */
.wp-block-group.single-product-shell { max-width: 1024px; margin-inline: auto; padding-top: 36px; padding-bottom: 70px; }
.single-product-shell .woocommerce-breadcrumb { margin: 0 50px 30px 0; text-align: right; font: 14px/20px var(--wp--preset--font-family--cormorant); }
.single-product-shell .single-product-layout { gap: 4%; margin: 0 40px 70px 0; align-items: flex-start; }
.single-product-layout > .wp-block-column { min-width: 0; }
.single-product-summary .single-product-title { margin: 0 0 20px; letter-spacing: 0; text-transform: uppercase; }
.single-product-summary .wp-block-woocommerce-product-price { margin: 0 0 16px; }
.single-product-summary .wp-block-woocommerce-product-price .price { font: inherit; color: inherit; }
.single-product-summary .wp-block-woocommerce-add-to-cart-form { margin: 0 0 18px; }
.single-product-summary .stock { font: 12px/20px var(--wp--preset--font-family--roboto); margin: 0 0 12px; }
.single-product-summary form.cart { margin: 0 0 18px !important; }
.single-product-summary form.cart .single_add_to_cart_button { border: 1px solid #aaa89f; background: #fff; color: #66645d; border-radius: 0; padding: 9px 14px; min-height: 40px; font: 400 13px/20px var(--wp--preset--font-family--cormorant); text-transform: uppercase; }
.single-product-summary form.cart .single_add_to_cart_button:hover { background: #ecebe8; color: #35342f; }
.single-product-summary form.cart .quantity .qty { box-sizing: border-box; min-height: 40px; width: 60px; border: 1px solid #deddd8; background: #fff; font: 14px/20px var(--wp--preset--font-family--roboto); }
.single-product-summary .variations { background: #f7f7f6; padding: 8px; margin-bottom: 14px; border-collapse: separate; }
.single-product-summary .variations label { font: 400 13px/20px var(--wp--preset--font-family--cormorant); text-transform: uppercase; }
.single-product-summary .variations select { box-sizing: border-box; max-width: 100%; min-height: 40px; padding: 6px 10px; border: 1px solid #deddd8; background: #fff; color: #66645d; font: 14px/20px var(--wp--preset--font-family--cormorant); }
.single-product-summary .woocommerce-variation-price { margin-bottom: 12px; font: 800 var(--wp--preset--font-size--product-page-price)/1.5 var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--ink); }
.single-product-summary .woocommerce-variation-price .price { font: inherit; color: inherit; }
.single-product-summary .wc-block-components-product-summary { font: 14px/18px var(--wp--preset--font-family--roboto); }
.single-product-summary .wc-block-components-product-summary p { margin: 0 0 14px; }
.single-product-summary .wc-block-components-product-summary a { font: inherit; }
.single-product-summary .wp-block-woocommerce-product-meta { display: flex; flex-direction: column; gap: 7px; margin-top: 24px; padding-top: 16px; border-top: 1px solid #ecebe8; font: 12px/18px var(--wp--preset--font-family--roboto); }
.single-product-summary .wp-block-woocommerce-product-meta a { font: inherit; text-underline-offset: 3px; }
.single-product-images .wc-block-product-gallery { gap: 20px; }
.single-product-shell .single-product-details { margin: 0 0 50px; }
.single-product-shell .single-product-details:empty { display: none; }
.single-product-details h2, .single-product-details h3 { font: 400 22px/30px var(--wp--preset--font-family--cormorant); letter-spacing: 1px; }
.single-product-details p { line-height: 1.7; }
.single-product-shell .product-recommendations { margin: 0 0 65px; }
.single-product-shell .product-section-title { margin: 0 0 20px; font: 400 18px/28px var(--wp--preset--font-family--cormorant); letter-spacing: 3px; text-transform: uppercase; }
.single-product-shell .product-recommendations .wc-block-product-template { grid-template-columns: repeat(6,minmax(0,1fr)); }
.single-product-shell a:focus-visible, .single-product-shell button:focus-visible, .single-product-shell select:focus-visible { outline: 2px solid #66645d; outline-offset: 3px; }
@media (max-width: 1072px) {
 .wp-block-group.single-product-shell { margin-inline: 24px; }
 .single-product-shell .single-product-layout { margin-right: 0; }
 .single-product-shell .woocommerce-breadcrumb { margin-right: 0; }
 .single-product-shell .product-recommendations .wc-block-product-template { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 781px) {
 .wp-block-group.single-product-shell { padding-top: 24px; }
 .single-product-shell .woocommerce-breadcrumb { text-align: left; margin-bottom: 24px; }
 .single-product-shell .single-product-layout { gap: 30px; margin-bottom: 40px; }
 .single-product-shell .product-recommendations .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 1072px) {
 /* Leave room for WooCommerce's cart badge at the edge of smaller headers. */
 .site-header-inner > .wc-block-mini-cart { right: 12px; }
 .site-header-utility { right: 42px; }
}

/* Project carousels retain shop cards and WooCommerce's native scroll behavior. */
.projects-index-shell .project-product-collection { margin-top: 20px; }
.projects-index-shell .project-product-collection .wc-block-product-template {
 display: flex !important;
 flex-wrap: nowrap;
 gap: 20px;
 grid-template-columns: none !important;
}
.project-product-collection .project-carousel-controls { margin: 0 0 16px; }
.projects-index-shell .project-product-collection .wc-block-product {
	flex: 0 0 calc((100% - 60px) / 4);
	min-width: calc((100% - 60px) / 4);
}
@media (max-width: 781px) {
	.projects-index-shell .project-product-collection .wc-block-product {
		flex-basis: calc((100% - 20px) / 2);
		min-width: calc((100% - 20px) / 2);
	}
}
.project-carousel-controls .wc-block-next-previous-buttons__button {
 border: 1px solid #deddd8;
 border-radius: 0;
 background: #f5f4f2;
 color: #66645d;
}
.project-carousel-controls .wc-block-next-previous-buttons__button[aria-disabled="true"] { opacity: .35; }

/* Native article variation: media rhythm and long links need scoped selectors. */
.is-style-news-article :is(p, li) { overflow-wrap: anywhere; }
.is-style-news-article > :is(.wp-block-image, .wp-block-gallery, .wp-block-columns) { margin-block: 32px; }
.is-style-news-article .wp-block-image img { height: auto; }
.is-style-news-article li + li { margin-top: 10px; }
.is-style-news-article a { text-underline-offset: 3px; }
.news-article-shell .post-navigation-link__label { display: block; font: 14px/1.5 var(--wp--preset--font-family--roboto); margin-bottom: 8px; }
.news-article-shell a:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 4px; }
/* The theme's global link font otherwise overrides the surrounding article text. */
.news-article-shell a { font: inherit; }
