/* Homepage-only interaction layer. Behaviour is progressively enhanced by home-interactions.js. */
.jessie-gutenberg-home {
	--home-interaction-accent: var(--gold, #b8955d);
	--home-interaction-shadow: 0 34px 72px rgba(58, 51, 43, 0.18);
	--home-interaction-shadow-soft: 0 18px 42px rgba(58, 51, 43, 0.105);
	--home-interaction-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--home-scroll-offset: 7rem;
}

.jessie-gutenberg-home [id] {
	scroll-margin-top: var(--home-scroll-offset);
}

.jessie-gutenberg-home .eyebrow::before,
.jessie-gutenberg-home .hero-note span {
	display: none !important;
}

.jessie-gutenberg-home .eyebrow {
	gap: 0 !important;
	font-size: .82rem !important;
	letter-spacing: .16em !important;
}

.jessie-gutenberg-home .hero .eyebrow,
.jessie-gutenberg-home .naturopathy-head .eyebrow,
.jessie-gutenberg-home .sensitivity-intro .eyebrow,
.jessie-gutenberg-home #accompagnements .eyebrow {
	font-size: clamp(.86rem, .95vw, .98rem) !important;
}

.jessie-gutenberg-home .home-section-reveal {
	position: relative;
}

.jessie-gutenberg-home .home-section-reveal::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(255, 253, 248, 0.24), transparent);
	opacity: 0;
}

.jessie-gutenberg-home .home-section-reveal > * {
	position: relative;
	z-index: 1;
}

.jessie-gutenberg-home #corps .care-detail-top {
	display: none !important;
}

.jessie-gutenberg-home #corps {
	overflow: visible !important;
	padding-bottom: clamp(4.5rem, 7vw, 7rem) !important;
}

.jessie-gutenberg-home #corps .care-details {
	align-items: stretch !important;
	gap: clamp(1.25rem, 2vw, 1.8rem) !important;
	margin-bottom: 0 !important;
	overflow: visible !important;
}

.jessie-gutenberg-home #corps .care-detail {
	min-height: auto !important;
	padding: clamp(1.7rem, 2.25vw, 2.25rem) clamp(1.45rem, 2vw, 2rem) clamp(2.35rem, 3vw, 3rem) !important;
	overflow: hidden !important;
}

.jessie-gutenberg-home #corps .care-detail > * {
	position: relative;
	z-index: 2;
}

.jessie-gutenberg-home #corps .care-detail p {
	margin-bottom: 1rem !important;
}

.jessie-gutenberg-home #corps .care-detail .site-visual {
	margin: .9rem 0 1.15rem !important;
	overflow: hidden;
	box-shadow: 0 18px 38px rgba(58, 51, 43, 0.12);
}

.jessie-gutenberg-home #corps .care-closing {
	margin-top: auto !important;
	padding-top: 1.15rem !important;
	padding-bottom: .2rem !important;
	border-top-color: rgba(58, 51, 43, .12) !important;
}

.jessie-gutenberg-home #corps .care-cta {
	position: relative;
	z-index: 3;
	margin-top: clamp(2.75rem, 4.5vw, 4.25rem) !important;
	padding: 1.15rem clamp(1rem, 2vw, 1.5rem) !important;
	border-radius: 999px;
	background: rgba(255, 253, 248, .76);
	box-shadow:
		0 18px 42px rgba(58, 51, 43, .08),
		0 0 0 1px rgba(184, 149, 93, .12) inset;
	backdrop-filter: blur(10px);
}

.jessie-gutenberg-home #corps .care-cta p {
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(55, 47, 44, .78) !important;
}

.jessie-gutenberg-home .retirement-story .retirement-index {
	display: none !important;
}

.jessie-gutenberg-home .retirement-story .retirement-chapter {
	display: flex !important;
	flex-direction: column;
	min-height: 0 !important;
	padding-top: clamp(1.65rem, 2.1vw, 2.15rem) !important;
	padding-bottom: clamp(1.7rem, 2.2vw, 2.3rem) !important;
}

.jessie-gutenberg-home .retirement-story .retirement-chapter h3 {
	margin-top: 0 !important;
}

