:root {
	--sauge-paper: #faf9f5;
	--sauge-white: #fff;
	--sauge-soft: #efeeea;
	--sauge-soft-low: #f4f4f0;
	--sauge-soft-high: #e9e8e4;
	--sauge-ink: #1b1c1a;
	--sauge-muted: #424941;
	--sauge-line: #c2c8be;
	--sauge-line-soft: #e3e2df;
	--sauge-green: #416744;
	--sauge-green-dark: #294f2e;
	--sauge-green-tint: #c2eec1;
	--sauge-rose: #6c5d27;
	--sauge-camomille: #f6e29e;
	--sauge-camomille-ink: #534611;
	--sauge-lavender: #645880;
	--sauge-lavender-tint: #e9ddff;
	--sauge-lavender-ink: #382d53;
	--sauge-serif: "Literata", Georgia, serif;
	--sauge-sans: "Be Vietnam Pro", "Segoe UI", sans-serif;
	--sauge-container: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--sauge-paper); color: var(--sauge-ink); font-family: var(--sauge-sans); font-size: 16px; line-height: 1.6; }
body:has(.sauge-header.menu-is-open) { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.6em; color: var(--sauge-ink); font-family: var(--sauge-serif); font-weight: 600; line-height: 1.2; }
h1 { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.6rem, 3vw, 2rem); }
h3 { font-size: 1.25rem; font-weight: 500; }
p { margin: 0 0 1.25rem; }
.sauge-container { width: min(calc(100% - 48px), var(--sauge-container)); margin-inline: auto; }
.sauge-icon { width: 24px; height: 24px; flex: 0 0 auto; }
.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: 8px; left: 8px; z-index: 9999; width: auto; height: auto; padding: 12px 20px; clip: auto; background: var(--sauge-white); color: var(--sauge-green); }

.sauge-announcement { min-height: 32px; padding: 7px 16px; background: var(--sauge-camomille); color: var(--sauge-camomille-ink); font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; letter-spacing: 0.05em; }
.sauge-header { position: sticky; top: 0; z-index: 100; background: rgba(250, 249, 245, 0.92); border-bottom: 1px solid transparent; backdrop-filter: blur(10px); transition: box-shadow 180ms ease, border-color 180ms ease; }
.sauge-header.is-scrolled { border-color: rgba(194, 200, 190, 0.6); box-shadow: 0 8px 30px rgba(65, 103, 68, 0.08); }
.sauge-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 80px; }
.sauge-brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: var(--sauge-green); font-family: var(--sauge-serif); font-size: 1.6rem; font-style: italic; font-weight: 500; line-height: 1; }
.sauge-brand__mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--sauge-line); border-radius: 50%; background: var(--sauge-white); }
.sauge-brand__mark .sauge-icon { width: 19px; height: 19px; }
.sauge-nav__list, .sauge-footer__links { display: flex; align-items: center; gap: 32px; padding: 0; margin: 0; list-style: none; }
.sauge-nav a, .sauge-footer__links a { font-size: 12px; font-weight: 600; letter-spacing: 0.03em; }
.sauge-nav a { position: relative; display: block; padding: 28px 0; color: var(--sauge-muted); }
.sauge-nav a::after { position: absolute; right: 0; bottom: 19px; left: 0; height: 1px; background: var(--sauge-green); content: ""; transform: scaleX(0); transition: transform 180ms ease; }
.sauge-nav a:hover, .sauge-nav a:focus-visible, .sauge-nav .current-menu-item > a { color: var(--sauge-green); }
.sauge-nav a:hover::after, .sauge-nav a:focus-visible::after, .sauge-nav .current-menu-item > a::after { transform: scaleX(1); }
.sauge-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.sauge-icon-button { position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--sauge-green-dark); cursor: pointer; }
.sauge-icon-button:hover { background: var(--sauge-soft); }
.sauge-cart-count { position: absolute; top: 1px; right: 0; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--sauge-green); color: var(--sauge-white); font-size: 9px; font-weight: 600; }
.sauge-menu-toggle { display: none; }
.icon-close { display: none; }
.sauge-search { padding: 18px 0; border-top: 1px solid var(--sauge-line); background: var(--sauge-soft-low); }
.sauge-search form { display: flex; max-width: 720px; margin: auto; }
.sauge-search label { flex: 1; }
.sauge-search input[type="search"] { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--sauge-line); border-right: 0; border-radius: 3px 0 0 3px; background: var(--sauge-white); }
.sauge-search input[type="submit"] { padding: 10px 24px; border: 1px solid var(--sauge-green); border-radius: 0 3px 3px 0; background: var(--sauge-green); color: var(--sauge-white); cursor: pointer; }

