/*
Theme Name: AstroGabii
Version: 1.0.0
Text Domain: astrogabii
*/

:root {
	--color-background: #e7e0d8;
	--color-ink: #573a30;
	--color-cream: #f5f0e9;
	--color-blush: #d5b8ad;
	--color-olive: #65705a;
	--color-warm-brown: #8a6658;
	--font-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--font-sans: "Manrope", Arial, sans-serif;
	--content-width: 1120px;
}

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

html {
	overflow-x: hidden;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--color-background);
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-serif);
}

button, input, select, textarea {
	font-family: var(--font-sans);
}

p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
	overflow-wrap: anywhere;
}

.text-justify {
	text-align: justify;
}

a {
	color: 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 {
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 10px 14px;
	margin: 0;
	overflow: visible;
	clip: auto;
	background: var(--color-cream);
	color: var(--color-ink);
	font-size: 14px;
	font-weight: 600;
	white-space: normal;
}

.site-header {
	position: relative;
	z-index: 100;
	background: #fbf6ed;
	border-bottom: 1px solid rgba(87, 58, 48, 0.18);
}

.site-header__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	width: 100%;
	max-width: var(--content-width);
	min-height: 76px;
	margin: 0 auto;
	padding: 0 20px;
}

.site-branding {
	min-width: 0;
}

.site-branding__wordmark {
	display: block;
	width: clamp(156px, 15vw, 205px);
	text-decoration: none;
}

.site-branding__wordmark img {
	display: block;
	width: 100%;
	height: auto;
}

.site-branding__wordmark:hover {
	opacity: 0.78;
}

.site-nav {
	position: absolute;
	top: calc(100% + 1px);
	left: 20px;
	right: 20px;
	display: none;
	padding: 10px 18px 18px;
	background: var(--color-cream);
	border: 1px solid rgba(87, 58, 48, 0.16);
	box-shadow: 0 18px 40px rgba(87, 58, 48, 0.12);
}

.site-header.is-navigation-open .site-nav {
	display: block;
}

.site-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__list a {
	display: flex;
	align-items: center;
	min-height: 52px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.01em;
	border-bottom: 1px solid rgba(87, 58, 48, 0.12);
}

.site-nav__list li:last-child a {
	border-bottom: 0;
}

.site-nav__list a:hover,
.site-nav__list a:focus-visible,
.site-nav__list .current-menu-item > a,
.site-nav__list .current_page_item > a {
	color: var(--color-warm-brown);
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.site-header__account,
.site-header__cart {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	text-decoration: none;
	border-radius: 50%;
}

.site-header__account {
	display: inline-flex;
}

.site-header__cart {
	display: inline-flex;
	position: relative;
}

.site-header__cart-count {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--color-ink);
	color: #fff;
	font: 600 10px/18px Manrope, sans-serif;
	text-align: center;
	box-sizing: border-box;
}

.site-header__cart-count[hidden] {
	display: none;
}

.site-header__account:hover,
.site-header__account:focus-visible,
.site-header__cart:hover,
.site-header__cart:focus-visible {
	background: rgba(87, 58, 48, 0.08);
}

.site-header__account svg,
.site-header__cart svg {
	width: 21px;
	height: 21px;
}

.navigation-toggle {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 48px;
	height: 48px;
	padding: 0;
	color: var(--color-ink);
	background: transparent;
	border: 0;
	cursor: pointer;
}

.navigation-toggle__line {
	display: block;
	width: 24px;
	height: 1.5px;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

.navigation-toggle[aria-expanded="true"] .navigation-toggle__line:first-child {
	transform: translateY(3.25px) rotate(45deg);
}

.navigation-toggle[aria-expanded="true"] .navigation-toggle__line:last-child {
	transform: translateY(-3.25px) rotate(-45deg);
}

@media (max-width: 374px) {
	.site-header__inner { padding-inline: 14px; }
	.site-branding__wordmark { width: 132px; }
	.site-header__account,
	.site-header__cart { width: 38px; }
	.navigation-toggle { width: 42px; }
}

.site-branding__wordmark:focus-visible,
.site-nav__list a:focus-visible,
.site-header__account:focus-visible,
.site-header__cart:focus-visible,
.navigation-toggle:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 4px;
}

.site-main--woocommerce {
	min-height: 0;
	padding: clamp(26px, 3.5vw, 42px) 20px;
}

.woocommerce-shell {
	width: 100%;
	max-width: var(--content-width);
	margin: 0 auto;
}

.site-main--page {
	min-height: 0;
	padding: clamp(26px, 3.5vw, 42px) 20px;
}

.page-shell {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}

.page-header h1 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(34px, 4vw, 46px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.page-content {
	margin-top: 18px;
	font-size: 15px;
	line-height: 1.78;
}

/* WooCommerce */

.catalog-page {
	min-height: 0;
	padding: clamp(26px, 3.5vw, 42px) 20px clamp(34px, 4.5vw, 54px);
}

.catalog-shell {
	width: 100%;
	max-width: var(--content-width);
	margin: 0 auto;
}

.catalog-intro,
.catalog-page__intro {
	position: relative;
	gap: 20px;
	align-items: center;
	min-height: 0;
	margin-bottom: clamp(20px, 2.5vw, 30px);
	padding: clamp(22px, 2.8vw, 32px);
	overflow: hidden;
	background: rgba(245, 240, 233, 0.74);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 12px;
}

.catalog-intro {
	display: grid;
}

.catalog-page__intro {
	display: block;
}

.catalog-page__intro--olive {
	background: #d4d4c5;
}

.catalog-page__intro--blush {
	background: #dfccc4;
}

.catalog-intro__copy,
.catalog-page__intro > * {
	position: relative;
	z-index: 1;
}

.catalog-intro h1,
.catalog-page__intro h1,
.woocommerce div.product .product_title,
.woocommerce .woocommerce-products-header__title,
.woocommerce .related.products > h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.catalog-intro h1,
.catalog-page__intro h1 {
	max-width: 700px;
	font-size: clamp(30px, 3.25vw, 40px);
}

.catalog-intro__copy > p:last-child,
.catalog-page__intro > p:last-child {
	max-width: 620px;
	margin: 16px 0 0;
	font-size: 14px;
	line-height: 1.7;
}

.catalog-page--analyses .catalog-page__intro {
	margin-bottom: 0;
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
}

.catalog-page--analyses .catalog-page__intro h1,
.catalog-page--analyses .catalog-page__intro > p:last-child {
	max-width: none;
}

.catalog-page--analyses .analysis-process {
	margin: 0 auto 26px;
	padding: 0 clamp(22px, 2.8vw, 32px);
	background: rgba(245, 240, 233, 0.74);
	border-top: 0;
	border-radius: 0 0 18px 18px;
}

.catalog-page--analyses .analysis-process[open] {
	padding-bottom: 22px;
}

.catalog-page--analyses .analysis-process__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	padding: 14px 0;
	border-top: 1px solid rgba(87, 58, 48, 0.16);
	color: var(--color-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}

.catalog-page--analyses .analysis-process__summary::-webkit-details-marker { display: none; }

.catalog-page--analyses .analysis-process__summary::after {
	content: '';
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-right: 3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}

.catalog-page--analyses .analysis-process[open] > .analysis-process__summary::after {
	transform: translateY(2px) rotate(225deg);
}

.catalog-page--analyses .analysis-process__summary:focus-visible {
	outline: 2px solid var(--color-olive);
	outline-offset: 3px;
}

.catalog-page--analyses .analysis-process > .section-kicker { display: none; }

.catalog-page--analyses .analysis-process > h2 { margin-top: 14px; }

.catalog-page--learning .catalog-page__intro,
.catalog-page--meditations .catalog-page__intro {
	margin-bottom: 0;
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
}

.catalog-page--learning .catalog-page__intro > p:last-child,
.catalog-page--meditations .catalog-page__intro > p:last-child { max-width: none; }

.catalog-page--learning .learning-space__details,
.catalog-page--meditations .meditation-space__details {
	margin: 0 0 26px;
	padding: 0 clamp(22px, 2.8vw, 32px);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-top: 0;
	border-radius: 0 0 18px 18px;
}

.catalog-page--learning .learning-space__details { background: #d4d4c5; }
.catalog-page--meditations .meditation-space__details { background: #dfccc4; }

.catalog-page--learning .learning-space__details[open],
.catalog-page--meditations .meditation-space__details[open] { padding-bottom: 18px; }

.catalog-page--learning .learning-space__details > summary,
.catalog-page--meditations .meditation-space__details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	padding: 14px 0;
	border-top: 1px solid rgba(87, 58, 48, 0.16);
	color: var(--color-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}

.catalog-page--learning .learning-space__details > summary::-webkit-details-marker,
.catalog-page--meditations .meditation-space__details > summary::-webkit-details-marker { display: none; }
.catalog-page--learning .learning-space__details > summary::after,
.catalog-page--meditations .meditation-space__details > summary::after {
	content: '';
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-right: 3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}
.catalog-page--learning .learning-space__details[open] > summary::after,
.catalog-page--meditations .meditation-space__details[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.catalog-page--learning .learning-space__details > summary:focus-visible,
.catalog-page--meditations .meditation-space__details > summary:focus-visible { outline: 2px solid var(--color-olive); outline-offset: 3px; }
.catalog-page--learning .learning-space__details > p,
.catalog-page--meditations .meditation-space__details > p { margin: 4px 0 10px; font-size: 14px; line-height: 1.65; text-align: justify; hyphens: auto; }
.catalog-page--learning .learning-space__details > p:last-child,
.catalog-page--meditations .meditation-space__details > p:last-child { margin-bottom: 0; }

.catalog-page--analyses .astrogabii-product-loop ul.products li.product a.woocommerce-LoopProduct-link,
.catalog-page--learning .astrogabii-product-loop ul.products li.product a.woocommerce-LoopProduct-link {
	grid-template-rows: 24px 108px auto;
}

.catalog-page--analyses .astrogabii-product-loop ul.products li.product .woocommerce-loop-product__title,
.catalog-page--learning .astrogabii-product-loop ul.products li.product .woocommerce-loop-product__title {
	align-self: center;
}

.catalog-page--analyses .astrogabii-product-loop .ag-loop-product__excerpt,
.catalog-page--learning .astrogabii-product-loop .ag-loop-product__excerpt {
	text-align: left;
	hyphens: none;
}

.catalog-page--analyses .astrogabii-product-loop ul.products li.product .price,
.catalog-page--learning .astrogabii-product-loop ul.products li.product .price {
	bottom: 24px;
}

.catalog-page--analyses .astrogabii-product-loop ul.products li.product .button,
.catalog-page--learning .astrogabii-product-loop ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	bottom: 14px;
	min-height: 42px;
	padding: 0 16px;
	text-align: center;
}

.catalog-intro__visual {
	position: absolute;
	right: clamp(22px, 7vw, 88px);
	bottom: -48px;
	width: 190px;
	aspect-ratio: 1;
	border: 1px solid rgba(87, 58, 48, 0.16);
	border-radius: 50% 50% 8px 8px;
	opacity: 0.68;
}

.catalog-intro__visual::before,
.catalog-intro__visual::after {
	position: absolute;
	content: "";
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 50%;
}

.catalog-intro__visual::before {
	top: 22%;
	left: 22%;
	width: 56%;
	height: 56%;
}

.catalog-intro__visual::after {
	top: 48%;
	left: 8%;
	width: 84%;
	height: 1px;
	border-width: 1px 0 0;
	border-radius: 0;
	transform: rotate(-24deg);
}

.catalog-intro__visual span {
	position: absolute;
	z-index: 1;
	width: 8px;
	height: 8px;
	background: var(--color-warm-brown);
	border-radius: 50%;
	opacity: 0.46;
}

.catalog-intro__visual span:nth-child(1) {
	top: 20%;
	left: 46%;
}

.catalog-intro__visual span:nth-child(2) {
	top: 48%;
	right: 10%;
}

.catalog-intro__visual span:nth-child(3) {
	bottom: 14%;
	left: 32%;
}

.learning-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-bottom: 24px;
	padding: 12px 16px;
	background: rgba(245, 240, 233, 0.48);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
}

.learning-filters__label {
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.learning-filters__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.learning-filters__chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 13px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.28);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.learning-filters__chip:hover {
	background: rgba(245, 240, 233, 0.9);
}

.learning-filters__chip.is-active,
.learning-filters__chip.is-active:hover {
	color: var(--color-cream);
	background: var(--color-ink);
	border-color: var(--color-ink);
}

.learning-filters__chip:focus-visible {
	outline: 2px solid var(--color-olive);
	outline-offset: 3px;
}

.catalog-filters {
	display: grid;
	gap: 16px;
	align-items: end;
	margin-bottom: 12px;
	padding: 16px 18px;
	background: rgba(245, 240, 233, 0.48);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
}

.catalog-filters__group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.catalog-filters__group legend,
.catalog-filters__select {
	width: 100%;
	margin: 0;
	color: var(--color-ink);
	font-family: var(--font-sans);
	display: grid;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.catalog-filters__group legend {
	display: block;
	margin-bottom: 7px;
}

.catalog-filters__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.catalog-filters__choice {
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.catalog-filters__choice input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.catalog-filters__choice span {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.28);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.catalog-filters__choice:hover span {
	background: rgba(245, 240, 233, 0.9);
}

.catalog-filters__choice input:checked + span,
.catalog-filters__choice input:checked + span:hover {
	color: var(--color-cream);
	background: var(--color-ink);
	border-color: var(--color-ink);
}

.catalog-filters__choice input:focus-visible + span,
.catalog-filters__select select:focus-visible,
.catalog-filters__submit:focus-visible,
.catalog-filters__active a:focus-visible {
	outline: 2px solid var(--color-olive);
	outline-offset: 3px;
}

.catalog-filters__select select {
	width: 100%;
	min-height: 38px;
	padding: 7px 11px;
	color: var(--color-ink);
	background: var(--color-cream);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 13px;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.catalog-filters__active {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 10px;
}

.catalog-filters__active-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 30px;
	padding: 4px 10px;
	background: rgba(245, 240, 233, 0.7);
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 999px;
	font-size: 12px;
	text-decoration: none;
}

.catalog-filters__active-chip:hover {
	background: var(--color-cream);
}

.catalog-filters__active-chip span {
	font-size: 16px;
	line-height: 1;
}

.catalog-filters__clear {
	margin-left: 5px;
	font-size: 12px;
	text-underline-offset: 3px;
}

.catalog-filters__count {
	margin: 0 0 16px;
	color: var(--color-warm-brown);
	font-size: 12px;
	text-align: left;
}

.ag-product-field input,
.ag-product-field select,
.ag-product-field textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.52);
	border: 1px solid rgba(87, 58, 48, 0.22);
	border-radius: 7px;
	font: inherit;
}

.catalog-filters button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce #respond input#submit {
	min-height: 42px;
	padding: 10px 18px;
	color: var(--color-cream);
	background: var(--color-ink);
	border: 1px solid var(--color-ink);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.catalog-filters button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	color: var(--color-cream);
	background: var(--color-warm-brown);
	border-color: var(--color-warm-brown);
}

.catalog-filters .catalog-filters__submit {
	justify-self: start;
	min-height: 38px;
	padding: 8px 17px;
	font-size: 13px;
}

@media (min-width: 720px) and (max-width: 959px) {
	.catalog-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.catalog-filters .catalog-filters__submit {
		justify-self: end;
	}
}

@media (min-width: 960px) {
	.catalog-filters {
		grid-template-columns: minmax(280px, 1.35fr) minmax(190px, 0.95fr) minmax(170px, 0.8fr) auto;
	}
}

@media (max-width: 719px) {
	.catalog-filters .catalog-filters__submit {
		justify-self: stretch;
		width: 100%;
	}
}

.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt.disabled:hover {
	color: var(--color-cream);
	background: var(--color-ink);
	border-color: var(--color-ink);
	opacity: 0.5;
}

.woocommerce .woocommerce-result-count {
	margin: 0 0 22px;
	font-size: 12px;
	opacity: 0.7;
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 22px;
}

.woocommerce .woocommerce-ordering select {
	min-height: 40px;
	padding: 7px 34px 7px 11px;
	color: var(--color-ink);
	background: rgba(245, 240, 233, 0.72);
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 7px;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.astrogabii-product-loop ul.products {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	float: none;
	flex-direction: column;
	width: 100% !important;
	max-width: none;
	margin: 0;
	min-width: 0;
	min-height: 276px;
	padding: 12px 12px 56px;
	overflow: hidden;
	background: rgba(245, 240, 233, 0.74);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(87, 58, 48, 0.045);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: rgba(87, 58, 48, 0.2);
	box-shadow: 0 16px 38px rgba(87, 58, 48, 0.075);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	grid-template-rows: 14px 118px auto;
	column-gap: 16px;
	row-gap: 0;
	align-items: start;
	min-width: 0;
	height: auto;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product a img {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 132px;
	height: 132px;
	margin: 0;
	object-fit: cover;
	background: #d4c2b8;
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 14px;
}

.ag-loop-product__badge {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	padding: 5px 9px;
	color: #fff;
	background: var(--color-olive);
	border-radius: 999px;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(87, 58, 48, 0.16);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	padding: 0;
	overflow: hidden;
	font-family: var(--font-serif);
	font-size: clamp(19px, 1.8vw, 22px);
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.02em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ag-loop-product__meta {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	margin: 0;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	opacity: 0.66;
}

.ag-loop-product__meta a {
	text-decoration: none;
}

.ag-loop-product__excerpt {
	display: -webkit-box;
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 8px 0 0;
	overflow: hidden;
	font-size: 12px;
	line-height: 1.58;
	opacity: 0.76;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.woocommerce ul.products li.product .price {
	position: absolute;
	left: 12px;
	bottom: 18px;
	margin: 0;
	color: var(--color-ink);
	font-family: var(--font-serif);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.1;
}

.woocommerce ul.products li.product .button {
	position: absolute;
	right: 12px;
	bottom: 10px;
	max-width: calc(100% - 116px);
	margin: 0;
	padding-right: 16px;
	padding-left: 16px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ag-audio-preview audio {
	display: none;
}

.ag-audio-preview--card {
	position: absolute;
	right: 12px;
	bottom: 56px;
	left: 12px;
	padding: 14px 0;
	border-top: 1px solid rgba(87, 58, 48, 0.14);
	border-bottom: 1px solid rgba(87, 58, 48, 0.14);
}

.woocommerce ul.products li.product:has(.ag-audio-preview--card),
.woocommerce-page ul.products li.product:has(.ag-audio-preview--card) {
	min-height: 334px;
	padding-bottom: 136px;
}

.ag-audio-preview__button {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	width: 100%;
	padding: 0;
	color: var(--color-ink);
	font: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 160ms ease;
}

.ag-audio-preview__button:focus-visible {
	outline: 2px solid var(--color-olive);
	outline-offset: 4px;
}

.ag-audio-preview__icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	font-size: 10px;
	line-height: 1;
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.ag-audio-preview__time {
	font-variant-numeric: tabular-nums;
	font-size: 11px;
	opacity: 0.64;
}

.ag-audio-preview__button--editorial {
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 14px;
	min-height: 52px;
}

.ag-audio-preview__button--editorial .ag-audio-preview__icon {
	width: 52px;
	height: 52px;
	border: 1px solid var(--color-ink);
	border-radius: 50%;
}

.ag-audio-preview__button--editorial:hover .ag-audio-preview__icon,
.ag-audio-preview__button--editorial:focus-visible .ag-audio-preview__icon,
.ag-audio-preview--card.is-playing .ag-audio-preview__icon {
	color: #fff;
	background: var(--color-olive);
	border-color: var(--color-olive);
	transform: scale(1.04);
}

.ag-audio-preview__editorial-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
	color: rgba(87, 58, 48, 0.68);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
}

.ag-audio-preview__wave {
	display: flex;
	align-items: center;
	gap: 3px;
	height: 30px;
}

.ag-audio-preview__wave i {
	display: block;
	width: 3px;
	height: var(--ag-wave-height);
	background: rgba(87, 58, 48, 0.34);
	border-radius: 2px;
	transition: height 180ms ease, background 180ms ease;
}

.ag-audio-preview--card.is-playing .ag-audio-preview__wave i:nth-child(3n + 1) {
	height: calc(var(--ag-wave-height) + 4px);
	background: var(--color-olive);
}

.ag-audio-preview--single {
	position: relative;
	max-width: 390px;
	margin: 18px 0 24px;
	padding: 16px 17px 14px;
	overflow: hidden;
	background: rgba(255, 253, 249, 0.82);
	border: 1px solid rgba(87, 58, 48, 0.14);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(68, 48, 40, 0.08);
}

.ag-audio-preview--single::after {
	position: absolute;
	right: -30px;
	bottom: -46px;
	width: 112px;
	height: 112px;
	background: rgba(200, 176, 160, 0.12);
	border-radius: 50%;
	content: '';
}

.ag-audio-preview__kicker {
	display: block;
	margin-bottom: 10px;
	color: rgba(87, 58, 48, 0.68);
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ag-audio-preview__button--soft {
	position: relative;
	z-index: 1;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 12px;
	min-height: 46px;
}

.ag-audio-preview__button--soft .ag-audio-preview__icon {
	width: 44px;
	height: 44px;
	color: #fff;
	background: var(--color-olive);
	border-radius: 50%;
	box-shadow: 0 7px 16px rgba(111, 124, 96, 0.24);
}

.ag-audio-preview__button--soft:hover .ag-audio-preview__icon,
.ag-audio-preview__button--soft:focus-visible .ag-audio-preview__icon,
.ag-audio-preview--single.is-playing .ag-audio-preview__icon {
	background: var(--color-ink);
	transform: scale(1.04);
}

.ag-audio-preview__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.ag-audio-preview__copy strong {
	font-family: var(--font-serif);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.1;
}

.ag-audio-preview__copy small {
	color: rgba(87, 58, 48, 0.64);
	font-size: 11px;
	line-height: 1.2;
}

.ag-audio-preview__track {
	position: relative;
	z-index: 1;
	display: block;
	height: 3px;
	margin: 13px 0 0 56px;
	overflow: hidden;
	background: rgba(87, 58, 48, 0.12);
	border-radius: 999px;
}

.ag-audio-preview__track > span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--color-olive);
	border-radius: inherit;
	transition: width 120ms linear;
}

.woocommerce ul.products li.product .star-rating {
	display: none;
}

/* Course video preview */
body.ag-course-video-is-open {
	overflow: hidden;
}

.ag-course-video-preview {
	position: relative;
	width: min(100%, 360px);
	justify-self: center;
	align-self: start;
	padding: 15px;
	border: 1px solid rgba(87, 58, 48, 0.13);
	border-radius: 18px;
	background:
		radial-gradient(circle at 108% 118%, rgba(213, 184, 173, 0.2) 0 78px, transparent 79px),
		var(--color-cream);
	box-shadow: 0 16px 42px rgba(69, 49, 40, 0.07);
}

.ag-course-video-preview-column {
	display: flex;
	flex-direction: column;
	width: min(100%, 360px);
	justify-self: center;
	align-self: start;
}

.site-main--product div.product:has(> .ag-course-video-preview-column) > .ag-course-video-preview-column > div.images {
	width: 100%;
	margin: 0;
}

.site-main--product div.product:has(> .ag-course-video-preview-column) > .ag-course-video-preview-column > div.images .woocommerce-product-gallery__image img {
	aspect-ratio: 4 / 3;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -8px 30px rgba(87, 58, 48, 0.06);
}

.site-main--product div.product .ag-course-video-preview-column > .ag-course-video-preview {
	width: 100%;
	margin-bottom: 24px;
	border-top: 0;
	border-radius: 0 0 18px 18px;
}

.ag-course-video-preview__kicker {
	display: block;
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-olive);
}

.ag-course-video-preview__button {
	position: relative;
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	width: 100%;
	min-height: 104px;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(87, 58, 48, 0.15);
	border-radius: 14px;
	background: #f8f3ed;
	color: var(--color-ink);
	text-align: left;
	cursor: pointer;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.ag-course-video-preview__button:hover,
.ag-course-video-preview__button:focus-visible {
	border-color: rgba(101, 112, 90, 0.5);
	box-shadow: 0 12px 28px rgba(69, 49, 40, 0.1);
	transform: translateY(-1px);
}

.ag-course-video-preview__thumb {
	position: relative;
	height: 100%;
	min-height: 104px;
	overflow: hidden;
	background: #e8dfd5;
}

.ag-course-video-preview__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ag-course-video-preview__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: rgba(250, 247, 242, 0.92);
	box-shadow: 0 5px 18px rgba(40, 28, 24, 0.18);
	color: var(--color-olive);
	font-size: 16px;
	transform: translate(-50%, -50%);
}

.ag-course-video-preview__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 18px 17px 28px;
	font-size: 15px;
	line-height: 1.35;
}

.ag-course-video-preview__copy strong {
	font-size: 15px;
	font-weight: 700;
}

.ag-course-video-preview__copy small {
	margin-top: 5px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--color-warm-brown);
}

.ag-course-video-preview__time {
	position: absolute;
	right: 15px;
	bottom: 9px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--color-warm-brown);
}

