/*
Theme Name: Eden Memorials
Theme URI: https://edenmemorials.ie/
Author: Eden Memorials
Author URI: https://edenmemorials.ie/
Description: A lightweight, accessible WordPress theme for Eden Memorials, designed for Elementor Free and Elementor Pro. Includes a one-click Elementor demo website import, responsive header and footer, brand settings, full-width templates and local media.
Version: 2.2.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eden-memorials
Tags: custom-logo, custom-menu, featured-images, full-width-template, accessibility-ready
*/

:root {
	--eden-ink: #171916;
	--eden-ink-soft: #2a2d28;
	--eden-paper: #fbfaf7;
	--eden-cream: #f2eee5;
	--eden-sage: #687065;
	--eden-gold: #b9995a;
	--eden-gold-light: #d5bd87;
	--eden-line: rgba(23, 25, 22, .14);
	--eden-width: 1180px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--eden-ink);
	background: var(--eden-paper);
	font-family: Manrope, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

button,
input,
select,
textarea {
	font: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: fixed;
	z-index: 100000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	background: #fff;
	color: #111;
}

.eden-wrap {
	width: min(var(--eden-width), calc(100% - 48px));
	margin-inline: auto;
}

.site-topbar {
	background: #10120f;
	color: rgba(255, 255, 255, .72);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.site-topbar__inner {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.site-topbar__contact {
	display: flex;
	align-items: center;
	gap: 22px;
}

.site-topbar a {
	text-decoration: none;
}

.site-topbar a:hover {
	color: var(--eden-gold-light);
}

.site-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid rgba(255, 255, 255, .11);
	background: var(--eden-ink);
	color: #fff;
}

.site-header__inner {
	display: flex;
	min-height: 90px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.site-branding {
	display: flex;
	flex: 0 1 auto;
	min-width: 0;
	align-items: center;
	gap: 13px;
}

.site-branding > div {
	min-width: 0;
}

.site-branding a {
	text-decoration: none;
}

.custom-logo-link,
.site-branding__fallback {
	display: block;
	flex: 0 0 auto;
	width: 58px;
	height: 58px;
	overflow: hidden;
	border: 1px solid rgba(213, 189, 135, .48);
	border-radius: 50%;
	background: #111;
}

.custom-logo,
.site-branding__fallback img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.site-branding__fallback img {
	transform: scale(1.35);
}

.site-title {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1;
	white-space: nowrap;
}

.site-title a {
	color: #fff;
}

.site-description {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, .58);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-navigation {
	margin-left: auto;
}

.eden-menu {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eden-menu a {
	display: block;
	padding: 12px 0;
	color: rgba(255, 255, 255, .78);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.eden-menu a:hover,
.eden-menu .current-menu-item > a {
	color: var(--eden-gold-light);
}

.eden-header-cta {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0 21px;
	border-radius: 3px;
	background: var(--eden-gold);
	color: var(--eden-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
}

.eden-header-cta:hover {
	background: var(--eden-gold-light);
}

.eden-nav-toggle {
	display: none;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 3px;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.site-main,
.content-area {
	width: min(760px, calc(100% - 48px));
	margin-inline: auto;
	padding: 80px 0;
}

.elementor-page .site-main,
.page-template-eden-full-width .site-main,
.page-template-eden-canvas .site-main {
	width: 100%;
	max-width: none;
	padding: 0;
}

.entry-header {
	margin-bottom: 34px;
}

.entry-title,
.page-title {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(42px, 6vw, 68px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1;
}

.entry-content > * {
	max-width: 100%;
}

.entry-content a {
	color: var(--eden-sage);
}

.posts-navigation,
.post-navigation {
	margin-top: 50px;
}

.site-footer {
	padding: 68px 0 26px;
	background: #10120f;
	color: #fff;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr .6fr .7fr;
	gap: 60px;
	padding-bottom: 46px;
}

.site-footer__title {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 29px;
	font-weight: 600;
}

.site-footer__statement {
	max-width: 470px;
	color: rgba(255, 255, 255, .58);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
}

.site-footer h2 {
	margin: 4px 0 17px;
	color: var(--eden-gold-light);
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.site-footer ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer a,
.site-footer address {
	color: rgba(255, 255, 255, .68);
	font-size: 13px;
	font-style: normal;
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--eden-gold-light);
}

.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding-top: 23px;
	border-top: 1px solid rgba(255, 255, 255, .11);
	color: rgba(255, 255, 255, .4);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.error-404 {
	text-align: center;
}

.error-404 .eden-header-cta {
	margin-top: 24px;
}

@media (max-width: 1024px) {
	.eden-nav-toggle {
		display: inline-flex;
	}

	.site-navigation {
		position: absolute;
		top: 90px;
		right: 24px;
		left: 24px;
		display: none;
		padding: 17px 22px;
		background: #10120f;
		box-shadow: 0 25px 70px rgba(0, 0, 0, .28);
	}

	.site-navigation.is-open {
		display: block;
	}

	.eden-menu {
		display: grid;
		gap: 0;
	}

	.eden-menu a {
		padding: 13px 4px;
	}

	.site-header__inner > .eden-header-cta {
		margin-left: auto;
	}

}

@media (max-width: 960px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__about {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.eden-wrap {
		width: calc(100% - 32px);
	}

	.site-topbar__inner {
		min-height: 34px;
		justify-content: center;
	}

	.site-topbar__message {
		display: none;
	}

	.site-topbar__contact {
		justify-content: center;
	}

	.site-topbar__contact a:first-child {
		display: none;
	}

	.site-header__inner {
		min-height: 78px;
		gap: 12px;
	}

	.custom-logo-link,
	.site-branding__fallback {
		width: 48px;
		height: 48px;
	}

	.site-title {
		font-size: 21px;
	}

	.site-description {
		display: none;
	}

	.site-header__inner > .eden-header-cta {
		display: none;
	}

	.site-navigation {
		top: 78px;
		right: 16px;
		left: 16px;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.site-footer__about {
		grid-column: auto;
	}

	.site-footer__bottom {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}


/* Primary menu dropdowns */
.site-navigation .menu-item-has-children {
	position: relative;
}

.site-navigation .menu-item-has-children > a::after {
	margin-left: 7px;
	color: var(--eden-gold-light);
	content: "\25BE";
	font-size: 10px;
}

.site-navigation .sub-menu {
	position: absolute;
	top: calc(100% - 2px);
	left: -22px;
	z-index: 100;
	display: grid;
	min-width: 250px;
	margin: 0;
	padding: 12px 20px;
	border: 1px solid rgba(255, 255, 255, .12);
	background: #10120f;
	box-shadow: 0 22px 50px rgba(0, 0, 0, .28);
	list-style: none;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease;
}

.site-navigation .menu-item-has-children:hover > .sub-menu,
.site-navigation .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.site-navigation .sub-menu a {
	padding: 10px 2px;
	white-space: nowrap;
}

/* Included enquiry form */
.eden-contact-form-wrap {
	color: var(--eden-ink);
}

.eden-contact-form {
	display: grid;
	gap: 18px;
}

.eden-contact-form p {
	margin: 0;
}

.eden-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.eden-contact-form label {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}

.eden-contact-form input[type="text"],
.eden-contact-form input[type="email"],
.eden-contact-form input[type="tel"],
.eden-contact-form select,
.eden-contact-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #cbc5ba;
	border-radius: 2px;
	background: #fff;
	color: var(--eden-ink);
}

.eden-contact-form input:focus,
.eden-contact-form select:focus,
.eden-contact-form textarea:focus {
	outline: 2px solid var(--eden-gold);
	outline-offset: 1px;
}

.eden-contact-form textarea {
	resize: vertical;
}

.eden-contact-form .eden-consent label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
}

.eden-contact-form button {
	min-height: 50px;
	padding: 0 24px;
	border: 0;
	border-radius: 2px;
	background: var(--eden-ink);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
}

.eden-contact-form button:hover {
	background: var(--eden-sage);
}

.eden-form-notice {
	margin-bottom: 20px;
	padding: 14px 16px;
	border-left: 4px solid var(--eden-sage);
	background: #eef4ed;
}

.eden-form-error {
	border-left-color: #a63d32;
	background: #faefed;
}

.eden-honeypot {
	position: absolute !important;
	left: -9999px !important;
}

@media (max-width: 1024px) {
	.site-navigation .sub-menu {
		position: static;
		display: grid;
		min-width: 0;
		padding: 0 0 7px 18px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
}

@media (max-width: 640px) {
	.eden-form-row {
		grid-template-columns: 1fr;
	}
}


/* Version 1.3: compassionate editorial presentation */
.eden-accent {
	color: var(--eden-gold-light);
}

.home .site-topbar,
.home .site-header {
	position: absolute;
	right: 0;
	left: 0;
}

.home .site-topbar {
	top: 0;
	z-index: 70;
	background: rgba(12, 14, 12, .9);
}

.home .site-header {
	top: 38px;
	z-index: 69;
	background: linear-gradient(180deg, rgba(16, 18, 15, .96), rgba(16, 18, 15, .74));
	backdrop-filter: blur(8px);
}

.site-header {
	box-shadow: 0 12px 34px rgba(0, 0, 0, .08);
}

.site-topbar__message {
	color: rgba(255, 255, 255, .76);
}

.eden-header-cta,
.elementor-button {
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.eden-header-cta:hover,
.elementor-button:hover {
	transform: translateY(-1px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--eden-gold-light);
	outline-offset: 3px;
}

.elementor-widget-image img {
	display: block;
}

.elementor-widget-heading .elementor-heading-title {
	text-wrap: balance;
}

.site-footer__statement {
	line-height: 1.45;
}

@media (min-width: 1025px) {
	.site-header__inner {
		min-height: 88px;
	}

	.eden-menu {
		gap: 24px;
	}
}

@media (max-width: 1024px) {
	.home .site-header {
		top: 38px;
	}
}

@media (max-width: 782px) {
	.admin-bar.home .site-topbar {
		top: 46px;
	}

	.admin-bar.home .site-header {
		top: 80px;
	}
}

@media (min-width: 783px) {
	.admin-bar.home .site-topbar {
		top: 32px;
	}

	.admin-bar.home .site-header {
		top: 70px;
	}
}

@media (max-width: 640px) {
	.home .site-header {
		top: 34px;
	}

	.home .site-topbar__contact a:last-child::before {
		content: "Talk to us: ";
		color: var(--eden-gold-light);
	}
}


/* Version 1.4: original-standard visual redesign */
.site-topbar__message {
	letter-spacing: .11em;
}

.home .site-header {
	background: linear-gradient(180deg, rgba(12, 14, 12, .96), rgba(12, 14, 12, .62));
	backdrop-filter: blur(5px);
}

.site-header__inner {
	max-width: 1240px;
}

.site-branding {
	flex-shrink: 0;
}

.eden-menu {
	gap: 22px;
}

.eden-menu a {
	font-size: 10px;
	letter-spacing: .105em;
	white-space: nowrap;
}

.eden-header-cta {
	min-height: 46px;
	padding-inline: 18px;
	white-space: nowrap;
}

.eden-page-hero {
	position: relative;
	isolation: isolate;
}

.eden-page-hero > .elementor-background-overlay {
	background:
		linear-gradient(90deg, rgba(10, 12, 10, .94), rgba(10, 12, 10, .72) 40%, rgba(10, 12, 10, .12) 72%, rgba(10, 12, 10, .05)),
		linear-gradient(0deg, rgba(10, 12, 10, .4), transparent 45%) !important;
	opacity: 1 !important;
}

.eden-page-hero > .e-con-inner {
	position: relative;
	z-index: 1;
}

.eden-home-hero {
	background-position: 68% 42% !important;
}

.eden-subpage-hero {
	background-position: center 44% !important;
}

.eden-kicker .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--eden-gold-light) !important;
	font-family: Manrope, "Segoe UI", Arial, sans-serif !important;
	font-size: 11px ;
	font-weight: 700 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
}

.eden-kicker .elementor-heading-title::before {
	width: 32px;
	height: 1px;
	background: var(--eden-gold);
	content: "";
}

.eden-home-hero .eden-hero-title .elementor-heading-title {
	max-width: 780px;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(58px, 7.4vw, 92px) ;
	font-weight: 500 !important;
	letter-spacing: -.045em !important;
	line-height: .93 !important;
	text-wrap: balance;
}

.eden-subpage-hero .eden-hero-title .elementor-heading-title {
	max-width: 760px;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(52px, 6vw, 70px) ;
	font-weight: 500 !important;
	letter-spacing: -.038em !important;
	line-height: .98 !important;
	text-wrap: balance;
}

.eden-hero-lead {
	max-width: 610px;
}

.eden-hero-lead,
.eden-hero-lead p {
	margin: 0;
	color: rgba(255, 255, 255, .84) !important;
	font-size: 17px ;
	line-height: 1.72 !important;
}

.eden-hero-actions {
	margin-top: 8px;
}

.eden-button .elementor-button {
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px !important;
	font-size: 11px ;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
}

.eden-button-primary .elementor-button {
	background: var(--eden-gold) !important;
	color: var(--eden-ink) !important;
}

.eden-button-primary .elementor-button:hover {
	background: var(--eden-gold-light) !important;
	color: var(--eden-ink) !important;
}

.eden-button-secondary .elementor-button {
	border: 1px solid rgba(255, 255, 255, .45) !important;
	background: rgba(255, 255, 255, .04) !important;
	color: #fff !important;
}

.eden-button-secondary .elementor-button:hover {
	background: #fff !important;
	color: var(--eden-ink) !important;
}

.eden-hero-note,
.eden-hero-note p {
	margin: 10px 0 0;
	color: rgba(255, 255, 255, .7) !important;
	font-size: 11px ;
	letter-spacing: .01em;
	line-height: 1.55 !important;
}

.eden-trust-strip {
	border-bottom: 1px solid rgba(23, 25, 22, .11);
}

.eden-trust-item {
	padding: 8px 30px;
}

.eden-trust-item:not(:last-child) {
	border-right: 1px solid rgba(23, 25, 22, .12);
}

.eden-trust-item .elementor-heading-title:first-child {
	color: var(--eden-sage);
}

.eden-home-intro .eden-about-image img {
	height: 560px !important;
}

.eden-service-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(23, 25, 22, .12);
	background: rgba(255, 255, 255, .72);
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.eden-service-card::after {
	position: absolute;
	right: -30px;
	bottom: -30px;
	width: 92px;
	height: 92px;
	border: 1px solid rgba(185, 153, 90, .2);
	border-radius: 50%;
	content: "";
}

.eden-service-card:hover {
	border-color: rgba(185, 153, 90, .6);
	box-shadow: 0 22px 55px rgba(23, 25, 22, .08);
	transform: translateY(-3px);
}

.eden-process-card {
	border-top: 1px solid rgba(185, 153, 90, .72);
}

.eden-work-grid {
	align-items: stretch;
}

.eden-work-feature,
.eden-work-secondary {
	height: 100%;
}

.eden-work-feature .elementor-widget-container,
.eden-work-secondary .elementor-widget-container {
	height: 100%;
	overflow: hidden;
}

.eden-work-feature img {
	height: 618px !important;
}

.eden-work-secondary img {
	height: 300px !important;
}

.elementor-widget-image img {
	display: block;
	width: 100% !important;
	max-width: 100%;
}

.eden-image-cover .elementor-widget-container {
	overflow: hidden;
}

.eden-image-cover img {
	object-fit: cover !important;
	object-position: center center !important;
}

.eden-image-contain .elementor-widget-container {
	overflow: hidden;
	border: 1px solid rgba(23, 25, 22, .09);
	background: #f6f2ea;
}

.eden-image-contain img {
	object-fit: contain !important;
	object-position: center center !important;
	padding: 22px;
	background: #f6f2ea;
}

.eden-reveal-ready body:not(.elementor-editor-active) .eden-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s ease, transform .7s ease;
}

.eden-reveal-ready body:not(.elementor-editor-active) .eden-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.elementor-editor-active .eden-reveal {
	opacity: 1 !important;
	transform: none !important;
}

@media (min-width: 1025px) {
	.site-header__inner {
		min-height: 92px;
		gap: 22px;
	}

	.site-navigation {
		display: block !important;
	}

	.eden-nav-toggle {
		display: none !important;
	}
}

@media (max-width: 1120px) and (min-width: 1025px) {
	.site-title {
		font-size: 23px;
	}

	.site-description {
		letter-spacing: .14em;
	}

	.eden-menu {
		gap: 15px;
	}

	.eden-menu a {
		font-size: 9px;
	}

	.eden-header-cta {
		padding-inline: 14px;
		font-size: 9px;
	}
}

@media (max-width: 1024px) {
	.eden-page-hero > .elementor-background-overlay {
		background:
			linear-gradient(90deg, rgba(10, 12, 10, .91), rgba(10, 12, 10, .63) 58%, rgba(10, 12, 10, .3)),
			linear-gradient(0deg, rgba(10, 12, 10, .38), transparent 48%) !important;
	}

	.eden-home-hero {
		background-position: 61% center !important;
	}

	.eden-trust-item {
		padding-inline: 18px;
	}
}

@media (max-width: 767px) {
	.eden-home-hero {
		background-position: 58% center !important;
	}

	.eden-home-hero .eden-hero-title .elementor-heading-title {
		font-size: clamp(47px, 14vw, 58px) ;
		letter-spacing: -.035em !important;
	}

	.eden-subpage-hero .eden-hero-title .elementor-heading-title {
		font-size: clamp(43px, 12vw, 51px) ;
	}

	.eden-hero-lead,
	.eden-hero-lead p {
		font-size: 15px ;
		line-height: 1.65 !important;
	}

	.eden-kicker .elementor-heading-title {
		font-size: 9px ;
		letter-spacing: .14em !important;
	}

	.eden-trust-item {
		padding: 18px 0;
	}

	.eden-trust-item:not(:last-child) {
		border-right: 0;
		border-bottom: 1px solid rgba(23, 25, 22, .12);
	}

	.eden-home-intro .eden-about-image img {
		height: 410px !important;
	}

	.eden-work-feature img {
		height: 430px !important;
	}

	.eden-work-secondary img {
		height: 300px !important;
	}

	.eden-image-contain img {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eden-reveal-ready body:not(.elementor-editor-active) .eden-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* Version 1.4 hero entrance motion */
@keyframes eden-hero-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body:not(.elementor-editor-active) .eden-page-hero .eden-kicker,
	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-title,
	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-lead,
	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-actions,
	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-note {
		animation: eden-hero-in .72s cubic-bezier(.22, .8, .25, 1) both;
	}

	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-title {
		animation-delay: .08s;
	}

	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-lead {
		animation-delay: .16s;
	}

	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-actions {
		animation-delay: .24s;
	}

	body:not(.elementor-editor-active) .eden-page-hero .eden-hero-note {
		animation-delay: .32s;
	}
}


/* Version 1.5 exact editorial homepage */
.eden-home-hero .e-con-inner,
.eden-trust-strip .e-con-inner,
.eden-home-intro .e-con-inner,
.eden-home-services .e-con-inner,
.eden-home-standard .e-con-inner,
.eden-home-work .e-con-inner,
.eden-home-process .e-con-inner,
.eden-home-guide .e-con-inner,
.eden-home-contact .e-con-inner {
	width: min(1180px, 100%);
}

.eden-home-hero {
	overflow: hidden;
	background-position: 68% 42% !important;
}

.eden-home-hero > .elementor-background-overlay {
	background:
		linear-gradient(90deg, rgba(10, 12, 10, .95) 0%, rgba(10, 12, 10, .77) 40%, rgba(10, 12, 10, .17) 73%, rgba(10, 12, 10, .04) 100%),
		linear-gradient(0deg, rgba(10, 12, 10, .46), transparent 48%) !important;
	opacity: 1 !important;
}

.eden-eyebrow .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	color: #8a806f;
	font-family: Manrope, "Segoe UI", sans-serif !important;
	font-size: 10px ;
	font-weight: 700 !important;
	letter-spacing: .2em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

.eden-eyebrow .elementor-heading-title::before {
	width: 38px;
	height: 1px;
	flex: 0 0 38px;
	background: var(--eden-gold);
	content: "";
}

.eden-hero-kicker .elementor-heading-title {
	color: var(--eden-gold-light) !important;
	font-size: 11px ;
}

.eden-home-hero .eden-hero-title {
	margin: 19px 0 21px;
}

.eden-home-hero .eden-hero-title .elementor-heading-title {
	max-width: 790px;
	margin: 0;
	color: #fff !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(58px, 7.4vw, 92px) ;
	font-weight: 500 !important;
	letter-spacing: -.045em !important;
	line-height: .93 !important;
	text-wrap: balance;
}

.eden-home-hero .eden-hero-title em {
	color: var(--eden-gold-light);
	font-style: normal;
}

.eden-home-hero .eden-hero-lead {
	max-width: 650px;
	margin-bottom: 24px;
}

.eden-home-hero .eden-hero-lead p {
	margin: 0;
	color: rgba(255,255,255,.83) !important;
	font-size: 15px ;
	line-height: 1.72 !important;
}

.eden-button-outline .elementor-button {
	border: 1px solid rgba(255,255,255,.48) !important;
	background: rgba(255,255,255,.03) !important;
	color: #fff !important;
}

.eden-button-outline .elementor-button:hover {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--eden-ink) !important;
}

.eden-home-hero .eden-hero-note,
.eden-home-hero .eden-hero-note p {
	margin: 19px 0 0;
	color: rgba(255,255,255,.63) !important;
	font-size: 10px ;
	letter-spacing: .01em;
}

.eden-trust-strip > .e-con-inner {
	min-height: 132px;
}

.eden-trust-item {
	min-height: 132px;
	padding: 28px 34px !important;
}

.eden-trust-item:not(:last-child) {
	border-right: 1px solid rgba(23,25,22,.13);
}

.eden-trust-icon-widget {
	flex: 0 0 44px;
}

.eden-trust-icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(23,25,22,.16);
	border-radius: 50%;
	color: var(--eden-sage);
	font-family: Georgia, serif;
	font-size: 17px;
	line-height: 1;
}

.eden-trust-copy {
	gap: 1px !important;
}

.eden-trust-title .elementor-heading-title {
	margin: 0;
	color: var(--eden-ink) !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 19px ;
	font-weight: 600 !important;
	line-height: 1.05 !important;
}

.eden-trust-text,
.eden-trust-text p {
	margin: 0;
	color: #74786f !important;
	font-size: 9px ;
	line-height: 1.5 !important;
}

.eden-intro-title .elementor-heading-title,
.eden-section-title .elementor-heading-title,
.eden-standard-heading .elementor-heading-title,
.eden-process-heading .elementor-heading-title,
.eden-guide-heading .elementor-heading-title,
.eden-contact-heading .elementor-heading-title {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 500 !important;
	letter-spacing: -.03em !important;
	line-height: 1.02 !important;
	text-wrap: balance;
}

.eden-intro-title {
	margin-top: 19px;
}

.eden-intro-title .elementor-heading-title {
	max-width: 720px;
	font-size: clamp(48px, 5.15vw, 66px) ;
}

.eden-intro-title span {
	color: #7c8278;
}

.eden-intro-copy,
.eden-intro-copy p,
.eden-section-intro,
.eden-section-intro p {
	color: #60645c !important;
	font-size: 13px ;
	line-height: 1.8 !important;
}

.eden-intro-copy p {
	margin: 0 0 18px;
}

.eden-intro-aside {
	padding-top: 40px;
}

.eden-text-link .elementor-button {
	min-height: auto !important;
	padding: 0 0 7px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--eden-gold) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--eden-ink) !important;
	font-size: 9px ;
	font-weight: 700 !important;
	letter-spacing: .13em !important;
	text-transform: uppercase;
}

.eden-text-link .elementor-button:hover {
	color: var(--eden-sage) !important;
	border-color: var(--eden-sage) !important;
}

.eden-section-title .elementor-heading-title {
	font-size: clamp(47px, 5vw, 62px) ;
}

.eden-section-head .eden-section-intro {
	width: 100%;
	max-width: 320px;
}

.eden-service-grid {
	border-top: 1px solid rgba(23,25,22,.12);
	border-left: 1px solid rgba(23,25,22,.12);
}

.eden-service-card {
	min-height: 356px;
	padding: 35px 29px 32px !important;
	border: 0 !important;
	border-right: 1px solid rgba(23,25,22,.12) !important;
	border-bottom: 1px solid rgba(23,25,22,.12) !important;
	background: rgba(255,255,255,.28) !important;
	box-shadow: none !important;
	transition: background-color .28s ease, transform .28s ease !important;
}

.eden-service-card::after {
	display: none;
}

.eden-service-card:hover {
	z-index: 2;
	background: #fff !important;
	transform: translateY(-6px) !important;
}

.eden-service-number .elementor-heading-title,
.eden-standard-number .elementor-heading-title {
	color: #9b8f7c !important;
	font-family: Manrope, sans-serif !important;
	font-size: 9px ;
	font-weight: 700 !important;
	letter-spacing: .18em !important;
}

.eden-service-icon {
	margin: 45px 0 13px;
	color: var(--eden-sage);
}

.eden-service-svg {
	width: 34px;
	height: 34px;
	stroke-width: 1.2;
}

.eden-service-title .elementor-heading-title {
	color: var(--eden-ink) !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 25px ;
	font-weight: 600 !important;
	line-height: 1.05 !important;
}

.eden-service-title a {
	text-decoration: none;
}

.eden-service-copy,
.eden-service-copy p {
	margin: 0;
	color: #676b64 !important;
	font-size: 10px ;
	line-height: 1.65 !important;
}

.eden-home-standard {
	overflow: hidden;
	color: #fff;
}

.eden-home-standard > .e-con-inner {
	max-width: 1180px;
}

.eden-standard-media {
	min-height: 690px;
}

.eden-standard-image,
.eden-standard-image .elementor-widget-container,
.eden-standard-image img {
	width: 100%;
	height: 100% !important;
	min-height: 690px;
}

.eden-standard-image img {
	object-fit: cover !important;
	object-position: center !important;
}

.eden-standard-content {
	justify-content: center;
	padding: 78px 62px !important;
	background: #3f4941;
}

.eden-home-standard .eden-eyebrow .elementor-heading-title {
	color: var(--eden-gold-light);
}

.eden-standard-heading {
	margin: 22px 0 24px;
}

.eden-standard-heading .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(48px, 4.8vw, 62px) ;
}

.eden-standard-body,
.eden-standard-body p {
	color: rgba(255,255,255,.73) !important;
	font-size: 12px ;
	line-height: 1.8 !important;
}

.eden-standard-body p {
	margin: 0 0 16px;
}

.eden-standard-points {
	margin-top: 34px;
	border-top: 1px solid rgba(255,255,255,.18);
}

.eden-standard-point {
	min-height: 152px;
	padding: 23px 18px 0 0 !important;
}

.eden-standard-point:not(:last-child) {
	border-right: 1px solid rgba(255,255,255,.14);
}

.eden-standard-point:not(:first-child) {
	padding-left: 18px !important;
}

.eden-standard-title .elementor-heading-title {
	color: #fff !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 19px ;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

.eden-standard-copy,
.eden-standard-copy p {
	margin: 0;
	color: rgba(255,255,255,.58) !important;
	font-size: 9px ;
	line-height: 1.55 !important;
}

.eden-work-head {
	width: 100%;
}

.eden-work-grid {
	display: grid !important;
	min-height: 720px;
	grid-template-columns: 1.25fr .75fr;
	gap: 18px !important;
}

.eden-work-card {
	position: relative;
	min-height: 0;
	overflow: hidden;
	background: #242821;
}

.eden-work-card-feature {
	height: 720px;
}

.eden-work-stack {
	display: grid !important;
	height: 720px;
	grid-template-rows: 1fr 1fr;
	gap: 18px !important;
}

.eden-work-card-secondary {
	height: 351px;
}

.eden-work-image,
.eden-work-image .elementor-widget-container,
.eden-work-image img {
	width: 100%;
	height: 100% !important;
}

.eden-work-image {
	position: absolute !important;
	inset: 0;
}

.eden-work-image img {
	object-fit: cover !important;
	transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.eden-work-card:hover .eden-work-image img {
	transform: scale(1.035);
}

.eden-work-card::after {
	position: absolute;
	z-index: 1;
	inset: 35% 0 0;
	background: linear-gradient(0deg, rgba(12,14,12,.88), transparent);
	content: "";
	pointer-events: none;
}

.eden-work-caption-widget {
	position: absolute !important;
	z-index: 2;
	right: 30px;
	bottom: 28px;
	left: 30px;
}

.eden-work-caption span,
.eden-work-caption strong {
	display: block;
	color: #fff;
}

.eden-work-caption span {
	margin-bottom: 5px;
	color: var(--eden-gold-light);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.eden-work-caption strong {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.08;
}

.eden-home-process .eden-eyebrow .elementor-heading-title {
	color: var(--eden-gold-light);
}

.eden-process-heading {
	max-width: 760px;
	margin-top: 20px;
}

.eden-process-heading .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(50px, 5.7vw, 68px) ;
}

.eden-process-intro {
	max-width: 630px;
	margin-top: 19px;
}

.eden-process-intro,
.eden-process-intro p {
	color: rgba(255,255,255,.65) !important;
	font-size: 11px ;
	line-height: 1.7 !important;
}

.eden-process-grid {
	position: relative;
	margin-top: 57px;
	border-top: 1px solid rgba(255,255,255,.15);
}

.eden-process-step {
	position: relative;
	min-height: 200px;
	padding: 31px 28px 0 0 !important;
}

.eden-process-step:not(:last-child) {
	border-right: 1px solid rgba(255,255,255,.12);
}

.eden-process-step:not(:first-child) {
	padding-left: 28px !important;
}

.eden-process-step::before {
	position: absolute;
	top: -4px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--eden-gold);
	content: "";
}

.eden-process-number .elementor-heading-title {
	color: var(--eden-gold) !important;
	font-family: Manrope, sans-serif !important;
	font-size: 8px ;
	font-weight: 700 !important;
	letter-spacing: .17em !important;
	text-transform: uppercase;
}

.eden-process-title .elementor-heading-title {
	margin-top: 17px;
	color: #fff !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 24px ;
	font-weight: 600 !important;
	line-height: 1.05 !important;
}

.eden-process-copy,
.eden-process-copy p {
	margin: 0;
	color: rgba(255,255,255,.57) !important;
	font-size: 9px ;
	line-height: 1.65 !important;
}

.eden-guide-heading {
	margin: 19px 0 24px;
}

.eden-guide-heading .elementor-heading-title,
.eden-contact-heading .elementor-heading-title {
	font-size: clamp(48px, 4.8vw, 60px) ;
}

.eden-guide-copy,
.eden-guide-copy p {
	color: #646860 !important;
	font-size: 12px ;
	line-height: 1.75 !important;
}

.eden-guide-copy a {
	font-weight: 700;
}

.eden-home-faq .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid rgba(23,25,22,.14) !important;
}

.eden-home-faq .elementor-tab-title {
	padding: 22px 0 !important;
	color: var(--eden-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 20px ;
	font-weight: 600;
}

.eden-home-faq .elementor-tab-content {
	padding: 0 34px 22px 0 !important;
	border: 0 !important;
	color: #646860;
	font-size: 12px ;
	line-height: 1.75;
}

.eden-contact-heading {
	margin: 20px 0 25px;
}

.eden-contact-copy,
.eden-contact-copy p {
	max-width: 470px;
	color: #646860 !important;
	font-size: 12px ;
	line-height: 1.75 !important;
}

.eden-contact-details {
	margin-top: 40px;
	border-top: 1px solid rgba(23,25,22,.14);
}

.eden-contact-detail {
	display: grid;
	padding: 14px 0;
	border-bottom: 1px solid rgba(23,25,22,.12);
	grid-template-columns: 104px 1fr;
	gap: 20px;
	font-size: 11px;
}

.eden-contact-detail span {
	color: #8f887a;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.eden-contact-detail a,
.eden-contact-detail strong {
	font-weight: 600;
	text-decoration: none;
}

.eden-form-card {
	padding: 44px 48px 48px !important;
	background: #fff;
	box-shadow: 0 22px 60px rgba(23,25,22,.08);
}

.eden-form-heading .elementor-heading-title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 31px ;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

.eden-form-intro,
.eden-form-intro p {
	margin: 0;
	color: #73776f !important;
	font-size: 10px ;
	line-height: 1.65 !important;
}

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

.eden-home-contact .eden-contact-form .eden-field-message,
.eden-home-contact .eden-contact-form .eden-field-select,
.eden-home-contact .eden-contact-form .eden-consent,
.eden-home-contact .eden-contact-form .eden-submit-wrap,
.eden-home-contact .eden-form-status {
	grid-column: 1 / -1;
}

.eden-gallery-heading {
	margin-top: 36px;
}

.eden-gallery-heading .elementor-heading-title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(31px, 3.3vw, 44px) ;
	font-weight: 600 !important;
	line-height: 1.08 !important;
}

.eden-product-gallery .gallery {
	display: grid !important;
	margin: 0 !important;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 18px;
}

.eden-product-gallery .gallery-item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.eden-product-gallery .gallery-icon {
	height: 330px;
	overflow: hidden;
	border: 1px solid rgba(23,25,22,.1);
	background: #f3efe7;
}

.eden-product-gallery .gallery-item img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	padding: 16px;
	border: 0 !important;
	background: #f3efe7;
	object-fit: contain !important;
	object-position: center !important;
	transition: transform .3s ease, background-color .3s ease;
}

.eden-product-gallery .gallery-item a:hover img {
	background: #fff;
	transform: scale(1.025);
}

.eden-contact-map,
.eden-contact-map .elementor-widget-container,
.eden-contact-map iframe {
	width: 100%;
	min-height: 480px;
	height: 480px !important;
}

.eden-contact-map {
	overflow: hidden;
	border: 1px solid rgba(23,25,22,.12);
}

.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .72s cubic-bezier(.22,.8,.25,1), transform .72s cubic-bezier(.22,.8,.25,1);
	will-change: opacity, transform;
}

.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item.is-visible {
	opacity: 1;
	transform: none;
}

@keyframes edenHeroContentIn {
	from { opacity: 0; transform: translateY(22px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element {
		animation: edenHeroContentIn .76s cubic-bezier(.22,.8,.25,1) both;
	}
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element:nth-child(1) { animation-delay: .04s; }
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element:nth-child(2) { animation-delay: .13s; }
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element:nth-child(3) { animation-delay: .22s; }
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element:nth-child(4) { animation-delay: .31s; }
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element:nth-child(5) { animation-delay: .4s; }
}

@media (max-width: 1024px) {
	.eden-service-card { width: 50% !important; }
	.eden-standard-content { padding: 58px 38px !important; }
	.eden-standard-points { flex-direction: column !important; }
	.eden-standard-point { width: 100% !important; min-height: 110px; padding: 18px 0 !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14); }
	.eden-work-grid { min-height: 620px; }
	.eden-work-card-feature,.eden-work-stack { height: 620px; }
	.eden-work-card-secondary { height: 301px; }
	.eden-product-gallery .gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.eden-product-gallery .gallery-icon { height: 290px; }
}

@media (max-width: 767px) {
	.eden-home-hero .eden-hero-title .elementor-heading-title { font-size: clamp(48px,15vw,61px) ; }
	.eden-eyebrow .elementor-heading-title { font-size: 9px ; letter-spacing: .16em !important; }
	.eden-trust-strip > .e-con-inner { min-height: 0; }
	.eden-trust-item { width: 100% !important; min-height: 104px; padding: 24px 0 !important; }
	.eden-trust-item:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(23,25,22,.13); }
	.eden-intro-aside { padding-top: 0; }
	.eden-intro-title .elementor-heading-title,.eden-section-title .elementor-heading-title,.eden-standard-heading .elementor-heading-title,.eden-process-heading .elementor-heading-title,.eden-guide-heading .elementor-heading-title,.eden-contact-heading .elementor-heading-title { font-size: clamp(42px,12.5vw,52px) ; }
	.eden-service-card { width: 100% !important; min-height: 305px; }
	.eden-standard-media,.eden-standard-image,.eden-standard-image .elementor-widget-container,.eden-standard-image img { min-height: 440px; height: 440px !important; }
	.eden-standard-content { padding: 58px 20px !important; }
	.eden-work-grid { display: flex !important; min-height: 0; }
	.eden-work-card-feature,.eden-work-stack { height: auto; }
	.eden-work-card-feature { min-height: 520px; }
	.eden-work-stack { display: flex !important; }
	.eden-work-card-secondary { min-height: 300px; height: 300px; }
	.eden-process-step { width: 100% !important; min-height: 156px; padding: 28px 0 !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.12); }
	.eden-process-step:not(:first-child) { padding-left: 0 !important; }
	.eden-process-step::before { top: -4px; }
	.eden-form-card { padding: 34px 24px 38px !important; }
	.eden-home-contact .eden-contact-form { grid-template-columns: 1fr; }
	.eden-product-gallery .gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
	.eden-product-gallery .gallery-icon { height: 230px; }
	.eden-product-gallery .gallery-item img { padding: 9px; }
	.eden-contact-map,.eden-contact-map .elementor-widget-container,.eden-contact-map iframe { min-height: 340px; height: 340px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item,
	body:not(.elementor-editor-active) .eden-home-hero .eden-hero-copy > .elementor-element {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}


/* Version 1.6 Elementor 4 compatibility */
.eden-home-hero {
	min-height: 820px;
}

.eden-product-grid {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px !important;
}

.eden-product-image {
	width: 100% !important;
	min-width: 0;
}

.eden-product-image .elementor-widget-container {
	width: 100%;
	height: 330px;
	overflow: hidden;
	border: 1px solid rgba(23, 25, 22, .11);
	background: #f3efe7;
}

.eden-product-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.eden-product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	padding: 16px;
	background: #f3efe7;
	object-fit: contain !important;
	object-position: center !important;
	transition: background-color .3s ease, transform .35s ease;
}

.eden-product-image a:hover img {
	background: #fff;
	transform: scale(1.025);
}

.eden-contact-map-section {
	background: #f7f4ee !important;
}

.eden-contact-map-wrap,
.eden-contact-map-wrap > .elementor-element,
.eden-contact-map,
.eden-contact-map .elementor-widget-container,
.eden-contact-map iframe {
	width: 100% !important;
	max-width: none !important;
	height: 380px !important;
	min-height: 380px !important;
}

.eden-contact-map {
	overflow: hidden;
	border: 1px solid rgba(23, 25, 22, .14);
	background: #e8e4db;
}

.eden-map-details {
	max-width: 760px !important;
	padding-top: 4px;
}

.eden-contact-form-section {
	background: #f7f4ee !important;
}

.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item > .elementor-element,
.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item > .e-con-inner {
	opacity: 0;
	transform: translateY(42px);
	transition:
		opacity .9s cubic-bezier(.22, .8, .25, 1),
		transform .9s cubic-bezier(.22, .8, .25, 1);
	will-change: opacity, transform;
}

.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item.is-visible > .elementor-element,
.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item.is-visible > .e-con-inner {
	opacity: 1;
	transform: none;
}

@media (max-width: 1024px) {
	.eden-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.eden-product-image .elementor-widget-container {
		height: 290px;
	}
}

@media (max-width: 767px) {
	.eden-home-hero {
		min-height: 700px;
	}
	.eden-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px !important;
	}
	.eden-product-image .elementor-widget-container {
		height: 225px;
	}
	.eden-product-image img {
		padding: 9px;
	}
	.eden-contact-map-wrap,
	.eden-contact-map-wrap > .elementor-element,
	.eden-contact-map,
	.eden-contact-map .elementor-widget-container,
	.eden-contact-map iframe {
		height: 320px !important;
		min-height: 320px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item > .elementor-element,
	.eden-motion-ready body:not(.elementor-editor-active) .eden-reveal-item > .e-con-inner {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}


/* Version 1.7 consistent Elementor layouts and page-specific heroes */
.eden-eyebrow:not(.eden-eyebrow-light) .elementor-heading-title {
  color: #8a806f !important;
}

.eden-intro-title .elementor-heading-title,
.eden-section-title .elementor-heading-title,
.eden-guide-heading .elementor-heading-title,
.eden-contact-heading .elementor-heading-title,
.eden-form-heading .elementor-heading-title,
.eden-gallery-heading .elementor-heading-title {
  color: var(--eden-ink) !important;
}

.eden-service-grid,
.eden-service-grid > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
}

.eden-service-card,
.eden-standard-point,
.eden-process-step {
  width: 100% !important;
  min-width: 0;
}

.eden-standard-points,
.eden-standard-points > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
}

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

.eden-work-grid > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px !important;
}