.jessie-gutenberg-home .retirement-story .retirement-emphasis {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	margin-top: .15rem !important;
	padding: .65rem .9rem .7rem !important;
	border-left: 4px solid rgba(184, 149, 93, .78);
	border-radius: 0 1rem 1rem 0;
	background: rgba(255, 253, 248, .58);
	color: var(--ink, #372f2c) !important;
	font-family: var(--serif);
	font-size: clamp(1.05rem, 1.5vw, 1.28rem) !important;
	font-style: italic;
	line-height: 1.36 !important;
	box-shadow: 0 10px 22px rgba(55, 47, 44, .075);
}

.jessie-gutenberg-home .retirement-final .site-visual-retirement-closing {
	display: none !important;
}

.jessie-gutenberg-home .care-note-2027 {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	margin: -.35rem 0 1rem !important;
	padding: .48rem .72rem !important;
	border: 1px solid rgba(102, 135, 131, .2);
	border-radius: 999px;
	background: rgba(255, 253, 248, .72);
	color: var(--petrol-deep, #668783) !important;
	font-family: var(--sans);
	font-size: .72rem !important;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.jessie-gutenberg-home #apropos {
	background:
		radial-gradient(circle at 92% 14%, rgba(240, 221, 174, .44), transparent 19rem),
		linear-gradient(180deg, rgba(255, 253, 249, .92), rgba(244, 232, 204, .25)) !important;
}

.jessie-gutenberg-home #apropos .about-grid {
	padding: clamp(2rem, 4vw, 3.2rem) !important;
	border: 1px solid rgba(184, 149, 93, .18);
	border-radius: 1.6rem 2.6rem 1.6rem 2rem;
	background: rgba(255, 253, 249, .7);
	box-shadow: 0 20px 42px rgba(55, 47, 44, .08);
}

.jessie-gutenberg-home #contact {
	overflow: hidden !important;
}

.jessie-gutenberg-home #contact .contact-box {
	grid-template-columns: minmax(0, 1.18fr) minmax(17rem, .82fr) !important;
	gap: clamp(1.75rem, 4vw, 3rem) !important;
	padding-inline: clamp(1.8rem, 4.5vw, 3.4rem) !important;
	overflow: hidden !important;
}

.jessie-gutenberg-home #contact .contact-copy,
.jessie-gutenberg-home #contact .contact-card {
	min-width: 0 !important;
}

.jessie-gutenberg-home #contact .contact-copy p {
	max-width: 66ch !important;
	text-wrap: pretty;
}

.jessie-gutenberg-home #contact .contact-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: .8rem !important;
	margin-top: clamp(1.25rem, 2vw, 1.7rem) !important;
}

.jessie-gutenberg-home #contact .contact-actions .wp-block-button,
.jessie-gutenberg-home #contact .contact-actions .wp-block-button__link {
	max-width: 100% !important;
	white-space: normal !important;
}

.jessie-gutenberg-home #contact .contact-actions .wp-block-button__link {
	min-height: 2.9rem !important;
	padding-inline: clamp(1.15rem, 2.2vw, 1.55rem) !important;
	text-align: center;
	overflow-wrap: normal;
	word-break: normal;
}

.jessie-gutenberg-home #contact .faq {
	margin-top: clamp(5.75rem, 9vw, 8.5rem) !important;
	padding-top: clamp(2rem, 3vw, 3rem) !important;
}

.jessie-gutenberg-home #contact .faq details:first-child {
	border-top: 1px solid rgba(68, 58, 53, .12);
}

.jessie-gutenberg-home :where(.btn, .source-btn .wp-block-button__link, .hero-actions a, .contact-actions a, .service-foot a, .article__read) {
	transition:
		transform 260ms var(--home-interaction-ease),
		box-shadow 260ms ease,
		background-color 220ms ease,
		color 220ms ease,
		border-color 220ms ease;
}

.jessie-gutenberg-home .home-interactive-card {
	position: relative;
	isolation: isolate;
	box-shadow:
		var(--home-interaction-shadow-soft),
		0 8px 18px rgba(184, 149, 93, .055),
		0 1px 0 rgba(255, 255, 255, 0.52) inset;
	will-change: transform;
	transition:
		transform 460ms var(--home-interaction-ease),
		box-shadow 460ms var(--home-interaction-ease),
		border-color 260ms ease,
		background-color 260ms ease,
		filter 360ms ease;
}