.ag-course-video-preview__track {
	display: block;
	height: 2px;
	margin-top: 12px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(87, 58, 48, 0.1);
}

.ag-course-video-preview__track span {
	display: block;
	width: 36%;
	height: 100%;
	background: var(--color-olive);
}

.ag-course-video-modal {
	position: fixed;
	inset: 0;
	z-index: 100100;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 28px;
	background: rgba(45, 32, 27, 0.76);
}

.ag-course-video-modal.is-open,
.ag-course-video-modal[aria-hidden="false"] {
	display: flex;
}

.ag-course-video-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 470px);
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 22px;
	background: #f7f1ea;
	box-shadow: 0 28px 80px rgba(26, 17, 14, 0.38);
}

.ag-course-video-modal__heading {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 0 46px 14px 0;
	font-family: var(--font-serif);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--color-ink);
}

.ag-course-video-modal__heading span:last-child {
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--color-warm-brown);
}

.ag-course-video-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.78);
	color: var(--color-ink);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.ag-course-video-modal__media {
	overflow: hidden;
	border-radius: 14px;
	background: #1f1916;
}

.ag-course-video-modal__media video {
	display: block;
	width: 100%;
	max-height: min(72vh, 720px);
	background: #1f1916;
	object-fit: contain;
}

.ag-course-video-modal__note {
	margin: 12px 2px 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--color-warm-brown);
}

@media (max-width: 479px) {
	.ag-course-video-preview {
		width: 100%;
		padding: 13px;
	}

	.ag-course-video-preview__button {
		grid-template-columns: 102px minmax(0, 1fr);
	}

	.ag-course-video-modal {
		padding: 12px;
	}

	.ag-course-video-modal__dialog {
		padding: 14px;
		border-radius: 18px;
	}
}

@media (min-width: 768px) {
	.site-main--product div.product:has(> .ag-course-video-preview-column) {
		grid-template-columns: 280px minmax(0, 1fr);
		column-gap: 32px;
		row-gap: 0;
	}

	.site-main--product div.product:has(> .ag-course-video-preview-column) > .ag-course-video-preview-column {
		grid-column: 1;
		grid-row: 1;
		width: 280px;
	}

	.site-main--product div.product:has(> .ag-course-video-preview-column) > div.summary {
		grid-column: 2;
		grid-row: 1;
	}

	.site-main--product div.product:has(> .ag-course-video-preview-column) > .woocommerce-tabs,
	.site-main--product div.product:has(> .ag-course-video-preview-column) > .related {
		grid-column: 1 / -1;
	}
}

@media (min-width: 960px) {
	.site-main--product div.product:has(> .ag-course-video-preview-column) {
		grid-template-columns: 300px minmax(0, 1fr);
		column-gap: 42px;
	}

	.site-main--product div.product:has(> .ag-course-video-preview-column) > .ag-course-video-preview-column {
		width: 300px;
	}
}

.catalog-empty {
	padding: 28px;
	text-align: center;
	background: rgba(245, 240, 233, 0.52);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 10px;
}

.site-main--product {
	padding-top: clamp(26px, 3vw, 38px);
	padding-bottom: clamp(36px, 4.5vw, 54px);
}

.ag-product-collection-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	color: var(--color-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.ag-product-collection-back:hover { text-decoration: underline; }
.ag-product-collection-back:focus-visible { outline: 2px solid var(--color-olive); outline-offset: 4px; }

.site-main--product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
}

.site-main--product div.product div.images,
.site-main--product div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.site-main--product div.product div.images {
	width: min(100%, 280px);
	justify-self: center;
	align-self: start;
}

.site-main--product div.product div.images .woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #d8c6bc;
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(87, 58, 48, 0.07);
}

.site-main--product div.product div.summary {
	max-width: 740px;
	padding: clamp(22px, 3vw, 32px);
	background: rgba(245, 240, 233, 0.46);
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 16px;
}

.woocommerce div.product .product_title {
	font-size: clamp(31px, 3.4vw, 40px);
	line-height: 1.02;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 12px 0 18px;
	color: var(--color-ink);
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 600;
}

.woocommerce-product-details__short-description {
	max-width: 680px;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.68;
}

.woocommerce div.product form.cart {
	margin-top: 24px;
	margin-bottom: 28px;
}

.woocommerce div.product:has(form.variations_form) .woocommerce-product-details__short-description {
	margin-bottom: 14px;
}

.woocommerce div.product form.cart:has(.variations) {
	margin-top: 16px;
	margin-bottom: 18px;
}

.woocommerce div.product form.cart .variations {
	display: block;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	display: block;
	width: 100%;
	padding: 0;
	text-align: left;
}

.woocommerce div.product form.cart .variations label {
	display: block;
	margin: 0 0 6px;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--color-olive);
}

.woocommerce div.product form.cart .variations td.value {
	position: relative;
	line-height: 1;
}

.woocommerce div.product form.cart .variations select {
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 8px 13px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(101, 112, 90, 0.28);
	border-radius: 10px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: rgba(101, 112, 90, 0.62);
	outline: 2px solid rgba(101, 112, 90, 0.14);
	outline-offset: 2px;
}

.woocommerce div.product form.cart .variations .ag-analysis-format-note {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-warm-brown);
}

.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	position: absolute;
	top: -19px;
	right: 0;
	margin: 0;
	font-size: 10px;
	line-height: 1;
}

.woocommerce .quantity .qty {
	width: 62px;
	min-height: 42px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.54);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 7px;
}

.woocommerce div.product .product_meta {
	font-size: 12px;
	opacity: 0.72;
}

.woocommerce div.product .product_meta .sku_wrapper {
	display: none;
}

.ag-product-fields {
	min-width: 0;
	margin: 22px 0;
	padding: clamp(18px, 2.5vw, 26px);
	background: rgba(245, 240, 233, 0.72);
	border: 1px solid rgba(87, 58, 48, 0.14);
	border-radius: 18px;
}

.ag-product-fields legend {
	padding: 0 8px;
	font-family: var(--font-serif);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.1;
}

.ag-product-fields__intro {
	margin: 0 0 17px;
	font-size: 12px;
	opacity: 0.7;
}

.ag-product-fields__grid {
	display: grid;
	gap: 18px 20px;
}

.ag-product-field {
	margin: 0;
	min-width: 0;
}

.ag-product-field > label,
.ag-product-field__label {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 600;
}

.ag-product-field input,
.ag-product-field select,
.ag-product-field textarea {
	display: block;
	width: 100%;
	min-width: 0;
}