.eden-work-stack > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-rows: 1fr 1fr;
  gap: 18px !important;
}

.eden-product-grid > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px !important;
}

@media (max-width: 1024px) {
  .eden-service-grid,
  .eden-service-grid > .e-con-inner,
  .eden-process-grid,
  .eden-process-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .eden-standard-points,
  .eden-standard-points > .e-con-inner {
    grid-template-columns: 1fr;
  }

  .eden-product-grid > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .eden-service-grid,
  .eden-service-grid > .e-con-inner,
  .eden-process-grid,
  .eden-process-grid > .e-con-inner,
  .eden-work-grid,
  .eden-work-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .eden-work-stack,
  .eden-work-stack > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .eden-product-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
  }
}


/* Version 1.8 Elementor visual editing
 * Typography sizes are intentionally not forced with !important, allowing
 * Elementor's desktop, tablet and mobile font-size controls to override these
 * theme defaults immediately in the visual editor.
 */


/* Version 1.9 Elementor 4 compatibility mode
 * Imported Eden layouts continue to use Elementor's legacy containers and
 * widgets; Atomic Editor features are disabled by the theme setup workflow.
 */

/* Version 2.1 typography, FAQ, portfolio and enquiry-form repair */
body.eden-elementor-ready {
	--e-global-color-primary: #687065;
	--e-global-color-secondary: #b9995a;
	--e-global-color-text: #5b6058;
	--e-global-color-accent: #b9995a;
}