.jessie-gutenberg-home .home-interactive-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(135deg, rgba(255, 253, 248, .56), transparent 34%),
		radial-gradient(circle at 85% 10%, rgba(255, 255, 255, .72) 0 3.5rem, transparent 3.8rem);
	opacity: .45;
	transform: translate3d(0, 0, 0);
}

.jessie-gutenberg-home .home-interactive-card::after {
	z-index: 0;
}

.jessie-gutenberg-home .home-interactive-card h3,
.jessie-gutenberg-home .home-interactive-card .service-tag,
.jessie-gutenberg-home .home-interactive-card .service-foot,
.jessie-gutenberg-home .home-interactive-card .article__read {
	transition:
		color 260ms ease,
		transform 360ms var(--home-interaction-ease);
}

.jessie-gutenberg-home .home-interactive-card::before,
.jessie-gutenberg-home .home-interactive-card::after {
	transition:
		opacity 360ms ease,
		transform 520ms var(--home-interaction-ease),
		background-color 320ms ease;
}

.jessie-gutenberg-home :where(.portrait-shape img, .site-visual img, .article__image img) {
	transform: scale(1.001);
	transition:
		transform 1100ms cubic-bezier(.19, 1, .22, 1),
		filter 700ms ease;
	will-change: transform;
}

.jessie-gutenberg-home .care-price,
.jessie-gutenberg-home .care-lead,
.jessie-gutenberg-home .care-closing {
	transition:
		background-color 260ms ease,
		color 260ms ease,
		transform 360ms var(--home-interaction-ease),
		border-color 260ms ease;
}

.jessie-gutenberg-home .home-interactive-card:focus-within {
	border-color: rgba(184, 149, 93, 0.52);
	box-shadow: var(--home-interaction-shadow);
}