.ag-product-datetime {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ag-product-datetime label {
	min-width: 0;
	font-size: 11px;
	font-weight: 500;
}

.ag-product-datetime input { margin-top: 6px; }

.ag-product-field textarea {
	min-height: 104px;
	resize: vertical;
}

.ag-product-field small {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	line-height: 1.5;
	opacity: 0.72;
}

.ag-product-field .required {
	color: var(--color-warm-brown);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products {
	grid-column: 1 / -1;
	margin-top: 18px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: rgba(87, 58, 48, 0.18);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border-color: rgba(87, 58, 48, 0.18);
}

.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 820px;
	font-size: 14px;
	line-height: 1.75;
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs {
	width: 100%;
	margin-top: 8px;
	padding: clamp(20px, 3vw, 30px);
	background: rgba(245, 240, 233, 0.58);
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 18px;
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid rgba(87, 58, 48, 0.16);
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid rgba(87, 58, 48, 0.16);
	border-radius: 999px;
	background: transparent;
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: rgba(87, 58, 48, 0.1);
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 8px 14px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 900px;
	margin: 0;
}

body.ag-analysis-product.woocommerce div.product .woocommerce-tabs .panel > h2 {
	margin: 0 0 14px;
	font-family: var(--font-serif);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 500;
}

.woocommerce .related.products > h2 {
	margin-bottom: 22px;
	font-size: clamp(30px, 3vw, 38px);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: rgba(245, 240, 233, 0.82);
	border-top-color: var(--color-olive);
	color: var(--color-ink);
}

.home-product-loop ul.products li.product {
	min-height: 268px;
	background: rgba(255, 255, 255, 0.34);
}

.home-product-loop ul.products {
	align-items: stretch;
}

.home-product-loop .ag-loop-product__excerpt {
	min-height: 3.16em;
	-webkit-line-clamp: 2;
}

.home-product-loop ul.products li.product .button {
	min-height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.home-product-loop--analyses ul.products li.product .woocommerce-loop-product__title {
	min-height: 0;
	align-self: center;
}

.home-product-loop--learning ul.products {
	grid-template-columns: 1fr;
}

.home-product-loop--learning ul.products li.product {
	background: var(--color-cream);
}

.home-product-loop--learning {
	max-width: 1120px;
	margin: 0 auto;
}

/* Homepage */

.home-page {
	--home-section-space: clamp(22px, 2.4vw, 30px);
	--home-card-radius: 14px;
	overflow: hidden;
}

.home-shell {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
}

.home-section {
	padding-top: var(--home-section-space);
	padding-bottom: var(--home-section-space);
}

.section-kicker,
.card-meta {
	margin: 0;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.section-kicker {
	margin-bottom: 14px;
}

.home-section .section-kicker {
	margin-bottom: 10px;
}

.section-kicker--brand {
	letter-spacing: 0.08em;
	text-transform: none;
}

.home-about .section-kicker--brand,
.closing-cta .section-kicker--brand {
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.section-heading {
	margin-bottom: clamp(16px, 1.8vw, 22px);
}

.section-heading h2,
.home-about h2,
.matrix-teaser h2,
.closing-cta h2 {
	max-width: 650px;
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(30px, 3vw, 38px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
	font-optical-sizing: auto;
}

.section-heading--split > p {
	max-width: 620px;
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.65;
}

.home-directions .section-heading--split {
	display: block;
}

.home-directions .section-heading--split > p {
	max-width: none;
	margin: 10px 0 0;
	text-align: left;
}

.section-heading--row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.section-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding-bottom: 5px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	border-bottom: 1px solid currentColor;
}

.section-link span,
.button--text span,
.direction-card__arrow {
	transition: transform 180ms ease;
}

/* A masked SVG keeps the arrow aligned and avoids emoji rendering on iOS. */
.ag-arrow-ne {
	display: inline-block;
	flex: 0 0 auto;
	width: .8em;
	height: .8em;
	margin-left: .18em;
	vertical-align: -.14em;
	background-color: currentColor;
	-webkit-mask: url("assets/images/arrow-ne.svg") center / contain no-repeat;
	mask: url("assets/images/arrow-ne.svg") center / contain no-repeat;
}

.direction-card__arrow .ag-arrow-ne {
	margin-left: 0;
	vertical-align: 0;
}

.section-link:hover span,
.button--text:hover span,
.direction-card:hover .direction-card__arrow {
	transform: translate(3px, -3px);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 19px;
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.03em;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.button--primary {
	background: var(--color-ink);
	color: var(--color-cream);
}

.button--primary:hover,
.button--primary:focus-visible {
	background: var(--color-warm-brown);
}

.button--text {
	gap: 9px;
	padding-right: 21px;
	padding-left: 21px;
	border-color: rgba(87, 58, 48, 0.35);
	border-radius: 999px;
}

.button--text:hover,
.button--text:focus-visible {
	background: rgba(87, 58, 48, 0.07);
	border-color: var(--color-ink);
}

.button--light {
	background: var(--color-cream);
	color: var(--color-ink);
}

.button--light:hover,
.button--light:focus-visible {
	background: #fffaf4;
}

.button:focus-visible,
.section-link:focus-visible,
.direction-card:focus-visible,
.journal-card a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 5px;
}

.home-hero {
	position: relative;
	display: flex;
	align-items: center;
	padding: 56px 0 40px;
	overflow: hidden;
	background: #f3ece5;
}

.home-hero__inner {
	display: grid;
	column-gap: 40px;
	row-gap: 24px;
	align-items: center;
}

.home-hero .home-shell {
	max-width: 1160px;
}

.home-hero__content {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.home-hero h1 {
	max-width: 600px;
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(48px, 4vw, 54px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.035em;
	font-optical-sizing: auto;
	font-synthesis: none;
}

.home-hero h1 span,
.home-hero h1 em {
	display: block;
}

.home-hero h1 em {
	font-weight: 400;
	font-style: italic;
}

.home-hero .section-kicker {
	margin-bottom: 18px;
	font-size: 13px;
}

.home-hero__intro {
	max-width: 560px;
	margin: 24px 0 0;
	font-size: 18px;
	line-height: 1.55;
}

.home-hero__closing {
	max-width: 560px;
	margin: 20px 0 0;
	font-size: 18px;
	line-height: 1.55;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 14px;
	margin-top: 26px;
}

.home-hero__rule {
	display: flex;
	align-items: center;
	gap: 14px;
	width: min(100%, 430px);
	margin-top: 20px;
}

.home-hero__rule::before {
	width: 46px;
	height: 1px;
	content: "";
	background: rgba(87, 58, 48, 0.34);
}

.home-hero__rule span {
	width: 4px;
	height: 4px;
	background: var(--color-warm-brown);
	border-radius: 50%;
	opacity: 0.52;
}

.home-hero__rule span:nth-child(2) { opacity: 0.28; }
.home-hero__rule span:nth-child(3) { opacity: 0.38; }

.home-hero__visual {
	position: relative;
	width: min(100%, 480px);
	aspect-ratio: 4 / 5;
	margin: 0 auto;
	isolation: isolate;
}

.home-hero__portrait {
	position: absolute;
	z-index: 2;
	inset: 5% 8% 0 10%;
	display: block;
	width: 82%;
	height: 95%;
	object-fit: cover;
	object-position: 38% center;
	border-radius: 46% 46% 18px 18px;
	box-shadow: 0 22px 55px rgba(87, 58, 48, 0.12);
}

.home-hero__halo {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 1%;
	width: 48%;
	aspect-ratio: 1;
	background: rgba(213, 184, 173, 0.54);
	border-radius: 50%;
}

.home-hero__orbit {
	position: absolute;
	z-index: 3;
	inset: 15% 4% 14% 5%;
	border: 1px solid rgba(87, 58, 48, 0.22);
	border-radius: 50% 50% 42% 48%;
	pointer-events: none;
}

.home-hero__visual::before {
	content: none;
}

.home-hero__visual::after {
	position: absolute;
	z-index: 4;
	top: 10%;
	left: 3%;
	content: "✦";
	color: var(--color-warm-brown);
	font-family: var(--font-serif);
	font-size: 18px;
	opacity: 0.55;
}

.home-hero__visual-quote {
	display: none;
}

.home-portals {
	padding-top: 0;
}

.home-portals__inner {
	display: grid;
	gap: 20px;
	padding: clamp(22px, 3.2vw, 34px);
	background: rgba(245, 240, 233, 0.76);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
	box-shadow: 0 14px 38px rgba(87, 58, 48, 0.045);
}

.home-portals__copy h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.home-portals__copy > p:not(.section-kicker) {
	max-width: 430px;
	margin: 10px 0 0;
	text-align: left;
	font-size: 13px;
	line-height: 1.6;
}

.home-portals__links {
	display: grid;
	gap: 10px;
}

.home-portal-link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	min-width: 0;
	padding: 14px;
	text-decoration: none;
	border: 1px solid rgba(87, 58, 48, 0.13);
	border-radius: 13px;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.home-portal-link--audio {
	background: rgba(213, 184, 173, 0.38);
}

.home-portal-link--learning {
	background: rgba(101, 112, 90, 0.15);
}

.home-portal-link:hover {
	transform: translateY(-3px);
	border-color: rgba(87, 58, 48, 0.28);
	box-shadow: 0 12px 26px rgba(87, 58, 48, 0.07);
}

.home-portal-link:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 4px;
}

.home-portal-link__icon,
.home-portal-link__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	background: rgba(245, 240, 233, 0.72);
	border-radius: 50%;
}

.home-portal-link__icon svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.home-portal-link__copy {
	display: block;
	min-width: 0;
}

.home-portal-link__copy strong,
.home-portal-link__copy small {
	display: block;
}

.home-portal-link__copy strong {
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.15;
}

.home-portal-link__copy small {
	margin-top: 4px;
	font-size: 11px;
	line-height: 1.45;
	opacity: 0.76;
}

.home-portal-link__arrow {
	width: 30px;
	height: 30px;
	font-size: 14px;
	transition: transform 180ms ease;
}

.home-portal-link:hover .home-portal-link__arrow {
	transform: translate(2px, -2px);
}

.direction-grid,
.analysis-grid,
.journal-grid {
	display: grid;
	gap: 16px;
}

.home-directions,
.home-about,
.journal-section {
	position: relative;
}

.home-directions .home-shell,
.home-about .home-shell,
.journal-section .home-shell {
	position: relative;
	z-index: 1;
}

.direction-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 150px;
	padding: 18px 20px 24px;
	text-decoration: none;
	background: var(--color-cream);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
	box-shadow: 0 10px 30px rgba(87, 58, 48, 0.035);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.direction-card--blush {
	background: #e1d1c9;
}

.direction-card--olive {
	background: #d0d0bf;
}

.direction-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 44px rgba(87, 58, 48, 0.09);
}

.direction-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(245, 240, 233, 0.52);
	border-radius: 50%;
}

.direction-card__icon svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.15;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.direction-card > div {
	margin-top: 14px;
}

.direction-card h3,
.analysis-card h3,
.learning-card h3,
.journal-card h3 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.025em;
}

.direction-card p {
	max-width: 255px;
	margin: 7px 0 0;
	font-size: 13px;
	line-height: 1.52;
}

.direction-card__arrow {
	position: absolute;
	right: 18px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	font-size: 15px;
	background: rgba(245, 240, 233, 0.46);
	border-radius: 50%;
}

.featured-analyses {
	background: rgba(245, 240, 233, 0.72);
}

.home-testimonials {
	background: #e9dfd6;
}

.home-testimonials__heading > p {
	max-width: 470px;
	opacity: 0.78;
}

.home-testimonials__grid,
.ag-product-testimonials__grid {
	display: grid;
	gap: 16px;
}

.ag-testimonial-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: clamp(15px, 1.8vw, 20px);
	overflow: hidden;
	color: var(--color-ink);
	background: rgba(255, 252, 247, 0.78);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius, 14px);
	box-shadow: 0 12px 34px rgba(87, 58, 48, 0.045);
}

.ag-testimonial-card::before {
	position: absolute;
	top: 3px;
	right: 16px;
	color: rgba(87, 58, 48, 0.1);
	font-family: var(--font-serif);
	font-size: 64px;
	font-weight: 400;
	line-height: 1;
	content: "“";
	pointer-events: none;
}

.ag-testimonial-card--blush {
	background: rgba(239, 220, 211, 0.76);
}

.ag-testimonial-card--olive {
	background: rgba(213, 214, 195, 0.78);
}

.ag-testimonial-card blockquote {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}

.ag-testimonial-card blockquote p {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(15px, 1.2vw, 17px);
	font-weight: 400;
	line-height: 1.42;
	letter-spacing: -0.015em;
}

.ag-testimonial-card figcaption {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ag-testimonial-card figcaption small {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.05em;
	opacity: 0.62;
}

.analysis-card__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	grid-row: 1 / 5;
	aspect-ratio: 0.76;
	overflow: hidden;
	border-radius: 46% 46% 5px 5px;
}

.analysis-card {
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	grid-template-rows: auto auto 1fr auto;
	gap: 0 12px;
	min-height: 140px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
	box-shadow: 0 10px 30px rgba(87, 58, 48, 0.035);
}

.analysis-card__visual::before,
.analysis-card__visual::after {
	display: none;
}

.analysis-card__visual svg {
	width: 72%;
	height: 78%;
	fill: rgba(87, 58, 48, 0.025);
	stroke: currentColor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.68;
}

.analysis-card__visual--one {
	background: #d9c4ba;
}

.analysis-card__visual--two {
	background: #c5c6b6;
}

.analysis-card__visual--three {
	background: #d2b19f;
}

.analysis-card .card-meta,
.learning-card .card-meta,
.journal-card .card-meta {
	margin-bottom: 10px;
	opacity: 0.72;
}

.analysis-card .card-meta,
.analysis-card h3,
.analysis-card > p:not(.card-meta),
.analysis-card__footer {
	grid-column: 2;
}

.analysis-card .card-meta {
	margin-bottom: 5px;
	font-size: 9px;
}

.analysis-card h3 {
	font-size: 19px;
	line-height: 1.02;
}

.analysis-card > p:not(.card-meta) {
	margin: 7px 0 5px;
	font-size: 11px;
	line-height: 1.45;
	opacity: 0.72;
}

.analysis-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	align-self: end;
	margin-top: 4px;
}

.analysis-card__price {
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 600;
}

.analysis-card__cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 50%;
}

.analysis-card__cart svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.home-about__inner {
	display: grid;
	gap: clamp(22px, 3.5vw, 44px);
	align-items: center;
}

.portrait-placeholder {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: min(100%, 300px);
	min-height: 300px;
	margin: 0;
	padding: 24px;
	overflow: hidden;
	background: radial-gradient(circle at 76% 18%, rgba(213, 184, 173, 0.7) 0 17%, transparent 18%), #c9c5b2;
	border: 1px solid rgba(87, 58, 48, 0.14);
	border-radius: 50% 50% 8px 8px;
}

.portrait-placeholder::before {
	position: absolute;
	top: 18%;
	left: 50%;
	width: 36%;
	aspect-ratio: 1;
	content: "";
	background: rgba(87, 58, 48, 0.14);
	border-radius: 50%;
	transform: translateX(-50%);
}

.portrait-placeholder::after {
	position: absolute;
	left: 50%;
	bottom: -8%;
	width: 64%;
	height: 54%;
	content: "";
	background: rgba(87, 58, 48, 0.14);
	border-radius: 50% 50% 0 0;
	transform: translateX(-50%);
}

.portrait-placeholder span {
	position: relative;
	z-index: 1;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.home-about__content {
	max-width: 670px;
}

.home-about__portrait {
	width: min(100%, 430px);
	margin: 0 auto;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 18px;
}

.home-about__portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home-about h2 {
	font-size: clamp(30px, 3vw, 36px);
}

.home-about__lead {
	margin: 16px 0 11px;
	font-family: var(--font-sans);
	font-size: 14px;
	line-height: 1.65;
}

.home-about__content > p:not(.section-kicker):not(.home-about__lead) {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.65;
}

.home-about__content > p.home-about__link { margin: 0; }

.matrix-section {
	padding: 0;
	background: var(--color-ink);
}

.matrix-teaser {
	position: relative;
	display: grid;
	gap: 20px;
	padding: clamp(20px, 2.4vw, 28px) 0;
	overflow: hidden;
	background: var(--color-ink);
	color: var(--color-cream);
	border-radius: 0;
	box-shadow: none;
}

.matrix-teaser__content {
	position: relative;
	z-index: 1;
	max-width: 660px;
}

.matrix-teaser h2 {
	font-size: clamp(30px, 3vw, 36px);
}

.matrix-teaser__content > p:not(.section-kicker) {
	max-width: 540px;
	margin: 15px 0 20px;
	font-size: 13px;
	color: rgba(245, 240, 233, 0.78);
	line-height: 1.75;
}

.matrix-teaser__content > p.matrix-teaser__link { max-width: none; margin: 0; }

.matrix-teaser__visual {
	position: relative;
	width: min(100%, 360px);
	aspect-ratio: 763 / 672;
	justify-self: center;
	align-self: center;
	overflow: hidden;
	background: transparent;
}

.matrix-teaser__visual.wp-block-image { margin: 0 auto; border-radius: 0; }

.matrix-teaser__visual img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: brightness(1.12) contrast(1.08);
	opacity: 1;
}

.matrix-teaser__visual:has(img[src*="matrix-teaser-chart-transparent.png"])::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: url("assets/images/matrix-teaser-chart-transparent.png") center / 100% 100% no-repeat;
	filter: invert(1);
	mix-blend-mode: lighten;
	-webkit-mask: url("assets/images/matrix-teaser-numerals-mask.svg") center / 100% 100% no-repeat;
	mask: url("assets/images/matrix-teaser-numerals-mask.svg") center / 100% 100% no-repeat;
}

@media (min-width: 720px) and (max-width: 959px) {
	.matrix-teaser {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
		align-items: center;
	}

	.matrix-teaser__visual {
		width: min(100%, 300px);
	}
}

/* A Gutenberg crop/aspect choice takes precedence over the editorial defaults. */
.about-page .about-section__media:has(img[style*="aspect-ratio"]),
.home-about__portrait:has(img[style*="aspect-ratio"]),
.matrix-teaser__visual:has(img[style*="aspect-ratio"]),
.single-journal__content .ag-journal-split figure:has(img[style*="aspect-ratio"]),
.single-journal__content .ag-journal-gallery figure:has(img[style*="aspect-ratio"]),
.single-journal__content .ag-journal-image figure:has(img[style*="aspect-ratio"]) {
	aspect-ratio: auto;
}

.about-page .about-section__media img[style*="aspect-ratio"],
.home-about__portrait img[style*="aspect-ratio"],
.matrix-teaser__visual img[style*="aspect-ratio"],
.single-journal__content .ag-journal-split img[style*="aspect-ratio"],
.single-journal__content .ag-journal-gallery img[style*="aspect-ratio"],
.single-journal__content .ag-journal-image img[style*="aspect-ratio"] {
	height: auto;
}

.learning-section {
	position: relative;
	background: #d2d1c2;
	color: var(--color-ink);
}

.section-link--light {
	color: var(--color-ink);
}