.sauge-hero { padding-block: 24px 0; }
.sauge-hero__frame { position: relative; display: flex; align-items: center; min-height: 520px; padding: clamp(24px, 5vw, 64px); overflow: hidden; border-radius: 24px; background: var(--sauge-soft-low); isolation: isolate; }
.sauge-hero__media { position: absolute; inset: 0; z-index: -1; background-image: url("../images/hero-illustration.png"); background-position: center; background-size: cover; mix-blend-mode: multiply; opacity: 0.85; }
.sauge-hero__panel { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; width: min(100%, 560px); padding: clamp(24px, 4vw, 40px); border: 1px solid rgba(194, 200, 190, 0.45); border-radius: 16px; background: rgba(255, 255, 255, 0.82); backdrop-filter: blur(6px); box-shadow: 0 10px 40px rgba(65, 103, 68, 0.08); }
.sauge-hero__panel h1 { margin: 0; color: var(--sauge-ink); }
.sauge-hero__panel h1 em { color: var(--sauge-green); }
.sauge-hero__panel p { margin: 0; color: var(--sauge-muted); font-size: 17px; }
.sauge-chip { display: inline-flex; align-items: center; padding: 4px 14px; border-radius: 999px; background: var(--sauge-soft-low); color: var(--sauge-green); font-size: 12px; font-weight: 600; letter-spacing: 0.05em; }
.sauge-eyebrow { margin-bottom: 16px; color: var(--sauge-rose); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; }
.sauge-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 12px 26px; border: 1px solid var(--sauge-green); border-radius: 4px; background: var(--sauge-green); color: var(--sauge-white); font-family: var(--sauge-sans); font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: 0.04em; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.sauge-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--sauge-green-dark); color: var(--sauge-white); transform: translateY(-1px); }
.sauge-button .sauge-icon { width: 18px; height: 18px; }
.sauge-button--outline { background: transparent; color: var(--sauge-green); }
.sauge-divider { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 48px 24px; color: var(--sauge-green); }
.sauge-divider span { width: 72px; height: 1px; background: var(--sauge-line); }
.sauge-divider .sauge-icon { width: 16px; height: 16px; }
.sauge-section { padding-block: 32px 96px; }
.sauge-section__header { max-width: 660px; margin: 0 auto 48px; text-align: center; }
.sauge-section__header h2 { color: var(--sauge-ink); }
.sauge-section__header > p:last-child { color: var(--sauge-muted); }
.sauge-section__header--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: none; margin-bottom: 32px; text-align: left; }
.sauge-section__header--row h2 { margin-bottom: 6px; }
.sauge-section__header--row p { margin: 0; color: var(--sauge-muted); }
.sauge-callout { padding-block: 0 32px; }
.sauge-callout__inner { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: clamp(32px, 5vw, 56px); border-radius: 8px; background: var(--sauge-camomille); color: var(--sauge-camomille-ink); text-align: center; }
.sauge-callout__inner h2 { margin: 0; color: var(--sauge-camomille-ink); font-size: 1.6rem; }
.sauge-callout__inner p { max-width: 620px; margin: 0 0 12px; }
.sauge-callout .sauge-button--outline { border-color: var(--sauge-camomille-ink); background: transparent; color: var(--sauge-camomille-ink); }
.sauge-callout .sauge-button--outline:hover { background: var(--sauge-camomille-ink); color: var(--sauge-camomille); }
.sauge-section__action { margin-top: 42px; text-align: center; }
.sauge-text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 3px; border-bottom: 1px solid var(--sauge-green); color: var(--sauge-green); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.sauge-text-link .sauge-icon { width: 17px; height: 17px; }
.sauge-collections { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sauge-collection { position: relative; display: flex; align-items: flex-end; min-height: 470px; overflow: hidden; border-radius: 4px; background-position: center; background-size: cover; isolation: isolate; }
.sauge-collection::after { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(23,36,25,0.72), transparent 55%); content: ""; }
.sauge-collection::before { position: absolute; inset: 0; z-index: -1; background: inherit; content: ""; transition: transform 600ms ease; }
.sauge-collection:hover::before { transform: scale(1.04); }
.sauge-collection span { padding: 28px; color: var(--sauge-white); font-family: var(--sauge-serif); font-size: 2rem; }
.sauge-collection--remedies { background-image: url("../images/remedies.jpg"); }
.sauge-collection--skin { background-image: url("../images/skincare.jpg"); }
.sauge-collection--tea { background-image: url("../images/tea.jpg"); }
.sauge-story { padding-block: 112px; background: var(--sauge-soft-low); }
.sauge-story__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: center; gap: clamp(48px, 8vw, 110px); }
.sauge-story__image { min-height: 700px; border-radius: 4px; background-image: url("../images/story.jpg"); background-position: center; background-size: cover; }
.sauge-story__content { max-width: 540px; }
.sauge-story__content h2 { color: var(--sauge-green-dark); }
.sauge-story__content > p:not(.sauge-eyebrow) { color: var(--sauge-muted); }
.sauge-values { padding-block: 80px; border-top: 1px solid rgba(194, 200, 190, 0.7); background: var(--sauge-soft); }
.sauge-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.sauge-values__grid > div { padding-left: 24px; border-left: 1px solid var(--sauge-line); }
.sauge-values__grid span { color: var(--sauge-rose); font-family: var(--sauge-serif); font-style: italic; }
.sauge-values__grid h3 { margin: 8px 0; color: var(--sauge-green-dark); }
.sauge-values__grid p { color: var(--sauge-muted); font-size: 14px; }