/* Paragraphs inherit their Elementor widget size so visual-editor controls work. */
.eden-hero-lead p,
.eden-hero-note p,
.eden-trust-text p,
.eden-intro-copy p,
.eden-section-intro p,
.eden-service-copy p,
.eden-standard-body p,
.eden-standard-copy p,
.eden-process-intro p,
.eden-process-copy p,
.eden-guide-copy p,
.eden-contact-copy p,
.eden-form-intro p {
	font-size: inherit;
	line-height: inherit;
}

.eden-hero-lead { font-size: 19px; }
.eden-hero-note,
.eden-trust-text { font-size: 14px; }
.eden-intro-copy,
.eden-section-intro,
.eden-standard-body,
.eden-process-intro,
.eden-guide-copy,
.eden-contact-copy { font-size: 18px; }
.eden-service-copy,
.eden-standard-copy,
.eden-process-copy,
.eden-form-intro { font-size: 16px; }

/* Brand the Elementor accordion rather than inheriting its starter-kit blue/green. */
.eden-faq .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid rgba(23, 25, 22, .15) !important;
}

.eden-faq .elementor-tab-title {
	padding: 22px 0 !important;
	color: var(--eden-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}

.eden-faq .elementor-tab-title .elementor-accordion-title {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.eden-faq .elementor-tab-title.elementor-active,
.eden-faq .elementor-tab-title.elementor-active .elementor-accordion-title,
.eden-faq .elementor-accordion-icon {
	color: var(--eden-sage);
}

.eden-faq .elementor-tab-content {
	padding: 0 38px 24px 0 !important;
	border: 0 !important;
	color: #5b6058;
	font-family: Manrope, sans-serif;
	font-size: 16px;
	line-height: 1.72;
}

/* Hold the editorial portfolio geometry against Elementor container defaults. */
.eden-work-grid,
.eden-work-grid > .e-con-inner {
	min-height: 720px !important;
	align-items: stretch !important;
}

.eden-work-card-feature,
.eden-work-card-feature > .e-con-inner {
	height: 720px !important;
	min-height: 720px !important;
}

.eden-work-stack,
.eden-work-stack > .e-con-inner {
	height: 720px !important;
	min-height: 720px !important;
}

.eden-work-card-secondary,
.eden-work-card-secondary > .e-con-inner {
	height: 351px !important;
	min-height: 351px !important;
}

.eden-work-card .eden-work-image,
.eden-work-card .eden-work-image .elementor-widget-container,
.eden-work-card .eden-work-image img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* The shortcode already contains two-column rows; the outer form stays one column. */
.eden-home-contact .eden-contact-form {
	width: 100%;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 20px !important;
}

.eden-home-contact .eden-contact-form > * {
	grid-column: 1 / -1 !important;
}

.eden-contact-form,
.eden-contact-form .eden-form-row,
.eden-contact-form .eden-form-row > p {
	width: 100%;
	min-width: 0;
}

.eden-contact-form label {
	margin-bottom: 9px;
	color: #3e423c;
	font-size: 13px;
	letter-spacing: .055em;
}

.eden-contact-form input[type="text"],
.eden-contact-form input[type="email"],
.eden-contact-form input[type="tel"],
.eden-contact-form select,
.eden-contact-form textarea {
	min-height: 54px;
	padding: 14px 15px;
	border-color: #d7d1c6;
	border-radius: 0;
	background: #fff;
	font-family: Manrope, sans-serif;
	font-size: 16px;
	line-height: 1.45;
}

.eden-contact-form textarea {
	min-height: 160px;
}

.eden-contact-form .eden-consent label {
	color: #666b63;
	font-size: 13px;
	line-height: 1.55;
}

.eden-contact-form button {
	min-width: 190px;
	min-height: 54px;
	font-size: 13px;
}

@media (max-width: 1024px) {
	.eden-work-grid,
	.eden-work-grid > .e-con-inner,
	.eden-work-card-feature,
	.eden-work-card-feature > .e-con-inner,
	.eden-work-stack,
	.eden-work-stack > .e-con-inner {
		height: 620px !important;
		min-height: 620px !important;
	}

	.eden-work-card-secondary,
	.eden-work-card-secondary > .e-con-inner {
		height: 301px !important;
		min-height: 301px !important;
	}
}

@media (max-width: 767px) {
	.eden-work-grid,
	.eden-work-grid > .e-con-inner {
		height: auto !important;
		min-height: 0 !important;
	}

	.eden-work-card-feature,
	.eden-work-card-feature > .e-con-inner {
		height: 520px !important;
		min-height: 520px !important;
	}

	.eden-work-stack,
	.eden-work-stack > .e-con-inner {
		height: auto !important;
		min-height: 0 !important;
	}

	.eden-work-card-secondary,
	.eden-work-card-secondary > .e-con-inner {
		height: 300px !important;
		min-height: 300px !important;
	}

	.eden-form-row {
		grid-template-columns: 1fr;
	}

	.eden-form-card {
		padding: 34px 24px 36px !important;
	}

	.eden-faq .elementor-tab-title {
		font-size: 20px;
	}

	.eden-faq .elementor-tab-content {
		padding-right: 24px !important;
		font-size: 16px;
	}
}

@media (max-width: 479px) {
	.eden-work-card-feature,
	.eden-work-card-feature > .e-con-inner {
		height: 440px !important;
		min-height: 440px !important;
	}

	.eden-work-card-secondary,
	.eden-work-card-secondary > .e-con-inner {
		height: 270px !important;
		min-height: 270px !important;
	}
}

/* Version 2.2 catalogue references and launch refinements */
.eden-home-hero .eden-hero-kicker .elementor-heading-title {
	color: var(--eden-gold-light) !important;
}

.eden-home-hero .eden-hero-kicker .elementor-heading-title::before {
	background: var(--eden-gold-light) !important;
}

.eden-menu a {
	font-size: 11.5px;
}

.eden-home-hero .eden-hero-note,
.eden-home-hero .eden-hero-note p {
	font-size: 11px !important;
	line-height: 1.55 !important;
}

/* Each reference is real catalogue wording from edenmemorials.ie. */
.eden-product-image .elementor-widget-container {
	height: auto !important;
	overflow: visible !important;
	border: 0 !important;
	background: transparent !important;
}

.eden-product-image figure.wp-caption {
	display: flex !important;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	flex-direction: column;
	border: 1px solid rgba(23, 25, 22, .12);
	background: #f3efe7;
}

.eden-product-image figure.wp-caption > a,
.eden-product-image .elementor-widget-container > a {
	display: flex !important;
	width: 100%;
	height: 286px !important;
	min-height: 286px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #f3efe7;
}

.eden-product-image figure.wp-caption img,
.eden-product-image .elementor-widget-container > a img {
	width: 100% !important;
	height: 100% !important;
	padding: 14px;
	object-fit: contain !important;
	object-position: center !important;
}

.eden-product-image figcaption.widget-image-caption {
	display: flex;
	min-height: 62px;
	align-items: center;
	margin: 0 !important;
	padding: 12px 14px 13px;
	border-top: 1px solid rgba(23, 25, 22, .11);
	background: #fff;
	color: #3f433d;
	font-family: Manrope, "Segoe UI", sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.45;
	text-align: left;
}

.eden-product-is-hidden {
	display: none !important;
}

.eden-product-grid-controls {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

.eden-product-grid-toggle {
	min-height: 50px;
	padding: 13px 24px;
	border: 1px solid var(--eden-ink);
	border-radius: 2px;
	background: var(--eden-ink);
	color: #fff;
	font-family: Manrope, "Segoe UI", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.eden-product-grid-toggle:hover,
.eden-product-grid-toggle:focus-visible {
	background: var(--eden-gold-light);
	color: var(--eden-ink);
}

.eden-file-field small {
	display: block;
	margin-top: 8px;
	color: #6b6f68;
	font-size: 12px;
	line-height: 1.55;
}

.eden-contact-form input[type="file"] {
	width: 100%;
	padding: 12px;
	border: 1px solid #d7d1c6;
	background: #fff;
	color: #3e423c;
	font: 14px/1.45 Manrope, sans-serif;
}

.eden-contact-form input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 9px 13px;
	border: 0;
	background: #e8e2d7;
	color: var(--eden-ink);
	font-weight: 700;
	cursor: pointer;
}

.eden-contact-form .eden-consent a,
.site-footer__legal a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.eden-policy-content {
	padding: clamp(30px, 5vw, 64px) !important;
	border: 1px solid rgba(23, 25, 22, .1);
	background: #fff;
	box-shadow: 0 18px 50px rgba(23, 25, 22, .06);
}

.eden-policy-content .elementor-heading-title {
	color: var(--eden-ink) !important;
}

.eden-policy-content h3.elementor-heading-title {
	margin-top: 16px;
	font-size: clamp(28px, 3.4vw, 38px) !important;
}

.eden-policy-content .elementor-widget-text-editor,
.eden-policy-content .elementor-widget-text-editor p {
	color: #545950 !important;
	font-size: 17px !important;
	line-height: 1.8 !important;
}

@media (max-width: 1024px) {
	.eden-product-image figure.wp-caption > a,
	.eden-product-image .elementor-widget-container > a {
		height: 250px !important;
		min-height: 250px;
	}
}

@media (max-width: 767px) {
	.eden-product-image figure.wp-caption > a,
	.eden-product-image .elementor-widget-container > a {
		height: 205px !important;
		min-height: 205px;
	}
	.eden-product-image figcaption.widget-image-caption {
		min-height: 68px;
		padding: 10px 11px 11px;
		font-size: 11px;
	}
	.eden-product-grid-controls {
		margin-top: 28px;
	}
	.eden-policy-content .elementor-widget-text-editor,
	.eden-policy-content .elementor-widget-text-editor p {
		font-size: 16px !important;
	}
}