.learning-grid {
	display: grid;
	gap: 20px;
}

.learning-card {
	overflow: hidden;
	background: var(--color-cream);
	color: var(--color-ink);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
	box-shadow: 0 10px 30px rgba(87, 58, 48, 0.04);
}

.learning-card__art {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	background: #b7b8a3;
}

.learning-card__art--blush {
	background: #d4b4a7;
}

.learning-card__art span {
	font-family: var(--font-serif);
	font-size: clamp(52px, 7vw, 78px);
	font-style: italic;
	opacity: 0.54;
}

.learning-card__content {
	padding: 18px;
}

.journal-card__visual {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	margin-bottom: 14px;
	overflow: hidden;
	background: var(--color-blush);
	border-radius: 12px;
}

.journal-card__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.journal-card {
	display: flex;
	flex-direction: column;
	padding: 11px 11px 18px;
	background: rgba(245, 240, 233, 0.34);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
	box-shadow: 0 10px 30px rgba(87, 58, 48, 0.035);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.journal-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 36px rgba(87, 58, 48, 0.075);
}

.journal-card__part {
	margin: 0 0 7px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.journal-card h3 {
	display: -webkit-box;
	min-height: 2.25em;
	overflow: hidden;
	line-height: 1.12;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.journal-card__visual::before,
.journal-card__visual::after {
	position: absolute;
	content: "";
}

.journal-card__visual::before {
	top: 18%;
	left: 12%;
	width: 54%;
	height: 72%;
	border: 1px solid currentColor;
	border-radius: 50% 50% 0 0;
	opacity: 0.4;
}

.journal-card__visual::after {
	right: -12%;
	bottom: -32%;
	width: 60%;
	aspect-ratio: 1;
	background: currentColor;
	border-radius: 50%;
	opacity: 0.12;
}

.journal-card__visual--two {
	background: #c2c2ad;
}

.journal-card__visual--three {
	background: #cda793;
}

.journal-card h3 a {
	text-decoration: none;
}

.journal-card h3 a:hover {
	color: var(--color-warm-brown);
}

/* Tinklaraštis */

.journal-archive,
.single-journal {
	position: relative;
	padding: clamp(26px, 3.5vw, 44px) 20px clamp(36px, 5vw, 60px);
	background:
		radial-gradient(circle at 92% 8%, rgba(213, 184, 173, 0.2), transparent 28%),
		var(--color-background);
}

.journal-shell,
.single-journal__article {
	width: min(100%, 1180px);
	margin: 0 auto;
}

.journal-archive__intro {
	position: relative;
	padding: clamp(22px, 2.8vw, 32px);
	margin-bottom: clamp(20px, 2.5vw, 30px);
	overflow: hidden;
	background: rgba(245, 240, 233, 0.74);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
}

.journal-archive__intro::after {
	position: absolute;
	top: -72px;
	right: clamp(-54px, -3vw, -20px);
	width: 220px;
	height: 330px;
	content: "";
	background: url("assets/images/botanical-line.svg") center / contain no-repeat;
	opacity: 0.075;
	pointer-events: none;
}

.journal-archive__intro h1 {
	position: relative;
	z-index: 1;
	max-width: 700px;
	margin: 8px 0 18px;
	font-family: var(--font-serif);
	font-size: clamp(30px, 3.25vw, 40px);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.journal-archive__intro > p:not(.section-kicker) {
	position: relative;
	z-index: 1;
	max-width: none;
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.7;
}

.journal-archive__intro > p:last-child { margin-bottom: 0; }

.journal-archive__grid {
	display: grid;
	gap: clamp(20px, 2.5vw, 28px);
}

.journal-entry-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: rgba(245, 240, 233, 0.82);
	border: 1px solid rgba(87, 58, 48, 0.105);
	border-radius: 18px;
	box-shadow: 0 14px 38px rgba(87, 58, 48, 0.045);
	transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.journal-entry-card:hover {
	transform: translateY(-4px);
	border-color: rgba(87, 58, 48, 0.18);
	box-shadow: 0 20px 46px rgba(87, 58, 48, 0.075);
}

.journal-entry-card__visual {
	position: relative;
	display: block;
	aspect-ratio: 8 / 5;
	overflow: hidden;
	background: #d9cbc2;
}

.journal-entry-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 420ms ease;
}

.journal-entry-card:hover .journal-entry-card__visual img {
	transform: scale(1.035);
}

.journal-entry-card__visual--fallback::after {
	position: absolute;
	right: -9%;
	bottom: -30%;
	width: 58%;
	aspect-ratio: 1;
	content: "";
	border: 1px solid rgba(87, 58, 48, 0.15);
	border-radius: 50%;
}

.journal-entry-card:nth-child(3n + 2) .journal-entry-card__visual--fallback {
	background: #cfd0c1;
}

.journal-entry-card:nth-child(3n) .journal-entry-card__visual--fallback {
	background: #dbc2b8;
}

.journal-entry-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 220px;
	padding: 18px;
}

.journal-entry-card .card-meta {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	color: rgba(87, 58, 48, 0.7);
	font-size: 9px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.journal-entry-card .card-meta span {
	color: var(--color-olive);
}

.journal-entry-card__content h2 {
	display: -webkit-box;
	min-height: 3.24em;
	margin: 12px 0 11px;
	overflow: hidden;
	font-family: var(--font-serif);
	font-size: clamp(26px, 2.2vw, 31px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.journal-entry-card__part {
	margin: 12px 0 -5px;
	color: var(--color-warm-brown);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.journal-entry-card__content h2 a,
.journal-entry-card__link {
	text-decoration: none;
}

.journal-entry-card__excerpt {
	display: -webkit-box;
	margin: 0 0 18px;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.journal-entry-card__link {
	display: flex;
	gap: 8px;
	align-items: center;
	width: 100%;
	padding-top: 14px;
	margin-top: auto;
	border-top: 1px solid rgba(87, 58, 48, 0.1);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.journal-entry-card__link span {
	transition: transform 220ms ease;
}

.journal-entry-card__link:hover span {
	transform: translate(2px, -2px);
}

.journal-pagination,
.journal-archive > .journal-shell > .page-numbers {
	margin-top: 38px;
	text-align: center;
}

.single-journal__hero {
	margin-bottom: clamp(30px, 4vw, 48px);
}

.single-journal__back {
	display: block;
	width: min(100%, 820px);
	margin: 0 auto 16px;
	color: var(--color-ink);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.single-journal__back:hover { color: var(--color-warm-brown); }
.single-journal__back:focus-visible { outline: 2px solid var(--color-olive); outline-offset: 4px; }

.single-journal__visual {
	position: relative;
	z-index: 1;
	width: min(100%, 820px);
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	overflow: hidden;
	background: #ddd3ca;
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(87, 58, 48, 0.07);
}

.single-journal__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-journal__header {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 32px), 780px);
	padding: clamp(20px, 2.5vw, 28px) clamp(24px, 4vw, 42px) clamp(22px, 3vw, 32px);
	margin: 0 auto -24px;
	background: rgba(248, 244, 239, 0.96);
	border: 1px solid rgba(87, 58, 48, 0.09);
	border-radius: 16px;
	box-shadow: 0 14px 38px rgba(87, 58, 48, 0.055);
	text-align: center;
}

.single-journal__meta {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: center;
	margin: 0 0 9px;
	color: rgba(87, 58, 48, 0.68);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.single-journal__eyebrow {
	margin: 0 0 7px;
	color: rgba(87, 58, 48, 0.64);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.single-journal__meta span {
	color: var(--color-olive);
}

.single-journal__header h1 {
	max-width: 650px;
	margin: 0 auto;
	font-family: var(--font-serif);
	font-size: clamp(29px, 3.05vw, 38px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.single-journal__lead {
	max-width: 590px;
	margin: 14px auto 0;
	font-size: clamp(11.5px, 1vw, 12px);
	line-height: 1.65;
}

.single-journal__article--reference {
	position: relative;
}

.single-journal__article--reference::before,
.single-journal__article--reference::after {
	position: absolute;
	z-index: 0;
	width: clamp(150px, 16vw, 230px);
	aspect-ratio: 0.7;
	pointer-events: none;
	background: url("assets/images/botanical-line.svg") center / contain no-repeat;
	content: "";
	opacity: 0.11;
}

.single-journal__article--reference::before {
	top: 54px;
	right: clamp(-86px, -5vw, -36px);
	transform: rotate(18deg);
}

.single-journal__article--reference::after {
	top: 760px;
	left: clamp(-110px, -7vw, -52px);
	filter: blur(1.5px);
	transform: scale(1.25) rotate(-20deg);
	opacity: 0.055;
}

.single-journal__article--reference > * {
	position: relative;
	z-index: 1;
}

.single-journal__article--reference .single-journal__hero {
	margin-bottom: clamp(24px, 3vw, 36px);
}

.single-journal__article--reference .single-journal__header {
	width: min(100%, 820px);
	padding: 0;
	margin: 0 auto clamp(22px, 3vw, 30px);
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.single-journal__article--reference .single-journal__header h1 {
	max-width: 670px;
	font-size: clamp(32px, 3.25vw, 42px);
	line-height: 1.02;
}

.single-journal__article--reference .single-journal__lead {
	max-width: 720px;
	margin-top: 16px;
	font-family: var(--font-serif);
	font-size: clamp(13px, 1.15vw, 15px);
	line-height: 1.55;
}

.single-journal__article--reference .single-journal__visual {
	width: min(100%, 820px);
	aspect-ratio: 3.15 / 1;
	border-radius: 16px;
	box-shadow: 0 18px 44px rgba(87, 58, 48, 0.06);
}

.single-journal__article--reference .single-journal__visual img {
	object-position: center 58%;
}

.single-journal__body {
	width: min(100%, 720px);
	margin: 0 auto;
}

.single-journal__content {
	font-family: var(--font-sans);
	font-size: 13.25px;
	line-height: 2.05;
}

.single-journal__content h2,
.single-journal__content h3 {
	margin: 2.15em 0 0.72em;
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.single-journal__content h2 {
	font-size: clamp(28px, 3vw, 36px);
}

.single-journal__content h3 {
	font-size: clamp(22px, 2.5vw, 28px);
}

.single-journal__content p {
	margin: 0 0 1.65em;
}

.single-journal__content .single-journal__planet {
	margin-top: 3.15em;
}

.single-journal__content .single-journal__planet + .single-journal__planet {
	margin-top: 2.8em;
}

.single-journal__content > p:first-child {
	font-family: var(--font-serif);
	font-size: clamp(16px, 1.45vw, 17px);
	line-height: 1.7;
	letter-spacing: -0.012em;
}

.single-journal__content strong {
	font-weight: 600;
}

.single-journal__content figure,
.single-journal__content > img {
	width: min(100%, 620px);
	margin: clamp(36px, 5vw, 58px) auto;
}

.single-journal__content figure img,
.single-journal__content > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
	box-shadow: 0 16px 42px rgba(87, 58, 48, 0.06);
}

.single-journal__content figcaption {
	margin-top: 8px;
	font-size: 11px;
	line-height: 1.5;
	opacity: 0.68;
}

.single-journal__content .alignwide,
.single-journal__content .is-style-astrogabii-editorial-wide {
	width: min(920px, calc(100vw - 40px));
	max-width: none;
	margin-left: 50%;
	margin-right: 0;
	transform: translateX(-50%);
}

.single-journal__content .is-style-astrogabii-centered-medium {
	width: min(100%, 620px);
	margin-right: auto;
	margin-left: auto;
}

.single-journal__content blockquote,
.single-journal__content .wp-block-pullquote {
	position: relative;
	padding: clamp(18px, 2.5vw, 25px);
	margin: clamp(32px, 4.5vw, 46px) 0;
	background: linear-gradient(135deg, rgba(245, 240, 233, 0.92), rgba(213, 184, 173, 0.24));
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-left: 3px solid rgba(101, 112, 90, 0.58);
	border-radius: 0 16px 16px 0;
}

.single-journal__content blockquote::before,
.single-journal__content .wp-block-pullquote::before {
	display: block;
	margin-bottom: 6px;
	color: var(--color-warm-brown);
	font-family: var(--font-serif);
	font-size: 15px;
	content: "✦";
	opacity: 0.7;
}

.single-journal__content blockquote p,
.single-journal__content .wp-block-pullquote p {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(17px, 2vw, 23px);
	font-style: italic;
	line-height: 1.3;
}

.single-journal__content .single-journal__pullquote--olive {
	background: linear-gradient(135deg, rgba(243, 241, 232, 0.94), rgba(177, 181, 157, 0.2));
	border-left-color: rgba(116, 126, 94, 0.58);
}

.single-journal__image-slot {
	position: relative;
	width: min(100%, 680px);
	aspect-ratio: 16 / 9;
	margin: clamp(36px, 5vw, 54px) auto;
	overflow: hidden;
	background: #e4d9d0;
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 15px;
	box-shadow: 0 14px 34px rgba(87, 58, 48, 0.045);
}

.single-journal__media-row {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
	gap: clamp(28px, 4vw, 52px);
	align-items: center;
	width: min(820px, calc(100vw - 40px));
	max-width: none;
	margin-top: clamp(28px, 3.5vw, 40px);
	margin-bottom: clamp(28px, 3.5vw, 40px);
	margin-left: 50%;
	transform: translateX(-50%);
	overflow: visible;
}

.single-journal__content .single-journal__image-slot--split {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	transform: none;
	border-radius: 18px;
}

.single-journal__media-copy {
	min-width: 0;
	padding: clamp(8px, 1.6vw, 18px) 0;
}

.single-journal__media-copy p:last-child {
	margin-bottom: 0;
}

.single-journal__content .single-journal__image-slot--calm {
	width: min(100%, 720px);
	margin-top: clamp(26px, 3.5vw, 38px);
	margin-bottom: clamp(26px, 3.5vw, 38px);
}

.single-journal__image-slot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.72;
}

.single-journal__image-slot:nth-of-type(even) img {
	transform: scaleX(-1);
}

.single-journal__content blockquote cite,
.single-journal__content .wp-block-pullquote cite {
	display: block;
	margin-top: 14px;
	font-family: var(--font-sans);
	font-size: 10px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-journal__navigation {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	width: min(100%, 760px);
	margin: clamp(48px, 7vw, 76px) auto 0;
	padding-top: 24px;
	border-top: 1px solid rgba(87, 58, 48, 0.14);
}

.single-journal__navigation a {
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.single-journal__related {
	margin-top: clamp(40px, 5vw, 60px);
	padding-top: clamp(24px, 3vw, 36px);
	border-top: 1px solid rgba(87, 58, 48, 0.14);
}

.single-journal__related-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 28px;
}

.single-journal__related-heading p {
	margin: 0;
}

.single-journal__related-heading h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(32px, 3.4vw, 42px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.035em;
}

.single-journal__related-grid {
	display: grid;
	gap: 22px;
}

.journal-related-card {
	overflow: hidden;
	background: rgba(245, 240, 233, 0.7);
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 15px;
}

.journal-related-card__visual {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #d9cbc2;
}

.journal-related-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.journal-related-card:hover img {
	transform: scale(1.03);
}

.journal-related-card > div {
	padding: 17px 18px 20px;
}

.journal-related-card time {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.1em;
	opacity: 0.68;
	text-transform: uppercase;
}

.journal-related-card h3 {
	margin: 7px 0 0;
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.08;
}

.journal-related-card h3 a {
	text-decoration: none;
}

.closing-cta {
	padding-top: 0;
	padding-bottom: calc(var(--home-section-space) * 0.8);
}

.closing-cta__inner {
	position: relative;
	padding: clamp(24px, 2.7vw, 30px) clamp(22px, 4vw, 42px);
	overflow: hidden;
	text-align: left;
	background: #ddc9c0;
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: var(--home-card-radius);
}

.closing-cta h2 {
	max-width: none;
}

.closing-cta__inner > p:not(.section-kicker) {
	max-width: none;
	margin: 10px 0 16px;
	font-size: 13px;
	line-height: 1.65;
}

@media (min-width: 960px) {
	.site-header__inner {
		grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
		min-height: 74px;
		padding: 0 40px;
	}

	.site-nav {
		position: static;
		display: block;
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	.site-nav__list {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: clamp(16px, 2vw, 36px);
	}

	.site-nav__list a {
		position: relative;
		min-height: 44px;
		border: 0;
		font-size: 12px;
	}

	.site-nav__list a::after {
		position: absolute;
		left: 0;
		bottom: 5px;
		width: 100%;
		height: 1px;
		content: "";
		background: currentColor;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 180ms ease;
	}

	.site-nav__list a:hover::after,
	.site-nav__list a:focus-visible::after,
	.site-nav__list .current-menu-item > a::after,
	.site-nav__list .current_page_item > a::after {
		transform: scaleX(1);
		transform-origin: left;
	}

	.site-header__account,
	.site-header__cart {
		display: inline-flex;
	}

	.navigation-toggle {
		display: none;
	}

	.home-hero .button {
		min-height: 42px;
		padding: 9px 19px;
		font-size: 12px;
	}

}

@media (min-width: 1200px) {
	/* Move only the wordmark toward the viewport edge; keep the navigation centered. */
	.site-branding { transform: translateX(calc(580px - 50vw)); }
}

@media (min-width: 960px) and (max-width: 1199px) {
	.site-header__inner {
		grid-template-columns: 160px minmax(0, 1fr) 88px;
		padding-inline: 20px;
	}

	.site-branding__wordmark { width: 150px; }
	.site-nav__list { gap: 12px; }
	.site-nav__list a { font-size: 11px; white-space: nowrap; }
}

@media (min-width: 720px) {
	.home-portals__inner {
		grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.25fr);
		align-items: center;
	}

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

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

	.single-journal__content .wp-block-image.alignleft,
	.single-journal__content .wp-block-image.alignright,
	.single-journal__content > img.alignleft,
	.single-journal__content > img.alignright {
		width: min(46%, 330px);
		margin-top: 12px;
		margin-bottom: 26px;
	}

	.single-journal__content .wp-block-image.alignleft,
	.single-journal__content > img.alignleft {
		float: left;
		margin-right: 34px;
	}

	.single-journal__content .wp-block-image.alignright,
	.single-journal__content > img.alignright {
		float: right;
		margin-left: 34px;
	}

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

	.catalog-page {
		padding-right: 40px;
		padding-left: 40px;
	}

	.catalog-intro {
		grid-template-columns: minmax(0, 1fr) 220px;
		padding-right: 250px;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.astrogabii-product-loop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-main--product div.product {
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 40px;
		align-items: start;
	}

	.site-main--product div.product div.images {
		width: 300px;
	}

	.ag-product-fields__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ag-product-field--textarea,
	.ag-product-field--datetime,
	.ag-product-field--comment {
		grid-column: 1 / -1;
	}

	.home-shell {
		padding-right: 40px;
		padding-left: 40px;
	}

	.section-heading--split {
		display: grid;
		grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
		gap: 48px;
		align-items: end;
	}

	.section-heading--split > p {
		margin: 0;
	}

	.section-heading--row {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.direction-grid,
	.analysis-grid,
	.journal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-about__inner {
		grid-template-columns: minmax(0, 1.55fr) minmax(290px, 0.9fr);
		gap: clamp(24px, 3.5vw, 44px);
	}

	.learning-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.learning-card--compact {
		margin-top: 0;
	}

	.learning-card--compact .learning-card__art {
		flex: 1;
	}
}

@media (min-width: 960px) {
	.journal-archive__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.single-journal__related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-product-loop--learning ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-main--product div.product {
		grid-template-columns: 360px minmax(0, 1fr);
		gap: clamp(46px, 6vw, 72px);
	}

	.site-main--product div.product div.images {
		width: 360px;
	}

	.home-hero__inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
		column-gap: 40px;
	}

	.home-hero__content {
		padding-left: 0;
		transform: none;
	}

	.home-hero .section-kicker {
		margin-bottom: 18px;
	}

	.home-hero__intro,
	.home-hero__closing {
		max-width: 560px;
		font-size: 18px;
		line-height: 1.55;
	}

	.home-hero__intro {
		margin-top: 24px;
	}

	.home-hero {
		min-height: 0;
		padding: 56px 0 40px;
	}

	.home-hero .button {
		min-height: 48px;
		padding: 11px 27px;
		font-size: 16px;
	}

	.home-hero__visual {
		align-self: center;
		width: min(100%, 480px);
		aspect-ratio: 24 / 25;
		margin: 0;
		overflow: visible;
	}

	.home-hero__portrait {
		inset: 0 auto auto 12%;
		width: 70%;
		height: 100%;
		object-position: 38% center;
		border-radius: 48% 48% 0 0;
	}

	.home-hero__halo {
		top: -4%;
		right: 13%;
		width: 30%;
	}

	.home-hero__orbit {
		inset: 2% 3% 3% 0;
		border-radius: 50%;
		transform: none;
	}

	.home-hero__visual::after {
		top: 7%;
		left: 4%;
		font-size: 20px;
	}

	.home-hero__visual-quote {
		position: absolute;
		z-index: 4;
		display: block;
		color: rgba(87, 58, 48, 0.62);
	}

	.home-hero__visual-quote {
		right: 0;
		bottom: 9%;
		width: 86px;
		font-family: var(--font-serif);
		font-size: 11px;
		font-style: italic;
		line-height: 1.35;
	}

	.direction-grid,
	.analysis-grid,
	.journal-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.direction-card {
		min-height: 150px;
		padding: 18px 20px 24px;
	}

	.direction-card h3,
	.analysis-card h3,
	.learning-card h3,
	.journal-card h3 {
		font-size: 20px;
	}

	.analysis-card h3 {
		font-size: 19px;
	}

	.analysis-card {
		grid-template-columns: 86px minmax(0, 1fr);
	}

	.portrait-placeholder {
		min-height: 285px;
	}

	.matrix-teaser {
		grid-template-columns: minmax(0, 0.95fr) minmax(330px, 1.05fr);
		align-items: center;
		padding: 26px 0;
	}

	.matrix-teaser__visual {
		width: min(100%, 400px);
	}

	.learning-card__art {
		min-height: 160px;
	}

	.learning-card__art span {
		font-size: 68px;
	}

	.learning-card__content {
		padding: 16px;
	}

	.learning-card {
		display: grid;
		grid-template-columns: minmax(150px, 0.42fr) minmax(0, 0.58fr);
		align-items: stretch;
	}

	.journal-card__visual {
		aspect-ratio: 16 / 9;
	}
}

@media (min-width: 1100px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.astrogabii-product-loop ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-product-loop--learning ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 640px) {
	.home-product-loop--learning ul.products li.product a.woocommerce-LoopProduct-link {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
	}

	.home-product-loop--learning ul.products li.product a img {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.home-product-loop--learning ul.products li.product a[href*="/meditacija-pinigu-judejimas/"] img {
		object-position: center top;
	}

	.home-product-loop--learning .ag-loop-product__meta {
		grid-column: 1;
		grid-row: 2;
		margin-top: 11px;
	}

	.home-product-loop--learning ul.products li.product .woocommerce-loop-product__title {
		grid-column: 1;
		grid-row: 3;
		min-height: 3.18em;
		margin-top: 3px;
		font-size: 18px;
	}

	.home-product-loop--learning .ag-loop-product__excerpt {
		grid-column: 1;
		grid-row: 4;
	}
}

@media (min-width: 800px) and (max-width: 959px) {
	.home-product-loop--learning ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 480px) and (max-width: 959px) {
	.home-hero {
		padding: 48px 0 40px;
	}

	.home-hero h1 {
		font-size: clamp(40px, 5vw, 46px);
	}

	.home-hero__intro,
	.home-hero__closing {
		font-size: 16px;
	}

	.home-hero__visual {
		width: min(100%, 360px);
	}
}

@media (max-width: 479px) {
	.site-main--woocommerce,
	.catalog-page {
		padding-top: 30px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.catalog-intro,
	.catalog-page__intro {
		min-height: 0;
		padding: 24px 20px;
	}

	.catalog-intro h1,
	.catalog-page__intro h1,
	.woocommerce div.product .product_title {
		font-size: 30px;
	}

	.catalog-intro__visual {
		display: none;
	}

	.site-main--product div.product div.images {
		width: min(100%, 270px);
	}

	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-rows: 14px 106px auto;
	}

	.woocommerce ul.products li.product a img {
		width: 120px;
		height: 120px;
	}

	.woocommerce ul.products li.product .button {
		margin: 0;
	}

	.single-journal__visual {
		aspect-ratio: 4 / 3;
		border-radius: 16px;
	}

	.single-journal__header {
		width: calc(100% - 16px);
		padding: 18px 16px 20px;
		margin-bottom: -14px;
	}

	.single-journal__header h1 {
		font-size: clamp(25px, 7vw, 29px);
		line-height: 1.04;
	}

	.single-journal__meta {
		flex-wrap: wrap;
		margin-bottom: 12px;
		font-size: 9px;
	}

	.single-journal__lead {
		margin-top: 12px;
		font-size: 11px;
	}

	.single-journal__article--reference::before,
	.single-journal__article--reference::after {
		display: none;
	}

	.single-journal__article--reference .single-journal__header {
		width: 100%;
		padding: 0 6px;
		margin-bottom: 20px;
	}

	.single-journal__article--reference .single-journal__header h1 {
		font-size: clamp(27px, 7.4vw, 30px);
	}

	.single-journal__article--reference .single-journal__lead {
		margin-top: 12px;
		font-size: 12px;
	}

	.single-journal__article--reference .single-journal__visual {
		aspect-ratio: 16 / 9;
		border-radius: 14px;
	}

	.single-journal__content {
		font-size: 12.75px;
		line-height: 1.95;
	}

	.single-journal__media-row {
		grid-template-columns: 1fr;
		gap: 24px;
		width: calc(100vw - 32px);
		margin-top: 36px;
		margin-bottom: 44px;
	}

	.single-journal__content .single-journal__image-slot--split {
		aspect-ratio: 4 / 3;
		border-radius: 16px;
	}

	.single-journal__media-copy {
		padding: 0;
	}

	.single-journal__content .alignwide,
	.single-journal__content .is-style-astrogabii-editorial-wide {
		width: calc(100vw - 32px);
	}

	.single-journal__navigation,
	.single-journal__related-heading {
		flex-direction: column;
		align-items: flex-start;
	}

	.single-journal__navigation {
		gap: 12px;
	}

	.single-journal__related-heading {
		gap: 8px;
	}

	.journal-entry-card__content {
		min-height: 0;
		padding: 20px 19px;
	}

	.journal-entry-card__content h2 {
		min-height: 0;
	}

	.ag-product-fields {
		padding: 16px;
	}

	.home-hero__actions .button {
		width: 100%;
		min-height: 48px;
		padding: 11px 20px;
		font-size: 15px;
	}

	.home-hero {
		padding: 40px 0;
	}

	.home-hero__inner { row-gap: 18px; }

	.home-hero h1 {
		font-size: clamp(36px, 9.5vw, 40px);
		line-height: 1;
	}

	.home-hero__intro,
	.home-hero__closing {
		font-size: 16px;
	}

	.home-hero__intro {
		margin-top: 22px;
	}

	.home-hero__actions {
		margin-top: 24px;
	}

	.home-hero__closing {
		margin-top: 18px;
	}

	.home-hero__visual {
		width: min(100%, 280px);
	}

	.direction-card {
		min-height: 150px;
	}
}

@media (min-width: 800px) {
	.home-directions .direction-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Final editorial content and supporting states */

.analysis-process {
	max-width: var(--content-width);
	margin: 22px auto;
	padding: clamp(18px, 2vw, 24px);
	background: rgba(245, 240, 233, 0.54);
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 18px;
}

.analysis-process > h2 {
	max-width: 800px;
	margin: 5px 0 8px;
	font-family: var(--font-serif);
	font-size: clamp(25px, 2.5vw, 29px);
	font-weight: 500;
	line-height: 1.15;
}

.analysis-process > .analysis-process__intro {
	max-width: 760px;
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.55;
}

.analysis-process__item {
	margin: 0 0 6px;
	border: 1px solid rgba(87, 58, 48, 0.16);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.16);
	transition: background-color 180ms ease, border-color 180ms ease;
}

.analysis-process__item:hover,
.analysis-process__item[open] {
	background: rgba(255, 255, 255, 0.34);
	border-color: rgba(87, 58, 48, 0.24);
}

.analysis-process__item > summary {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) 10px;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	list-style: none;
	cursor: pointer;
	font-family: var(--font-serif);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

.analysis-process__item > summary::-webkit-details-marker { display: none; }

.analysis-process__item > summary::before {
	content: '✷';
	color: var(--color-warm-brown);
	font-family: var(--font-serif);
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
}

.analysis-process__item > summary::after {
	content: '';
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}

.analysis-process__item[open] > summary::after {
	transform: translateY(2px) rotate(225deg);
}

.analysis-process__item > summary:focus-visible {
	outline: 2px solid var(--color-olive);
	outline-offset: 3px;
	border-radius: 16px;
}

.analysis-process__item > p {
	max-width: 800px;
	margin: 0 14px 12px 42px;
	font-size: 14px;
	line-height: 1.6;
	animation: ag-analysis-reveal 180ms ease-out both;
}

.analysis-process__item > p:last-child { margin-bottom: 14px; }

@keyframes ag-analysis-reveal {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 639px) {
	.analysis-process > h2 { font-size: 25px; }
	.analysis-process__item > summary {
		grid-template-columns: 17px minmax(0, 1fr) 9px;
		gap: 8px;
		padding: 10px 12px;
		font-size: 16px;
	}
	.analysis-process__item > p { margin-right: 12px; margin-left: 37px; }
}

@media (prefers-reduced-motion: reduce) {
	.analysis-process__item > p { animation: none; }
}

.newsletter-form {
	display: flex;
	gap: 10px;
	width: min(100%, 590px);
	margin: 0 auto;
}

.closing-cta .newsletter-form {
	width: 100%;
	margin: 0;
}

.newsletter-form input {
	flex: 1 1 260px;
	min-width: 0;
	min-height: 46px;
	padding: 10px 15px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 999px;
}

.newsletter-form .button {
	min-height: 46px;
}

.closing-cta__inner .newsletter-form__note {
	margin: 10px 0 0;
	font-size: 11px;
}

.site-footer {
	color: var(--color-cream);
	background: var(--color-ink);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(130px, 0.65fr));
	gap: clamp(20px, 2.8vw, 36px);
	max-width: var(--content-width);
	margin: 0 auto;
	padding: clamp(26px, 3vw, 36px) 28px 22px;
	align-items: start;
}

.site-footer__brand {
	max-width: 340px;
}

.site-footer__wordmark {
	display: block;
	width: min(100%, 220px);
	margin: 0 0 16px;
	padding: 0 6px;
	background: #fbf6ed;
	border-radius: 7px;
}

.site-footer__wordmark img {
	display: block;
	width: 100%;
	height: auto;
}

.site-footer__brand > p:last-child {
	margin: 0;
	color: rgba(245, 240, 233, 0.72);
	font-size: 13px;
	line-height: 1.7;
}

.site-footer__nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
}

.site-footer__nav a {
	color: rgba(245, 240, 233, 0.8);
	font-size: 12px;
	text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
	color: #fff;
}

.site-footer__bottom {
	max-width: var(--content-width);
	margin: 0 auto;
	padding: 16px 28px 20px;
	color: rgba(245, 240, 233, 0.58);
	font-size: 11px;
	border-top: 1px solid rgba(245, 240, 233, 0.13);
}

.editorial-page,
.not-found-page {
	padding: clamp(30px, 4vw, 48px) 22px clamp(40px, 5vw, 60px);
	background: radial-gradient(circle at 88% 8%, rgba(213, 184, 173, 0.18), transparent 28%), var(--color-background);
}

.editorial-page__shell,
.not-found-page__inner {
	width: min(100%, 920px);
	margin: 0 auto;
}

.editorial-page__header {
	max-width: 760px;
	margin-bottom: clamp(20px, 2.8vw, 32px);
}

.editorial-page__header h1,
.not-found-page h1 {
	font-size: clamp(38px, 4.2vw, 50px);
}

.editorial-page--contact .editorial-page__header h1 {
	font-size: clamp(38px, 3.8vw, 48px);
}

.editorial-page__header > p:last-child,
.editorial-page__content p {
	font-size: 15px;
	line-height: 1.8;
}

.editorial-page__content {
	max-width: 760px;
}

.editorial-page__lead {
	font-family: var(--font-serif);
	font-size: clamp(22px, 3vw, 30px) !important;
	line-height: 1.38 !important;
}

.contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	padding: clamp(20px, 2.8vw, 30px);
	background: rgba(245, 240, 233, 0.62);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
}

.contact-form label {
	display: grid;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
}

.contact-form small {
	font-weight: 400;
	opacity: 0.7;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 12px 14px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.62);
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 9px;
}

.contact-form__message,
.contact-form .button {
	grid-column: 1 / -1;
}

.contact-form .button {
	justify-self: start;
}

.contact-page__success {
	margin: 0 0 24px;
	padding: 17px 20px;
	background: rgba(189, 190, 169, 0.36);
	border-left: 2px solid #85866f;
	border-radius: 8px;
}

.not-found-page__inner {
	max-width: 720px;
	text-align: center;
}

.not-found-page__inner > p:not(.section-kicker) {
	margin: 18px auto 28px;
	font-size: 15px;
	line-height: 1.7;
}

.not-found-page__actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.ag-analysis-details {
	margin: 22px 0 10px;
}

.ag-gift-fields {
	display: grid;
	gap: 14px;
	margin: 22px 0;
	padding: clamp(18px, 2.5vw, 26px);
	background: rgba(245, 240, 233, 0.72);
	border: 1px solid rgba(87, 58, 48, 0.14);
	border-radius: 18px;
}

.ag-gift-fields [hidden] {
	display: none !important;
}

.ag-gift-fields__kind {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
	padding: 0 0 4px;
	border: 0;
}

.ag-gift-fields__kind legend {
	margin-bottom: 10px;
	font-family: var(--font-serif);
	font-size: 23px;
}

.ag-gift-fields__kind label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 600;
}

.ag-gift-fields > label,
.ag-gift-fields [data-ag-gift-panel] label {
	display: block;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 600;
}

.ag-gift-fields select,
.ag-gift-fields input[type="email"],
.ag-gift-fields input[type="number"],
.ag-gift-fields textarea {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	color: var(--color-ink);
	background: rgba(255, 255, 255, 0.64);
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 8px;
}

.ag-gift-fields textarea {
	min-height: 90px;
}

.ag-gift-fields [data-ag-gift-custom] {
	margin-top: 12px;
}

.ag-gift-fields__hint {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.55;
	color: var(--color-warm-brown);
}

.ag-gift-fields__preview {
	margin: 2px 0 0;
	font-family: var(--font-serif);
	font-size: 21px;
	font-weight: 600;
}

.ag-gift-balance {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(87, 58, 48, 0.16);
}

.ag-gift-balance h2 {
	margin: 0 0 14px;
	font-size: 23px;
}

.ag-gift-balance label {
	display: block;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 600;
}

.ag-gift-balance__row {
	display: flex;
	gap: 9px;
}

.ag-gift-balance input {
	min-width: 0;
	flex: 1;
	padding: 10px 12px;
	border: 1px solid rgba(87, 58, 48, 0.2);
	border-radius: 8px;
}

.ag-gift-balance button {
	padding: 10px 18px;
	border: 0;
	border-radius: 8px;
	color: #fff;
	background: var(--color-ink);
	cursor: pointer;
}

.ag-gift-balance p {
	margin: 12px 0 0;
	font-size: 14px;
}

@media (max-width: 520px) {
	.ag-gift-balance__row {
		flex-direction: column;
	}
}

body.ag-analysis-product .site-main--product {
	padding-top: 24px;
}

body.ag-analysis-product .site-main--product div.product {
	row-gap: 12px;
}

body.ag-analysis-product .site-main--product div.product div.summary {
	padding: clamp(18px, 2.3vw, 26px);
}

body.ag-analysis-product.woocommerce div.product .product_title {
	font-size: clamp(28px, 2.8vw, 36px);
	line-height: 1.08;
}

body.ag-analysis-product.woocommerce div.product p.price,
body.ag-analysis-product.woocommerce div.product span.price {
	margin: 8px 0 14px;
	font-size: 21px;
}

body.ag-analysis-product .woocommerce-product-details__short-description {
	max-width: none;
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.65;
}

body.ag-analysis-product .woocommerce-product-details__short-description p {
	margin: 0 0 11px;
	text-align: justify;
	hyphens: auto;
}

body.ag-analysis-product .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

body.ag-analysis-product.woocommerce div.product form.cart {
	margin-top: 0;
	margin-bottom: 0;
}

body.ag-analysis-product.woocommerce div.product form.cart .variations {
	margin-bottom: 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.ag-analysis-product.woocommerce div.product form.cart .variations label {
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
}

body.ag-analysis-product.woocommerce div.product form.cart .variations td.value {
	position: relative;
}

body.ag-analysis-product.woocommerce div.product form.cart .reset_variations {
	position: absolute;
	top: -27px;
	right: 0;
	margin-top: 0;
}

body.ag-variation-cards-enabled .ag-variation-select--cards {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.ag-variation-cards-enabled .ag-variation-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
}

body.ag-variation-cards-enabled .ag-variation-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 42px;
	padding: 8px 11px;
	border: 1px solid rgba(101, 66, 54, 0.24);
	border-radius: 11px;
	background: rgba(255, 252, 247, 0.74);
	color: var(--brown, #654236);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	cursor: pointer;
	transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

body.ag-variation-cards-enabled .ag-variation-card__price,
body.ag-variation-cards-enabled .ag-variation-card__price .price,
body.ag-variation-cards-enabled .ag-variation-card__price .woocommerce-Price-amount {
	color: inherit !important;
	font-size: 0.92em;
	font-weight: 700;
	white-space: nowrap;
}

body.ag-variation-cards-enabled .ag-variation-card__price * {
	color: inherit !important;
}

body.ag-variation-cards-enabled .ag-variation-card__price::before {
	content: "·";
	margin-right: 0.5em;
	opacity: 0.62;
}

body.ag-variation-cards-enabled .ag-variation-card:hover,
body.ag-variation-cards-enabled .ag-variation-card:focus-visible {
	border-color: #654236;
	box-shadow: 0 0 0 2px rgba(101, 66, 54, 0.1);
	outline: none;
}

body.ag-variation-cards-enabled .ag-variation-card.is-selected {
	border-color: #654236;
	background: #654236;
	color: #fffaf4;
	box-shadow: 0 7px 18px rgba(101, 66, 54, 0.16);
}

body.ag-variation-cards-enabled .ag-variation-card:disabled {
	opacity: 0.42;
	cursor: not-allowed;
}

body.ag-variation-cards-enabled .ag-product-choice-hint {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 9px 0 0;
	padding: 9px 11px;
	border: 1px solid rgba(101, 66, 54, 0.13);
	border-radius: 11px;
	background: rgba(255, 252, 247, 0.58);
	color: rgba(87, 58, 48, 0.78);
	font-size: 12px;
	line-height: 1.45;
}

body.ag-variation-cards-enabled .ag-product-choice-hint::before {
	content: "✦";
	color: var(--color-caramel, #9d6e55);
	font-size: 12px;
}

body.ag-variation-cards-enabled form.ag-progressive-order .ag-product-fields,
body.ag-variation-cards-enabled form.ag-progressive-order .single_variation_wrap {
	max-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transform: translateY(-8px);
	transition: max-height 420ms ease, margin 420ms ease, opacity 220ms ease, transform 320ms ease, visibility 0s linear 420ms;
}

body.ag-variation-cards-enabled form.ag-progressive-order.is-order-ready .ag-product-choice-hint {
	display: none;
}

body.ag-variation-cards-enabled form.ag-progressive-order.is-order-ready .ag-product-fields,
body.ag-variation-cards-enabled form.ag-progressive-order.is-order-ready .single_variation_wrap {
	max-height: 2200px;
	opacity: 1;
	overflow: visible;
	visibility: visible;
	transform: none;
	transition: max-height 520ms ease, margin 420ms ease, opacity 280ms ease 80ms, transform 360ms ease 40ms, visibility 0s;
}

body.ag-variation-cards-enabled form.ag-progressive-order.is-order-ready .ag-product-fields {
	margin-top: 10px;
	margin-bottom: 8px;
}

body.ag-variation-cards-enabled form.ag-progressive-order.is-order-ready .single_variation_wrap {
	margin-top: 0;
}

@media (max-width: 480px) {
	body.ag-variation-cards-enabled .ag-variation-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	body.ag-variation-cards-enabled .ag-variation-card {
		min-height: 40px;
		padding: 7px 8px;
		font-size: 12.5px;
	}
}

@media (max-width: 340px) {
	body.ag-variation-cards-enabled .ag-variation-cards {
		grid-template-columns: 1fr;
	}
}

body.ag-analysis-product .ag-product-fields {
	margin: 10px 0 8px;
	padding: 12px;
	border: 0;
	border-radius: 12px;
	background: rgba(255, 252, 247, 0.5);
	box-shadow: inset 0 0 0 1px rgba(87, 58, 48, 0.14);
}

body.ag-analysis-product .ag-product-fields legend {
	float: left;
	width: 100%;
	margin-bottom: 6px;
	padding: 0;
	font-size: 16px;
	line-height: 1.25;
}

body.ag-analysis-product .ag-product-fields__intro {
	clear: both;
	margin-bottom: 8px;
	font-size: 10.5px;
}

body.ag-analysis-product .product_meta {
	display: none;
}

body.ag-analysis-product .ag-analysis-story {
	grid-column: 1 / -1;
	display: grid;
	gap: clamp(16px, 2vw, 24px);
	margin-top: 8px;
	color: var(--color-warm-brown);
}

body.ag-analysis-product .ag-analysis-story__section {
	min-width: 0;
	padding: clamp(20px, 2.5vw, 28px);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
	background: rgba(245, 240, 233, 0.58);
}

body.ag-analysis-product .ag-analysis-story h2 {
	margin: 0 0 13px;
	font-family: var(--font-serif);
	font-size: clamp(23px, 2.5vw, 28px);
	font-weight: 500;
	line-height: 1.25;
}

body.ag-analysis-product .ag-analysis-story p,
body.ag-analysis-product .ag-analysis-story li {
	font-size: 14px;
	line-height: 1.65;
	text-align: justify;
	hyphens: auto;
}

body.ag-analysis-product .ag-analysis-story p {
	margin: 0 0 10px;
}

body.ag-analysis-product .ag-analysis-story p:last-child {
	margin-bottom: 0;
}

body.ag-analysis-product .ag-analysis-story__pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

body.ag-analysis-product .ag-analysis-story__note {
	background: rgba(221, 201, 192, 0.22);
}

body.ag-analysis-product .ag-analysis-story__requirements ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3px;
	margin: 0 0 12px;
	padding-left: 22px;
}

body.ag-analysis-product .ag-product-testimonials {
	grid-column: 1 / -1;
	margin-top: clamp(12px, 2vw, 24px);
	padding: clamp(20px, 3vw, 34px);
	color: var(--color-warm-brown);
	background: #e9dfd6;
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 18px;
}

body.ag-analysis-product .ag-product-testimonials__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin-bottom: 18px;
}

body.ag-analysis-product .ag-product-testimonials__heading .section-kicker {
	margin: 0;
}

body.ag-analysis-product .ag-product-testimonials__heading h2 {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 400;
	line-height: 1.08;
}

body.ag-analysis-product .ag-product-testimonials__heading > p:last-child {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
	opacity: 0.7;
}

body.ag-analysis-product .ag-product-testimonials .ag-testimonial-card {
	min-height: 145px;
	background: rgba(255, 252, 247, 0.76);
}

@media (min-width: 720px) {
	.home-testimonials__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.ag-analysis-product .ag-product-testimonials__heading {
		grid-template-columns: minmax(0, 1fr) minmax(250px, 0.65fr);
		align-items: end;
		column-gap: 32px;
	}

	body.ag-analysis-product .ag-product-testimonials__heading .section-kicker,
	body.ag-analysis-product .ag-product-testimonials__heading h2 {
		grid-column: 1;
	}

	body.ag-analysis-product .ag-product-testimonials__heading > p:last-child {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: end;
	}

	.ag-product-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ag-product-testimonials__grid--single {
		grid-template-columns: minmax(0, 680px);
	}
}

@media (max-width: 719px) {
	body.ag-analysis-product .ag-analysis-story__pair {
		grid-template-columns: 1fr;
	}
}

body.ag-analysis-product.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
body.ag-analysis-product.woocommerce div.product form.cart .single_add_to_cart_button:disabled {
	opacity: 0.78;
}

body.ag-analysis-product .ag-product-fields__grid {
	gap: 9px 10px;
}

body.ag-analysis-product .ag-product-field textarea {
	min-height: 70px;
}

body.ag-analysis-product .ag-product-field > label,
body.ag-analysis-product .ag-product-field__label {
	margin-bottom: 5px;
	font-size: 11px;
}

body.ag-analysis-product .ag-product-field input,
body.ag-analysis-product .ag-product-field select,
body.ag-analysis-product .ag-product-field textarea {
	min-height: 38px;
	padding: 7px 9px;
	font-size: 13px;
}

body.ag-analysis-product .ag-product-field small {
	margin-top: 4px;
	font-size: 10px;
	line-height: 1.35;
}

body.ag-analysis-product .ag-product-field input[data-ag-format] {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.025em;
}

body.ag-analysis-product .ag-product-field input[aria-invalid="true"] {
	border-color: var(--color-warm-brown);
}

body.ag-analysis-product .ag-analysis-details {
	margin: 0;
}

body.ag-analysis-product .ag-analysis-details dl {
	margin-bottom: 12px;
	border-top: 0;
}

body.ag-analysis-product .ag-analysis-details dl > div {
	padding: 12px 10px;
}

.ag-analysis-details dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
	margin: 0 0 16px;
	border-top: 1px solid rgba(87, 58, 48, 0.13);
	border-bottom: 1px solid rgba(87, 58, 48, 0.13);
}

.ag-analysis-details dl > div {
	padding: 16px 12px;
}

.ag-analysis-details dt {
	margin-bottom: 6px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.ag-analysis-details dd {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
}

.ag-analysis-details__notice {
	border: 1px solid rgba(87, 58, 48, 0.18);
	border-radius: 18px;
	background: rgba(221, 201, 192, 0.18);
}

.ag-analysis-details__notice > summary {
	display: grid;
	grid-template-columns: 23px minmax(0, 1fr) 12px;
	align-items: center;
	gap: 12px;
	padding: 17px 20px;
	list-style: none;
	cursor: pointer;
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
}

body.ag-analysis-product .ag-analysis-details__notice > summary {
	grid-template-columns: 18px minmax(0, 1fr) 11px;
	gap: 10px;
	padding: 11px 14px;
	font-size: 17px;
}

body.ag-analysis-product .ag-analysis-details__notice > summary::before {
	font-size: 15px;
}

.ag-analysis-details__notice > summary::-webkit-details-marker { display: none; }
.ag-analysis-details__notice > summary::before { content: '✷'; color: var(--color-warm-brown); font-size: 19px; }
.ag-analysis-details__notice > summary::after {
	content: '';
	width: 9px;
	height: 9px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}
.ag-analysis-details__notice[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.ag-analysis-details__notice > summary:focus-visible { outline: 2px solid var(--color-olive); outline-offset: 3px; border-radius: 16px; }
.ag-analysis-details__notice[open] { background: rgba(221, 201, 192, 0.28); }
.ag-analysis-details__notice-copy { padding: 0 24px 17px 46px; }
.ag-analysis-details__notice-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ag-analysis-details__notice-list li { display: grid; grid-template-columns: 15px minmax(0, 1fr); gap: 9px; font-size: 14px; line-height: 1.5; text-align: justify; hyphens: auto; }
.ag-analysis-details__notice-list li::before { content: '–'; color: var(--color-warm-brown); }

.single-journal__topic-cta,
.ag-empty-state {
	width: min(100%, 740px);
	margin: clamp(26px, 3.5vw, 40px) auto;
	padding: clamp(20px, 2.8vw, 28px);
	background: rgba(245, 240, 233, 0.58);
	border: 1px solid rgba(87, 58, 48, 0.1);
	border-radius: 16px;
}

.single-journal__topic-cta p {
	margin-top: 0;
	font-family: var(--font-serif);
	font-size: clamp(20px, 2.6vw, 27px);
	line-height: 1.4;
}

.catalog-empty p,
.ag-empty-state p {
	margin: 0 0 18px;
}

@media (max-width: 760px) {
	.site-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__nav--legal {
		grid-column: 1 / -1;
	}

	.newsletter-form,
	.contact-form {
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	.newsletter-form input {
		flex: 0 0 auto;
		width: 100%;
	}

	.newsletter-form .button {
		width: 100%;
	}

	.contact-form__message,
	.contact-form .button {
		grid-column: auto;
	}

	.ag-analysis-details dl {
		grid-template-columns: 1fr;
	}

	.ag-product-datetime {
		grid-template-columns: 1fr;
	}

	body.ag-analysis-product .ag-product-datetime {
		grid-template-columns: minmax(0, 1.35fr) minmax(88px, 0.65fr);
		gap: 8px;
	}

	.ag-analysis-details__notice > summary {
		padding: 15px 14px;
		font-size: 21px;
	}

	.ag-analysis-details__notice-copy {
		padding-right: 14px;
		padding-left: 22px;
	}

	body.ag-analysis-product .ag-analysis-details__notice > summary {
		padding: 12px 14px;
		font-size: 18px;
	}

	body.ag-analysis-product .ag-product-fields {
		padding: 12px;
	}

	.analysis-process__copy {
		columns: 1;
	}
}

@media (min-width: 720px) {
	body.ag-analysis-product .site-main--product div.product {
		grid-template-columns: 255px minmax(0, 1fr);
		gap: 28px;
		row-gap: 12px;
	}

	body.ag-analysis-product .site-main--product div.product div.images {
		width: 255px;
		align-self: center;
	}

	body.ag-analysis-product .site-main--product div.product div.summary {
		display: block;
		grid-column: 2;
		min-width: 0;
		padding: clamp(18px, 2.3vw, 26px);
		max-width: none;
		background: rgba(245, 240, 233, 0.62);
		border: 1px solid rgba(87, 58, 48, 0.12);
		border-radius: 18px;
	}

	body.ag-analysis-product .site-main--product .ag-analysis-intro {
		display: block;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	body.ag-analysis-product .site-main--product div.product div.summary > .ag-analysis-details,
	body.ag-analysis-product .site-main--product div.product div.summary > form.cart {
		margin-top: 12px;
	}

	body.ag-analysis-product .site-main--product div.product div.summary > form.cart {
		width: 100%;
	}
}

@media (min-width: 960px) {
	body.ag-analysis-product .site-main--product div.product {
		grid-template-columns: 320px minmax(0, 1fr);
		gap: clamp(32px, 4vw, 48px);
		row-gap: 12px;
	}

	body.ag-analysis-product .site-main--product div.product div.images {
		width: 320px;
	}

	body.ag-analysis-product .site-main--product div.product div.summary {
		padding: clamp(20px, 2.2vw, 26px);
	}
}

body.ag-analysis-product .site-main--product div.product div.summary .product_title {
	font-size: clamp(27px, 2.5vw, 34px);
}

body.ag-analysis-product .site-main--product div.product div.summary .woocommerce-product-details__short-description {
	margin-bottom: 0;
}

body.ag-analysis-product .site-main--product div.product div.summary .woocommerce-product-details__short-description p {
	text-align: left;
}

body.ag-analysis-product .ag-analysis-details__notice {
	border-radius: 12px;
}

body.ag-analysis-product .ag-product-fields {
	margin: 10px 0 8px;
	padding: 11px;
	background: rgba(255, 252, 247, 0.62);
	border-radius: 12px;
}

body.ag-analysis-product .ag-product-fields legend {
	font-size: 15px;
}

body.ag-analysis-product .ag-product-fields__grid {
	gap: 8px 9px;
}

body.ag-analysis-product .ag-product-field textarea {
	min-height: 58px;
}

body.ag-analysis-product.woocommerce div.product form.cart .variations select {
	min-height: 40px;
}

body.ag-personal-audio-product .ag-audio-order-fields__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 12px;
	align-items: center;
	gap: 12px;
	margin-top: 9px;
	padding: 11px 13px;
	border: 1px solid rgba(87, 58, 48, 0.16);
	border-radius: 12px;
	background: rgba(255, 252, 247, 0.48);
	color: var(--color-warm-brown);
	font-family: var(--font-serif);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

body.ag-personal-audio-product .ag-audio-order-fields__icon {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 260ms ease;
}

body.ag-personal-audio-product .ag-audio-order-fields__heading.is-ready .ag-audio-order-fields__icon {
	transform: translateY(2px) rotate(225deg);
}

body.ag-personal-audio-product .ag-audio-order-fields__panel {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transition: grid-template-rows 360ms ease, opacity 220ms ease, visibility 0s linear 360ms;
}

body.ag-personal-audio-product .ag-audio-order-fields__panel > .ag-product-fields {
	min-height: 0;
	overflow: hidden;
}

body.ag-personal-audio-product form.is-audio-details-ready .ag-audio-order-fields__panel {
	grid-template-rows: 1fr;
	opacity: 1;
	visibility: visible;
	transition: grid-template-rows 420ms ease, opacity 260ms ease 70ms, visibility 0s;
}

body.ag-personal-audio-product form.ag-audio-order-progressive .ag-audio-order-fields__panel .ag-product-fields {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	box-shadow: none;
	transition: margin 360ms ease, padding 360ms ease, box-shadow 180ms ease;
}

body.ag-personal-audio-product form.ag-audio-order-progressive.is-audio-details-ready .ag-audio-order-fields__panel .ag-product-fields {
	margin: 8px 0;
	padding-top: 11px;
	padding-bottom: 11px;
	box-shadow: inset 0 0 0 1px rgba(87, 58, 48, 0.14);
}

body.ag-personal-audio-product form.ag-audio-order-progressive .ag-product-fields legend {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 719px) {
	body.ag-analysis-product .site-main--product div.product div.summary {
		padding: 16px;
		background: rgba(245, 240, 233, 0.62);
		border: 1px solid rgba(87, 58, 48, 0.12);
		border-radius: 18px;
	}

	body.ag-analysis-product .site-main--product div.product div.images {
		width: min(100%, 300px);
	}
}

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

/* Native Likimo Matricos application */

.matrix-page {
	min-height: 70vh;
	background: #e7e0d8;
}

.matrix-native-app {
	position: relative;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: #e7e0d8;
}

.matrix-native-app__loading,
.matrix-native-app__fallback {
	max-width: 620px;
	margin: 0 auto;
	padding: 48px 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
	opacity: 0.65;
}

/* About AstroGabii: a continuous editorial story. */
.about-page {
	padding: 26px 20px 32px;
	background: #faf6ef;
}

.about-page__shell {
	width: min(100%, 1120px);
	margin: 0 auto;
}

.about-section {
	padding: 32px 0 28px;
	border-bottom: 1px solid rgba(87, 58, 48, 0.13);
}

.about-section:first-child {
	padding-top: 0;
}

.about-section:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.about-section--intro .about-section__top,
.about-section--learning,
.about-section--philosophy {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.95fr);
	align-items: start;
}

.about-section--learning,
.about-section--philosophy {
	gap: clamp(28px, 3vw, 36px);
}

.about-section--learning {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
	align-items: start;
}

.about-section--philosophy {
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.85fr);
}

.about-section__copy {
	min-width: 0;
}

.about-section .section-kicker {
	font-family: var(--font-sans);
	font-size: 13px;
}

.about-section__copy h1,
.about-section__copy h2 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.032em;
}

.about-section__copy h1 {
	max-width: 680px;
	font-size: clamp(44px, 3.8vw, 50px);
}

.about-section__copy h2 {
	max-width: 660px;
	font-size: clamp(32px, 2.8vw, 38px);
}

.about-section__copy > p:not(.section-kicker):not(.about-page__closing) {
	max-width: 720px;
	font-family: var(--font-sans);
	font-size: 18px;
	line-height: 1.58;
}

.about-section__copy > p:last-child {
	margin-bottom: 0;
}

.about-section__copy > p.about-page__lead:not(.section-kicker):not(.about-page__closing) {
	max-width: 760px;
	font-family: var(--font-sans);
	font-size: clamp(20px, 1.65vw, 21px);
	line-height: 1.5;
}

.about-section--intro .about-section__continuation {
	width: 100%;
	padding-top: 8px;
}

.about-section--intro .about-section__continuation > p {
	max-width: none;
}

.about-section__media,
.about-events__photo {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 18px;
}

.about-section__media img,
.about-events__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-section__media--hero,
.about-section__media--field {
	position: sticky;
	top: 32px;
	justify-self: start;
}

.about-section__media--hero {
	position: static;
	width: min(100%, 310px);
	max-height: 400px;
	aspect-ratio: 4 / 5;
}

.about-section__media--field {
	width: min(100%, 290px);
	max-height: 380px;
	aspect-ratio: 4 / 5;
}

.about-section__media--learning {
	width: min(100%, 300px);
	max-height: 320px;
	aspect-ratio: 1;
	justify-self: start;
}

.about-section__media--learning img {
	object-position: center;
}

.about-section--narrow .about-section__copy,
.about-section--today .about-section__copy {
	max-width: 760px;
	margin: 0 auto;
}

.about-events__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
	gap: clamp(28px, 3vw, 36px);
	align-items: start;
}

.about-events__stat {
	max-width: 210px;
	padding-top: 17px;
	margin: 0;
	border-top: 1px solid rgba(87, 58, 48, 0.45);
	color: var(--color-warm-brown);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.about-events__stat span {
	display: block;
	margin-bottom: 6px;
	color: var(--color-ink);
	font-family: var(--font-serif);
	font-size: clamp(56px, 6vw, 72px);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.about-page__quote {
	max-width: 670px;
	padding: 18px 22px;
	margin: 18px 0;
	background: rgba(213, 184, 173, 0.18);
	border-left: 2px solid rgba(138, 102, 88, 0.57);
	border-radius: 0 12px 12px 0;
}

.about-page__quote--soft {
	background: rgba(101, 112, 90, 0.075);
	border-left-color: rgba(101, 112, 90, 0.55);
}

.about-page__quote p {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(28px, 2.3vw, 30px);
	font-style: italic;
	line-height: 1.35;
}

.about-events__gallery {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	grid-template-rows: repeat(2, 225px);
	--wp--style--block-gap: 14px;
	gap: var(--wp--style--block-gap, 14px);
	width: min(100%, 760px);
	margin: clamp(22px, 2.5vw, 30px) auto 0;
}

.about-events__photo {
	aspect-ratio: auto;
}

.about-events__photo--main {
	grid-row: span 2;
	aspect-ratio: auto;
}

.about-section--today .about-section__copy > p:nth-last-of-type(2) {
	margin-bottom: 8px;
}

.about-section--today .about-section__copy h2 {
	font-size: clamp(32px, 2.8vw, 38px);
}

.about-page__closing {
	max-width: 690px;
	margin: 12px 0 18px;
	font-family: var(--font-serif);
	font-size: clamp(34px, 3.1vw, 40px);
	line-height: 1.16;
	letter-spacing: -0.025em;
}

.about-page__areas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding: 12px 0 0;
	margin: 0;
	border-top: 1px solid rgba(87, 58, 48, 0.15);
	list-style: none;
}

.about-page__areas li {
	color: var(--color-warm-brown);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 959px) {
	.about-section--intro .about-section__top,
	.about-section--learning,
	.about-section--philosophy {
		grid-template-columns: minmax(0, 1fr);
	}

	.about-section--learning,
	.about-section--philosophy { gap: 16px; }

	.about-section--intro .about-section__top .about-section__copy,
	.about-section--learning .about-section__copy,
	.about-section--philosophy .about-section__copy {
		max-width: 760px;
		margin: 0 auto;
	}

	.about-section__media--hero,
	.about-section__media--field,
	.about-section__media--learning {
		position: static;
		width: min(78%, 320px);
		justify-self: center;
	}
}

@media (max-width: 639px) {
	.about-page {
		padding: 20px 18px 28px;
	}

	.about-section {
		padding: 26px 0 22px;
	}

	.about-section__copy h1 {
		font-size: clamp(34px, 9vw, 38px);
	}

	.about-section__copy h2 {
		font-size: clamp(28px, 7.4vw, 31px);
	}

	.about-section__copy > p:not(.section-kicker):not(.about-page__closing) {
		font-size: 16px;
		line-height: 1.62;
	}

	.about-section__copy > p.about-page__lead:not(.section-kicker):not(.about-page__closing) {
		font-size: 18px;
		line-height: 1.52;
	}

	.about-events__intro,
	.about-events__gallery {
		grid-template-columns: minmax(0, 1fr);
	}

	.about-events__stat {
		margin-top: 10px;
	}

	.about-events__gallery {
		grid-template-rows: none;
		gap: 16px;
		width: min(78%, 330px);
		max-width: 330px;
	}

	.about-events__photo--main {
		grid-row: auto;
	}

	.about-events__photo,
	.about-events__photo--main {
		aspect-ratio: auto;
	}

	.about-events__photo img {
		height: auto;
	}

	.about-page__quote {
		padding: 16px 18px;
		margin: 18px 0;
	}

	.about-page__quote p {
		font-size: clamp(24px, 6.5vw, 26px);
	}

	.about-section--today .about-section__copy h2 {
		font-size: clamp(28px, 7.4vw, 31px);
	}

	.about-page__closing {
		margin: 12px 0 16px;
		font-size: clamp(30px, 8.5vw, 34px);
	}

	.about-page__areas {
		gap: 8px 15px;
	}
}

/* Editable Gutenberg About page: spacing and layout belong to blocks, not PHP. */
.about-page {
	padding: 40px clamp(24px, 2.5vw, 32px) 56px;
}

.about-page__shell {
	width: min(100%, 1200px);
}

.about-page .about-section {
	display: block;
	--wp--style--block-gap: 18px;
	padding: 60px 0;
	margin: 0;
}

.about-page .about-section:first-child { padding-top: 0; }
.about-page .about-section:last-child { padding-bottom: 0; }

.about-page .about-section__top.wp-block-columns,
.about-page .about-events__intro.wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
	--wp--style--block-gap: 36px;
	align-items: start;
}

.about-page :where(.about-section__top.wp-block-columns, .about-events__intro.wp-block-columns) {
	gap: var(--wp--style--block-gap, 36px);
	margin: 0;
}

.about-page .about-events__intro.wp-block-columns {
	grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
}

.about-page .about-section__top > .wp-block-column,
.about-page .about-events__intro > .wp-block-column {
	min-width: 0;
	margin: 0;
}

.about-page h1,
.about-page h2,
.about-page h3 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.about-page h1 { max-width: 680px; font-size: clamp(44px, 3.8vw, 50px); }
.about-page h2 { max-width: 800px; font-size: clamp(32px, 2.8vw, 38px); }
.about-page h2.has-x-large-font-size { font-size: clamp(34px, 3vw, 38px) !important; }
.about-page h3 { font-size: 30px; }
.about-page :where(h1, h2) { margin: 0 0 21px; }
.about-page :where(h3) { margin: 0 0 20px; }

.about-page .about-section p:not(.about-page__closing):not(.section-kicker):not(.about-events__number) {
	font-family: var(--font-sans);
	font-size: 18px;
	line-height: 1.6;
}

.about-page :where(.about-section p:not(.about-page__closing):not(.section-kicker):not(.about-events__number)) {
	margin: 0 0 16px;
}

.about-page .about-section p:last-child { margin-bottom: 0; }
.about-page .about-section .section-kicker { font-size: 13px; }
.about-page :where(.about-section .section-kicker) { margin: 0 0 14px; }
.about-page .about-section p.about-page__lead { font-size: 20px; line-height: 1.55; }

.about-page .about-section__continuation { width: min(100%, 980px); }
.about-page :where(.about-section__continuation) { margin: 20px 0 0; }
.about-page .about-section__visual { min-width: 0; }
.about-page .about-section__media { position: static; width: min(100%, 330px); max-height: none; margin: 0; aspect-ratio: 4 / 5; }
.about-page .about-section__media--learning { aspect-ratio: 1; }
.about-page .about-section__media img { width: 100%; height: 100%; object-fit: cover; }

.about-page .about-section--wide-copy > :not(.about-section__top),
.about-page .about-section--today > :not(.about-section__top) { max-width: 980px; }

.about-page .about-page__quote { max-width: 720px; padding: 22px 28px; }
.about-page :where(.about-page__quote) { margin: 20px 0; }
.about-page .about-page__quote p,
.about-page .about-section .about-page__quote p:not(.about-page__closing) {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(24px, 2.2vw, 28px);
	font-style: italic;
	line-height: 1.35;
}

.about-page .about-events__stat { padding-top: 14px; max-width: 220px; }
.about-page .about-events__stat p:not(.about-page__closing):not(.section-kicker):not(.about-events__number) { font-size: 13px; line-height: 1.5; letter-spacing: 0.06em; }
.about-page .about-events__stat .about-events__number { margin: 0 0 8px; font-family: var(--font-serif); font-size: clamp(64px, 6vw, 76px); font-weight: 400; line-height: 0.95; letter-spacing: -0.05em; }
.about-page .about-events__gallery { width: min(100%, 850px); grid-template-rows: repeat(2, 205px); margin: 28px 0 0; }
.about-page .about-events__photo { width: 100%; max-height: none; margin: 0; }
.about-page .about-events__photo img { width: 100%; height: 100%; object-fit: cover; }

.about-page .about-page__closing { margin: 10px 0 18px; font-size: clamp(32px, 3vw, 38px); }
.about-page .about-page__areas { max-width: 980px; }

@media (max-width: 959px) {
	.about-page { padding-inline: 22px; }
	.about-page .about-section__top.wp-block-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); --wp--style--block-gap: 16px; }
	.about-page .about-events__intro.wp-block-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); --wp--style--block-gap: 24px; }
	.about-page .about-section__media { width: min(100%, 300px); }
}

@media (max-width: 639px) {
	.about-page { padding: 30px 18px 40px; }
	.about-page .about-section { --wp--style--block-gap: 16px; padding: 44px 0; }
	.about-page .about-section__top.wp-block-columns { grid-template-columns: minmax(0, 1fr); --wp--style--block-gap: 16px; }
	.about-page .about-events__intro.wp-block-columns { grid-template-columns: minmax(0, 1fr); --wp--style--block-gap: 20px; }
	.about-page .about-section__media { width: min(100%, 310px); margin-inline: auto; }
	.about-page h1 { font-size: clamp(34px, 9vw, 38px); }
	.about-page h2 { font-size: clamp(29px, 7.5vw, 32px); }
	.about-page :where(h1, h2) { margin-bottom: 18px; }
	.about-page h3 { font-size: 27px; }
	.about-page .about-section p:not(.about-page__closing):not(.section-kicker):not(.about-events__number) { font-size: 16px; }
	.about-page :where(.about-section p:not(.about-page__closing):not(.section-kicker):not(.about-events__number)) { margin-bottom: 16px; }
	.about-page .about-section p.about-page__lead { font-size: 18px; }
	.about-page :where(.about-section__continuation) { margin-top: 18px; }
	.about-page .about-page__quote { padding: 20px 24px; }
	.about-page .about-page__quote p,
	.about-page .about-section .about-page__quote p:not(.about-page__closing) { font-size: 24px; }
	.about-page .about-events__gallery { width: min(100%, 340px); grid-template-rows: none; margin-top: 22px; }
	.about-page .about-events__photo { aspect-ratio: 4 / 5; }
	.about-page .about-page__closing { font-size: clamp(30px, 8vw, 34px); }
}

/* Gutenberg journal system: wide article layout with a title card over the cover. */
.single-journal__hero { margin-bottom: clamp(28px, 3vw, 40px); }
.single-journal__header {
	width: min(100%, 1020px);
	padding: clamp(20px, 2.2vw, 26px) clamp(20px, 3vw, 34px);
	margin: -52px auto 0;
	background: var(--color-cream);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
	box-shadow: 0 16px 38px rgba(87, 58, 48, 0.08);
}
.single-journal__header h1 {
	max-width: 920px;
	font-size: clamp(30px, 2.8vw, 38px);
	line-height: 1.06;
}
.single-journal__eyebrow { text-align: center; }
.single-journal__lead {
	max-width: 880px;
	margin-top: 14px;
	font-family: var(--font-sans);
	font-size: 14px;
	line-height: 1.55;
}
.single-journal__visual { width: 100%; aspect-ratio: 2.55 / 1; border-radius: 20px; }
.single-journal__visual img { display: block; }
.single-journal__body { width: min(100%, 1020px); }
.single-journal__content { font-family: var(--font-sans); font-size: 14px; line-height: 1.72; }
.single-journal__content p { margin: 0 0 18px; }
.single-journal__content > p:first-child { font-family: var(--font-sans); font-size: 14px; line-height: 1.62; letter-spacing: 0; }
.single-journal__content h2,
.single-journal__content h3 { font-family: var(--font-serif); font-weight: 400; line-height: 1.12; }
.single-journal__content h2 { margin: 48px 0 22px; font-size: clamp(32px, 3vw, 38px); }
.single-journal__content h3 { margin: 40px 0 18px; font-size: clamp(28px, 2.5vw, 32px); }
.single-journal__article.post-64 .single-journal__content > h2.wp-block-heading {
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}
.single-journal__article.post-64 .single-journal__content > h3.wp-block-heading {
	margin: 18px 0;
	font-family: var(--font-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.72;
	letter-spacing: 0;
}
.single-journal__content .ag-journal-section-heading h2,
.single-journal__content .ag-journal-split h2 { margin-top: 0; }
.single-journal__content figure { margin-top: 42px; margin-bottom: 42px; }
.single-journal__content blockquote,
.single-journal__content .wp-block-pullquote { padding: 24px 28px; margin: 42px 0; }
.single-journal__content blockquote p,
.single-journal__content .wp-block-pullquote p { font-size: clamp(24px, 2.3vw, 28px); line-height: 1.35; }
.single-journal__content blockquote.ag-journal-quote {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	column-gap: 14px;
	align-items: start;
}
.single-journal__content blockquote.ag-journal-quote::before {
	grid-column: 1;
	grid-row: 1;
	margin: 2px 0 0;
	font-size: 26px;
	line-height: 1;
	content: "✧";
	opacity: 1;
}
.single-journal__content blockquote.ag-journal-quote > :is(p, cite) { grid-column: 2; }
.single-journal__content .ag-journal-quote--olive {
	background: linear-gradient(135deg, rgba(243, 241, 232, 0.94), rgba(177, 181, 157, 0.2));
	border-left-color: rgba(116, 126, 94, 0.58);
}

.single-journal__content .ag-journal-section,
.single-journal__content .ag-journal-image,
.single-journal__content .ag-journal-gallery,
.single-journal__content .ag-journal-cta,
.single-journal__content .ag-journal-section-heading {
	width: min(1050px, calc(100vw - 48px));
	max-width: none;
	margin: 56px 0 56px 50%;
	transform: translateX(-50%);
}
.single-journal__content .ag-journal-split.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	--wp--style--block-gap: 36px;
	align-items: start;
	margin: 0;
}
.single-journal__content :where(.ag-journal-split.wp-block-columns) { gap: var(--wp--style--block-gap, 36px); }
.single-journal__content .ag-journal-split > .wp-block-column { min-width: 0; margin: 0; }
.single-journal__content .ag-journal-split figure,
.single-journal__content .ag-journal-gallery figure,
.single-journal__content .ag-journal-image figure { width: 100%; max-width: none; margin: 0; transform: none; }
.single-journal__content .ag-journal-split img,
.single-journal__content .ag-journal-gallery img,
.single-journal__content .ag-journal-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }
.single-journal__content .ag-journal-split figure { aspect-ratio: 4 / 3; }
.single-journal__content .ag-journal-continuation { width: 100%; margin: 28px auto 0; }
.single-journal__content .ag-journal-image--full { width: min(1100px, calc(100vw - 48px)); }
.single-journal__content .ag-journal-image--wide { width: min(1000px, calc(100vw - 48px)); }
.single-journal__content .ag-journal-image--full figure { aspect-ratio: 2.1 / 1; }
.single-journal__content .ag-journal-image--wide figure { aspect-ratio: 16 / 9; }
.single-journal__content .ag-journal-gallery { display: grid; --wp--style--block-gap: 20px; }
.single-journal__content :where(.ag-journal-gallery) { gap: var(--wp--style--block-gap, 20px); }
.single-journal__content .ag-journal-gallery--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.single-journal__content .ag-journal-gallery--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.single-journal__content .ag-journal-gallery figure { aspect-ratio: 4 / 5; }
.single-journal__content .ag-journal-gallery--three figure:first-child { aspect-ratio: 1; }
.single-journal__content .ag-journal-statement {
	margin: 42px auto;
	font-family: var(--font-serif);
	font-size: clamp(24px, 2.3vw, 28px);
	font-style: italic;
	line-height: 1.35;
	text-align: center;
}
.single-journal__content .ag-journal-cta {
	width: 100%;
	padding: 28px 32px;
	background: rgba(245, 240, 233, 0.9);
	border: 1px solid rgba(87, 58, 48, 0.12);
	border-radius: 18px;
}
.single-journal__content .ag-journal-cta h2 { margin: 0 0 18px; font-size: clamp(32px, 2.8vw, 38px); }
.single-journal__content .ag-journal-cta p { max-width: 680px; }
.single-journal__content .ag-journal-cta .wp-block-button__link {
	padding: 12px 24px;
	background: var(--color-ink);
	border-radius: 999px;
	color: var(--color-cream);
	font-family: var(--font-sans);
	font-size: 15px;
	text-decoration: none;
}
.single-journal__content .ag-journal-cta .wp-block-button__link:hover,
.single-journal__content .ag-journal-cta .wp-block-button__link:focus-visible { background: var(--color-warm-brown); }

@media (max-width: 959px) {
	.single-journal__content .ag-journal-section,
	.single-journal__content .ag-journal-image,
	.single-journal__content .ag-journal-gallery,
	.single-journal__content .ag-journal-section-heading { width: min(1000px, calc(100vw - 44px)); }
	.single-journal__content .ag-journal-split.wp-block-columns { --wp--style--block-gap: 28px; }
}

@media (max-width: 639px) {
	.single-journal__hero { margin-bottom: 32px; }
	.single-journal__header { width: 100%; padding: 18px 16px 20px; margin: -26px auto 0; }
	.single-journal__header h1 { font-size: clamp(30px, 8vw, 34px); }
	.single-journal__lead { margin-top: 14px; font-size: 14px; }
	.single-journal__visual { aspect-ratio: 16 / 10; border-radius: 14px; }
	.single-journal__content { font-size: 14px; line-height: 1.68; }
	.single-journal__content > p:first-child { font-size: 14px; }
	.single-journal__content h2 { margin: 40px 0 18px; font-size: clamp(28px, 7.5vw, 31px); }
	.single-journal__content h3 { margin: 34px 0 16px; font-size: 27px; }
	.single-journal__content blockquote,
	.single-journal__content .wp-block-pullquote { padding: 20px 24px; margin: 36px 0; }
	.single-journal__content blockquote p,
	.single-journal__content .wp-block-pullquote p { font-size: 24px; }
	.single-journal__content .ag-journal-section,
	.single-journal__content .ag-journal-image,
	.single-journal__content .ag-journal-gallery,
	.single-journal__content .ag-journal-section-heading { width: calc(100vw - 36px); margin-top: 44px; margin-bottom: 44px; }
	.single-journal__content .ag-journal-cta { width: 100%; margin-top: 44px; margin-bottom: 44px; }
	.single-journal__content .ag-journal-split.wp-block-columns,
	.single-journal__content .ag-journal-gallery { grid-template-columns: minmax(0, 1fr); --wp--style--block-gap: 24px; }
	.single-journal__content .ag-journal-continuation { margin-top: 24px; }
	.single-journal__content .ag-journal-gallery figure,
	.single-journal__content .ag-journal-gallery--three figure:first-child { aspect-ratio: 4 / 3; }
	.single-journal__content .ag-journal-image--full figure { aspect-ratio: 16 / 10; }
	.single-journal__content .ag-journal-cta { padding: 24px; }
}

/* Consistent corners for Gutenberg content images, including nested galleries. */
:where(.page-content, .about-page, .single-journal__content) :is(.wp-block-image, .wp-block-gallery figure) {
	overflow: hidden;
	border-radius: 18px;
}

:where(.page-content, .about-page, .single-journal__content) :is(.wp-block-image img, .wp-block-gallery figure img) {
	border-radius: 18px;
}

/* The homepage hero is now built from editable core blocks. Block-level inline
   spacing and column widths intentionally override these safe defaults. */
.home-hero .home-hero__inner.wp-block-columns {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	margin: 0 auto;
}

.home-hero .home-hero__inner > .wp-block-column {
	min-width: 0;
	margin: 0;
}

.home-hero .home-hero__visual.wp-block-group {
	position: relative;
	isolation: isolate;
	aspect-ratio: auto;
	margin: 0;
}

.home-hero .home-hero__portrait.wp-block-astrogabii-hero-photo {
	position: relative;
	z-index: 2;
	inset: auto;
	width: var(--ag-photo-width, 82%);
	height: auto;
	aspect-ratio: var(--ag-photo-aspect, 5 / 6);
	margin: 0 auto;
	overflow: hidden;
	border-radius: var(--ag-photo-arch-x, 50%) var(--ag-photo-arch-x, 50%) 0 0 / var(--ag-photo-arch, 30%) var(--ag-photo-arch, 30%) 0 0;
	transform: translate(var(--ag-photo-x, 0px), var(--ag-photo-y, 0px));
}

.home-hero .home-hero__portrait.wp-block-astrogabii-hero-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--ag-photo-focus-x, 38%) var(--ag-photo-focus-y, 50%);
}

.home-hero .home-hero__portrait.wp-block-image {
	position: absolute;
	z-index: 2;
	inset: 5% 8% 0 10%;
	width: 82%;
	height: 95%;
	margin: 0;
	overflow: hidden;
	border-radius: 46% 46% 18px 18px;
}

.home-hero .home-hero__portrait.wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 38% center;
}