.sauge-page, .sauge-commerce { min-height: 60vh; padding-block: 80px 112px; }
.sauge-prose { max-width: 900px; }
.sauge-prose h1 { margin-bottom: 48px; color: var(--sauge-green-dark); font-size: clamp(2rem, 4vw, 2.75rem); }
.sauge-prose a { color: var(--sauge-green); text-decoration: underline; text-underline-offset: 3px; }
.sauge-post { padding-block: 32px; border-bottom: 1px solid var(--sauge-line); }

.sauge-commerce .woocommerce-products-header { margin-bottom: 32px; padding-inline: clamp(12px, 3vw, 36px); }
.woocommerce .woocommerce-products-header .page-title, .woocommerce-page .woocommerce-products-header .page-title, .woocommerce-page > .page-title { width: calc(100% - clamp(12px, 3vw, 36px)); margin-left: clamp(12px, 3vw, 36px); padding-left: 0; }
.sauge-commerce .woocommerce-products-header__title, .woocommerce div.product .product_title, .woocommerce-cart h1, .woocommerce-checkout h1 { color: var(--sauge-green-dark); font-size: clamp(1.8rem, 4vw, 2.5rem); }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 32px; color: var(--sauge-muted); font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--sauge-green); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .woocommerce .sauge-products-per-page { color: var(--sauge-muted); font-size: 13px; }
.woocommerce .woocommerce-result-count { margin-left: clamp(12px, 3vw, 36px); }
.woocommerce .woocommerce-result-count { float: none; }
.woocommerce .woocommerce-ordering { float: right; display: inline-flex; justify-content: flex-end; margin: 0 clamp(12px, 3vw, 36px) 24px 14px; }
.woocommerce .sauge-products-per-page { display: inline-flex; align-items: center; gap: 10px; margin: 0 14px 24px clamp(12px, 3vw, 36px); }
.woocommerce .sauge-products-per-page label { color: var(--sauge-muted); font-size: 12px; font-weight: 600; letter-spacing: 0.03em; }
.woocommerce .woocommerce-ordering select, .woocommerce .sauge-products-per-page select { min-height: 42px; padding: 8px 36px 8px 12px; border: 1px solid var(--sauge-line); border-radius: 4px; background: var(--sauge-white); color: var(--sauge-ink); }
.woocommerce ul.products, .woocommerce.columns-4 ul.products, .woocommerce.columns-3 ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 22px; clear: both; margin: 0; padding-inline: clamp(12px, 3vw, 36px); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { display: flex; float: none; flex-direction: column; width: auto; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--sauge-line-soft); border-radius: 8px; background: var(--sauge-white); transition: transform 180ms ease, box-shadow 180ms ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(65, 103, 68, 0.08); }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1; margin: 0; background: var(--sauge-soft-low); object-fit: cover; transition: transform 500ms ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 20px 20px 4px; margin: 0; font-family: var(--sauge-serif); font-size: 1.25rem; font-weight: 500; }
.woocommerce ul.products li.product .price { padding: 0 20px; margin: 0 0 18px; color: var(--sauge-green); font-family: var(--sauge-serif); font-size: 1.1rem; }
.woocommerce ul.products li.product .button { align-self: stretch; margin: auto 20px 20px; }
.woocommerce span.onsale { top: 12px; left: 12px; min-width: auto; min-height: auto; padding: 4px 10px; border-radius: 4px; background: var(--sauge-lavender-tint); color: var(--sauge-lavender-ink); font-size: 10px; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.woocommerce nav.woocommerce-pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; padding: 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--sauge-green); color: var(--sauge-white); }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images img { border-radius: 4px; background: var(--sauge-soft); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sauge-green); font-size: 1.35rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--sauge-muted); }
.woocommerce div.product form.cart .button { min-height: 46px; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid var(--sauge-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--sauge-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--sauge-green); background: transparent; }
.woocommerce table.shop_table { border-color: var(--sauge-line); border-radius: 4px; background: var(--sauge-white); }
.woocommerce table.shop_table th { color: var(--sauge-green-dark); font-family: var(--sauge-serif); font-size: 1.1rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 46px; padding: 10px 12px; border: 1px solid var(--sauge-line); border-radius: 3px; background: var(--sauge-white); }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--sauge-green); background: var(--sauge-soft-low); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sauge-green); }
.sauge-account-prompt { max-width: 540px; margin-top: 40px; padding: 28px; border: 1px solid var(--sauge-line); border-radius: 4px; background: var(--sauge-soft-low); }
.sauge-account-prompt h2 { margin: 0 0 8px; color: var(--sauge-green-dark); font-family: var(--sauge-serif); font-size: 1.5rem; }
.sauge-account-prompt > p { margin: 0 0 20px; color: var(--sauge-muted); }
.sauge-account-prompt .woocommerce-error { margin: 0 0 20px; }
.sauge-account-prompt .button { min-height: 46px; }