.jessie-gutenberg-home .home-interactive-card a:focus-visible,
.jessie-gutenberg-home .home-interactive-card button:focus-visible,
.jessie-gutenberg-home .home-interactive-card summary:focus-visible {
	outline: 2px solid var(--home-interaction-accent);
	outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
	.jessie-gutenberg-home #corps .care-detail:hover,
	.jessie-gutenberg-home #corps .care-detail:focus-within {
		border-color: rgba(184, 149, 93, .42) !important;
		box-shadow:
			0 18px 34px rgba(55, 47, 44, .18),
			0 7px 16px rgba(184, 149, 93, .18),
			0 0 0 1px rgba(255, 253, 248, .72) inset !important;
		transform: translate3d(0, -8px, 0) scale(1.01) !important;
	}

	.jessie-gutenberg-home #corps .care-detail:hover .site-visual,
	.jessie-gutenberg-home #corps .care-detail:focus-within .site-visual {
		box-shadow:
			0 13px 24px rgba(55, 47, 44, .18),
			0 5px 12px rgba(184, 149, 93, .16) !important;
	}

	.jessie-gutenberg-home .home-interactive-card:hover {
		border-color: rgba(184, 149, 93, 0.44);
		box-shadow:
			var(--home-interaction-shadow),
			0 13px 28px rgba(184, 149, 93, 0.12),
			0 0 0 1px rgba(184, 149, 93, 0.14) inset;
		filter: none !important;
		transform: translate3d(0, -12px, 0) scale(1.014);
	}

	.jessie-gutenberg-home .care-detail.home-interactive-card:hover,
	.jessie-gutenberg-home .support-panel.home-interactive-card:hover {
		box-shadow:
			0 18px 34px rgba(55, 47, 44, 0.18),
			0 7px 16px rgba(184, 149, 93, 0.14);
		transform: translate3d(0, -8px, 0) scale(1.01);
	}

	.jessie-gutenberg-home .home-interactive-card:hover::before {
		opacity: .34;
		transform: translate3d(-2px, -2px, 0);
	}

	.jessie-gutenberg-home .approach-card:hover,
	.jessie-gutenberg-home .service:hover,
	.jessie-gutenberg-home .support-panel:hover,
	.jessie-gutenberg-home .care-detail:hover {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		filter: none !important;
	}

	.jessie-gutenberg-home .home-interactive-card:hover h3 {
		transform: translate3d(0, -3px, 0);
	}

	.jessie-gutenberg-home .home-interactive-card:hover .service-foot,
	.jessie-gutenberg-home .home-interactive-card:hover .article__read {
		transform: translate3d(6px, 0, 0);
	}

	.jessie-gutenberg-home .care-detail.home-interactive-card:hover .care-price {
		background: rgba(255, 253, 248, .76);
		border-color: rgba(184, 149, 93, .32);
		color: var(--home-interaction-accent);
		transform: translate3d(-3px, 0, 0);
	}

	.jessie-gutenberg-home .care-detail.home-interactive-card:hover .care-lead {
		color: var(--ink, #372f2c);
		transform: translate3d(0, -4px, 0);
	}

	.jessie-gutenberg-home :where(.btn, .source-btn .wp-block-button__link, .hero-actions a, .contact-actions a):hover {
		transform: translate3d(0, -3px, 0);
		box-shadow: 0 17px 34px rgba(55, 47, 44, 0.14);
	}

	.jessie-gutenberg-home :where(.portrait-wrap, .site-visual, .paper, .article__image):hover img,
	.jessie-gutenberg-home .care-detail.home-interactive-card:hover .site-visual img {
		filter: saturate(1.04) contrast(1.02);
		transform: scale(1.055);
	}

	.jessie-gutenberg-home .care-detail.home-interactive-card:hover::after {
		transform: translate3d(-8px, 8px, 0) scale(1.08);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.jessie-gutenberg-home.home-interactions-ready .home-section-reveal.is-section-pending {
		opacity: 0 !important;
		transform: translate3d(0, 42px, 0) !important;
	}

	.jessie-gutenberg-home.home-interactions-ready .home-section-reveal.is-section-visible {
		opacity: 1 !important;
		transform: translate3d(0, 0, 0) !important;
		transition:
			opacity 760ms ease,
			transform 900ms var(--home-interaction-ease);
		transition-delay: var(--home-section-delay, 0ms);
	}

	.jessie-gutenberg-home.home-interactions-ready .home-section-reveal.is-animating-in::before {
		animation: homeSoftWash 900ms ease both;
	}

	.jessie-gutenberg-home.home-interactions-ready .home-reveal-sequence.is-home-pending > .home-reveal-step {
		opacity: 0 !important;
		transform: translate3d(0, 38px, 0) !important;
	}

	.jessie-gutenberg-home.home-interactions-ready .home-reveal-sequence.is-home-visible > .home-reveal-step {
		opacity: 1 !important;
		transform: translate3d(0, 0, 0) !important;
		transition:
			opacity 720ms var(--home-interaction-ease),
			transform 880ms var(--home-interaction-ease);
		transition-delay: var(--home-reveal-delay, 0ms);
	}

	.jessie-gutenberg-home.home-interactions-ready .home-reveal-sequence.is-home-visible > .home-reveal-step:nth-child(2n) {
		transition-duration: 840ms, 1020ms;
	}

	@keyframes homeSoftWash {
		0% {
			opacity: .42;
			transform: translate3d(-18px, 0, 0) scaleX(.985);
		}

		100% {
			opacity: 0;
			transform: translate3d(18px, 0, 0) scaleX(1);
		}
	}
}

@media (hover: none), (pointer: coarse) {
	.jessie-gutenberg-home .home-interactive-card,
	.jessie-gutenberg-home .home-interactive-card:hover {
		transform: none;
	}

}

@media (max-width: 980px) {
	.jessie-gutenberg-home #contact .contact-box {
		grid-template-columns: 1fr !important;
		gap: 1.35rem !important;
	}

	.jessie-gutenberg-home #contact .contact-card {
		width: 100%;
	}
}

@media (max-width: 620px) {
	.jessie-gutenberg-home #contact .contact-actions {
		align-items: stretch !important;
	}

	.jessie-gutenberg-home #contact .contact-actions .wp-block-button,
	.jessie-gutenberg-home #contact .contact-actions .wp-block-button__link {
		width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jessie-gutenberg-home,
	.jessie-gutenberg-home * {
		scroll-behavior: auto;
	}

	.jessie-gutenberg-home .home-interactive-card,
	.jessie-gutenberg-home .home-interactive-card h3,
	.jessie-gutenberg-home .home-interactive-card .service-tag,
	.jessie-gutenberg-home .home-interactive-card .service-foot,
	.jessie-gutenberg-home .home-interactive-card .article__read,
	.jessie-gutenberg-home .home-reveal-step {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.jessie-gutenberg-home .home-section-reveal,
	.jessie-gutenberg-home .home-reveal-step {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