.home-hero .home-hero__visual::after { content: none; }

.home-hero .home-hero__decor.wp-block-group {
	position: absolute;
	z-index: auto;
	inset: 0;
	margin: 0;
	pointer-events: none;
}

.home-hero .home-hero__decor.is-style-ag-hide-hero-decor { display: none; }

.home-hero__decor-item {
	position: absolute;
	display: block;
	margin: 0;
	opacity: var(--ag-decor-opacity, 1);
	transform: translate(var(--ag-decor-x, 0px), var(--ag-decor-y, 0px)) rotate(var(--ag-decor-rotation, 0deg));
}

.home-hero__decor-item--circle {
	z-index: 1;
	top: 0;
	right: 1%;
	width: var(--ag-decor-size, 144px);
	aspect-ratio: 1;
	background: var(--color-blush);
	border-radius: 50%;
}

.home-hero__decor-item--oval {
	z-index: 3;
	top: 15%;
	left: 5%;
	width: var(--ag-decor-size, 100%);
	height: 72%;
	border: 1px solid var(--color-ink);
	border-radius: 50%;
}

.home-hero__decor-item--star {
	z-index: 3;
	top: -4%;
	left: 3%;
	color: var(--color-warm-brown);
	font-family: var(--font-serif);
	font-size: var(--ag-decor-size, 20px);
	line-height: 1;
}