.sauge-footer { padding-top: 72px; border-top: 1px solid var(--sauge-line-soft); background: var(--sauge-soft-low); }
.sauge-footer__main { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 48px; padding-bottom: 56px; }
.sauge-brand--footer { margin-bottom: 16px; }
.sauge-footer__main p { max-width: 440px; margin: 0; color: var(--sauge-muted); font-size: 14px; }
.sauge-footer__links { flex-wrap: wrap; justify-content: flex-end; }
.sauge-footer__links a { color: var(--sauge-muted); text-transform: uppercase; }
.sauge-footer__links a:hover { color: var(--sauge-green); }
.sauge-footer__legal { padding-block: 22px; border-top: 1px solid var(--sauge-line); color: var(--sauge-muted); font-size: 11px; }
.sauge-footer__legal p { margin: 0; }

@media (max-width: 900px) {
	.sauge-header__inner { grid-template-columns: 1fr auto; }
	.sauge-menu-toggle { display: grid; }
	.sauge-nav { position: fixed; top: 112px; right: 0; bottom: 0; left: 0; display: none; padding: 36px 24px; background: var(--sauge-paper); }
	.menu-is-open .sauge-nav { display: block; }
	.menu-is-open .icon-menu { display: none; }
	.menu-is-open .icon-close { display: block; }
	.sauge-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
	.sauge-nav a { padding: 18px 0; border-bottom: 1px solid var(--sauge-line); font-family: var(--sauge-serif); font-size: 1.8rem; font-weight: 500; }
	.sauge-nav a::after { display: none; }
	.sauge-hero__frame { min-height: 460px; }
	.sauge-story__grid { grid-template-columns: 1fr; }
	.sauge-story__image { min-height: 560px; }
	.sauge-footer__main { grid-template-columns: 1fr; align-items: start; }
	.sauge-footer__links { justify-content: flex-start; }
}