.home-hero__decor-item--line {
	z-index: 3;
	top: -2%;
	left: 12%;
	width: var(--ag-decor-size, 45%);
	height: 1px;
	background: var(--color-warm-brown);
}

.home-hero__decor-item--quote {
	display: none;
	z-index: 3;
	right: 0;
	bottom: 9%;
	width: 86px;
	color: var(--color-ink);
	font-family: var(--font-serif);
	font-size: var(--ag-decor-size, 11px);
	font-style: italic;
	line-height: 1.35;
	white-space: pre-line;
}

.home-hero__decor-item--botanicalLeft,
.home-hero__decor-item--botanicalRight {
	z-index: 3;
	width: var(--ag-decor-size, 130px);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.home-hero__decor-item--botanicalLeft {
	top: 25%;
	left: -9%;
	aspect-ratio: 130 / 260;
	background-image: url('assets/images/hero-botanical-left.svg');
}

.home-hero__decor-item--botanicalRight {
	top: 26%;
	right: -7%;
	aspect-ratio: 118 / 245;
	background-image: url('assets/images/hero-botanical-right.svg');
}

.home-hero__decor-item--shortLine {
	z-index: 3;
	right: -8%;
	bottom: 3%;
	width: var(--ag-decor-size, 36px);
	height: 1px;
	background: var(--color-warm-brown);
}

.home-hero__decor-item.home-hero__decor-item--layer-back { z-index: 1; }
.home-hero__decor-item.home-hero__decor-item--layer-front { z-index: 3; }

.home-hero .home-hero__actions.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 14px;
	margin-top: 26px;
}

.home-hero .home-hero__button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 11px 27px;
	color: var(--color-ink);
	background: transparent;
	border: 1px solid rgba(87, 58, 48, 0.35);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-decoration: none;
}

.home-hero .home-hero__button--primary .wp-block-button__link {
	color: var(--color-cream);
	background: var(--color-ink);
	border-color: var(--color-ink);
}

.home-hero .home-hero__button--primary .wp-block-button__link:hover,
.home-hero .home-hero__button--primary .wp-block-button__link:focus-visible {
	background: var(--color-warm-brown);
	border-color: var(--color-warm-brown);
}

.home-hero .home-hero__button--secondary .wp-block-button__link:hover,
.home-hero .home-hero__button--secondary .wp-block-button__link:focus-visible {
	background: rgba(87, 58, 48, 0.07);
	border-color: var(--color-ink);
}

.home-hero .wp-block-button__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 5px;
}

@media (min-width: 960px) {
	.home-hero .home-hero__inner.wp-block-columns { flex-direction: row; gap: 40px; }
	.home-hero .home-hero__portrait.wp-block-image {
		inset: 0 auto auto 12%;
		width: 70%;
		height: 100%;
		border-radius: 48% 48% 0 0;
	}
	.home-hero__decor-item--circle { top: -4%; right: 13%; }
	.home-hero__decor-item--oval { top: 2%; left: 0; height: 95%; }
	.home-hero__decor-item--star { top: -4%; left: 4%; }
	.home-hero__decor-item--quote { display: block; right: -9%; }
}