@media (max-width: 700px) {
	.sauge-container { width: min(calc(100% - 32px), var(--sauge-container)); }
	.sauge-announcement { font-size: 9px; }
	.sauge-header__inner { min-height: 68px; }
	.sauge-brand { font-size: 1.45rem; }
	.sauge-brand__mark { width: 30px; height: 30px; }
	.sauge-account-link { display: none; }
	.sauge-actions { gap: 0; }
	.sauge-icon-button { width: 38px; }
	.sauge-nav { top: 100px; }
	.sauge-hero { padding-block: 16px 0; }
	.sauge-hero__frame { align-items: flex-end; min-height: 520px; padding: 16px; }
	.sauge-hero__media { background-position: 62% center; }
	.sauge-hero__panel { width: 100%; }
	.sauge-hero__panel p { font-size: 15px; }
	.sauge-hero h1 { font-size: 2rem; }
	.sauge-section__header--row { align-items: flex-start; flex-direction: column; gap: 12px; }
	.sauge-divider { padding-block: 36px; }
	.sauge-section { padding-block: 24px 80px; }
	.sauge-section__header { margin-bottom: 32px; }
	.sauge-collections { grid-template-columns: 1fr; }
	.sauge-collection { min-height: 390px; }
	.sauge-story { padding-block: 80px; }
	.sauge-story__image { min-height: 430px; }
	.sauge-values__grid { grid-template-columns: 1fr; gap: 30px; }
	.sauge-page, .sauge-commerce { padding-block: 56px 80px; }
	.sauge-commerce .woocommerce-products-header { padding-inline: 8px; }
	.woocommerce .woocommerce-products-header .page-title, .woocommerce-page .woocommerce-products-header .page-title, .woocommerce-page > .page-title { width: calc(100% - 8px); margin-left: 8px; }
	.woocommerce .woocommerce-result-count { margin-left: 8px; }
	.woocommerce .sauge-products-per-page, .woocommerce .woocommerce-ordering { display: flex; width: calc(100% - 16px); margin-right: 8px; margin-left: 8px; }
	.woocommerce .sauge-products-per-page { justify-content: space-between; }
	.woocommerce .woocommerce-ordering select, .woocommerce .sauge-products-per-page select { flex: 1; }
	.woocommerce ul.products, .woocommerce.columns-4 ul.products, .woocommerce.columns-3 ul.products { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 16px; padding-inline: 8px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 14px 12px 3px; font-size: 1.1rem; }
	.woocommerce ul.products li.product .price { padding-inline: 12px; }
	.woocommerce ul.products li.product .button { min-height: 42px; margin: auto 12px 12px; padding-inline: 8px; font-size: 10px; }
	.sauge-footer__links { align-items: flex-start; flex-direction: column; gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}