@media (max-width: 959px) {
	.home-hero .home-hero__inner > .wp-block-column { width: 100%; }
}

@media (max-width: 479px) {
	.home-hero .home-hero__button { width: 100%; }
	.home-hero .home-hero__button .wp-block-button__link {
		width: 100%;
		min-height: 48px;
		padding: 11px 20px;
		font-size: 15px;
	}

	/* Keep Hostinger's logged-in assistant usable without covering mobile CTAs. */
	body.logged-in #vue-app .kodee-fab {
		right: max(10px, env(safe-area-inset-right)) !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
		width: 46px !important;
		height: 46px !important;
	}

	body.logged-in #vue-app .kodee-fab__border,
	body.logged-in #vue-app .kodee-fab__inner,
	body.logged-in #vue-app .kodee-fab__open {
		width: 46px !important;
		min-width: 46px !important;
		height: 46px !important;
		min-height: 46px !important;
		border-radius: 50% !important;
	}

	body.logged-in #vue-app .kodee-fab__inner,
	body.logged-in #vue-app .kodee-fab__open {
		justify-content: center !important;
		padding: 0 !important;
	}

	body.logged-in #vue-app .kodee-fab__label,
	body.logged-in #vue-app .kodee-fab__handle {
		display: none !important;
	}

	body.logged-in #vue-app .kodee-fab__icon {
		margin: 0 !important;
	}
}
