/* ==========================================================================
   HUSSSH: Journal, articles, Our Mission, Ingredients.
   Loaded after css/theme.css. Template/element markup uses the design's
   classes as-is; WPBakery sections use row classes (see "Native WPBakery
   sections" in theme.css for the h6/h2/p conventions).
   ========================================================================== */

/* ---------- Shared: section headings ---------- */
.hh .hh-sec h1 { font-size: clamp(44px, 5.2vw, 76px); line-height: .98; letter-spacing: -0.03em; color: var(--hh-ink); }
.hh .hh-sec .wpb_text_column h6 + h1 { margin-top: 14px; }
.hh .hh-sec .wpb_text_column h1 + p { margin-top: 24px; }

/* ---------- Breadcrumb (templates + Breadcrumb element) ---------- */
.hh .hh-breadcrumb.breadcrumb { margin: 0 0 40px; padding: 0; background: transparent; border-radius: 0; font-size: 13px; }
.hh .hh-breadcrumb > li + li::before { content: "›"; padding: 0 8px; color: #A3B3AE; }
.hh .hh-breadcrumb a { color: var(--hh-muted); text-decoration: none; transition: color var(--hh-t) var(--hh-ease); }
.hh .hh-breadcrumb a:hover { color: var(--hh-green); }
.hh .hh-breadcrumb > .active { color: var(--hh-ink); }
.hh .hh-sec .wpb_wrapper > .hh-breadcrumb + * { margin-top: 0; }

/* ---------- Buttons on dark backgrounds (Formats > Site Styles) ---------- */
.hh .hh-btn--light { --hh-btn-bg: var(--hh-white); --hh-btn-fg: var(--hh-ink); --hh-btn-bd: var(--hh-white); }
.hh .hh-btn--light:hover, .hh .hh-btn--light:focus { --hh-btn-bg: var(--hh-mint); --hh-btn-bd: var(--hh-mint); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .55); }
.hh .hh-btn--ghost-light { --hh-btn-bg: transparent; --hh-btn-fg: var(--hh-white); --hh-btn-bd: rgba(255, 255, 255, .6); }
.hh .hh-btn--ghost-light:hover, .hh .hh-btn--ghost-light:focus { --hh-btn-bg: var(--hh-white); --hh-btn-fg: var(--hh-ink); --hh-btn-bd: var(--hh-white); }
.hh .hh-link--light { color: var(--hh-white); }
.hh .hh-link--light:hover, .hh .hh-link--light:focus { color: var(--hh-aqua); }

/* ---------- Footnote markers (articles, Our Mission) ---------- */
.hh .hh-fn { top: -0.55em; margin-left: 1px; font-size: 11px; font-weight: 700; line-height: 0; }
.hh .hh-fn a { display: inline-block; min-width: 16px; padding: 2px 3px; border-radius: 4px; color: var(--hh-green) !important; text-align: center; text-decoration: none; transition: background-color var(--hh-t) var(--hh-ease), color var(--hh-t) var(--hh-ease); }
.hh .hh-fn a:hover, .hh .hh-fn a:focus { background: var(--hh-green); color: var(--hh-white) !important; }
.hh .hh-fns { white-space: nowrap; }
.hh .hh-fns .hh-fn + .hh-fn { margin-left: 0; }
.hh .hh-fns .hh-fn + .hh-fn::before { content: ","; margin-right: 1px; color: var(--hh-green); }
.hh .hh-fns .hh-fn a { min-width: 0; padding: 2px 1px; }

/* ==========================================================================
   Stats strip: row "hh-sec hh-istats", inner row of Text Blocks (Heading 3 = number)
   ========================================================================== */
.hh .vc_row.hh-sec.hh-istats { padding-top: 40px; padding-bottom: 40px; background: var(--hh-forest); color: var(--hh-white); }
.hh .hh-istats .vc_row.vc_inner { row-gap: 28px; }
.hh .hh-istats .vc_inner > .wpb_column { text-align: center; }
.hh .hh-sec.hh-istats h3 { font-size: clamp(48px, 5vw, 72px); line-height: .9; letter-spacing: -0.03em; color: var(--hh-aqua); }
.hh .hh-sec.hh-istats .wpb_text_column > .wpb_wrapper > * + * { margin-top: 8px; }
.hh .hh-sec.hh-istats p { max-width: none; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
@media (min-width: 992px) {
	.hh .hh-istats .vc_inner > .wpb_column + .wpb_column { border-left: 1px solid rgba(255, 255, 255, .18); }
}
@media (max-width: 767px) {
	.hh .hh-sec.hh-istats .vc_inner > .wpb_column { width: 50%; }
}

/* ==========================================================================
   Journal element (inc/wpbakery/templates/hh_journal.php)
   Every card has the same markup; its look comes from position classes set by
   PHP and re-set by js/theme.js after filtering:
     is-featured  first visible card: full bleed, large text, "Read the article"
     is-wide / is-narrow   7/12 or 5/12 of the row (desktop)
     is-tall / is-short    card height
   ========================================================================== */
.hh .hh-journal { padding-bottom: 96px; }
.hh .hh-jfilter { display: flex; flex-wrap: wrap; gap: 10px; margin: 40px 0 0; padding: 22px 0; border-top: 1px solid var(--hh-line); }
.hh .hh-jfilter__btn {
	min-height: 42px; padding: 0 20px; border: 1.5px solid var(--hh-line-strong); border-radius: 999px;
	background: var(--hh-white); color: var(--hh-ink); font-size: 14px; font-weight: 600; cursor: pointer;
	transition: background-color var(--hh-t) var(--hh-ease), color var(--hh-t) var(--hh-ease), border-color var(--hh-t) var(--hh-ease);
}
.hh .hh-jfilter__btn:hover { border-color: var(--hh-ink); }
.hh .hh-jfilter__btn.is-active { background: var(--hh-ink); border-color: var(--hh-ink); color: var(--hh-white); }
.hh .hh-jempty { padding: 40px 0; text-align: center; color: var(--hh-muted); }
.hh [data-hh-item].is-hidden { display: none !important; }
.hh .hh-jcard [hidden] { display: none !important; }

/* Header */
.hh .hh-j2head { padding: 24px 0 28px; }
.hh .hh-j2head .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-j2head__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; }
.hh .hh-j2head__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(48px, 6vw, 88px); line-height: .9; letter-spacing: -0.035em; color: var(--hh-ink); }
.hh .hh-j2head__dek { margin-top: 12px; font-size: 17px; color: var(--hh-body); }
.hh .hh-j2filter { margin: 0; padding: 0; border: 0; }

/* Cards: all the same markup */
.hh .hh-jlist { display: flex; flex-wrap: wrap; gap: 30px; }
.hh .hh-jcard { flex: 0 0 100%; min-width: 0; display: flex; }
.hh .hh-jcard__link {
	position: relative; overflow: hidden; display: flex; align-items: flex-end; width: 100%; min-height: 480px;
	border-radius: 18px; background: #1B1F1D; color: var(--hh-white); text-decoration: none;
}
.hh .hh-jcard__link:hover, .hh .hh-jcard__link:focus { color: var(--hh-white); }
.hh .hh-jcard__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1000ms var(--hh-ease); }
.hh .hh-jcard__link:hover .hh-jcard__img { transform: scale(1.05); }
.hh .hh-jcard__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 20, 16, .92) 0%, rgba(8, 20, 16, .62) 42%, rgba(8, 20, 16, 0) 72%); }
.hh .hh-jcard__text { position: relative; z-index: 1; padding: 34px clamp(24px, 3vw, 40px); }
.hh .hh-j2chip { display: table; margin-bottom: 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 11.5px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--hh-forest); }
.hh .hh-jcard__title {
	max-width: 20ch; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.06; letter-spacing: -0.02em;
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: transparent; transition: text-decoration-color 400ms var(--hh-ease);
}
.hh .hh-jcard__link:hover .hh-jcard__title { text-decoration-color: currentColor; }
.hh .hh-jcard__excerpt { margin: 12px 0; max-width: 46ch; font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .88); }
.hh .hh-j2meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13.5px; color: rgba(255, 255, 255, .82); }
.hh .hh-j2meta span[aria-hidden] { opacity: .6; }
.hh .hh-jcard__refs { display: none; gap: 10px; }
.hh .hh-jcard__read { display: none; margin-top: 24px; }

/* Wide / narrow, tall / short (desktop) */
@media (min-width: 992px) {
	.hh .hh-jcard.is-wide { flex-basis: calc((100% - 30px) * 7 / 12); }
	.hh .hh-jcard.is-narrow { flex-basis: calc((100% - 30px) * 5 / 12); }
	.hh .hh-jcard.is-tall .hh-jcard__link { min-height: 620px; }
}

/* Featured: full bleed, text lined up with the page content */
.hh .hh-jcard.is-featured { flex-basis: 100vw; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 0; }
.hh .hh-jcard.is-featured .hh-jcard__link { min-height: clamp(520px, 72vh, 760px); border-radius: 0; }
.hh .hh-jcard.is-featured .hh-jcard__img { object-position: 50% 26%; transition-duration: 1200ms; }
.hh .hh-jcard.is-featured .hh-jcard__link:hover .hh-jcard__img { transform: scale(1.03); }
.hh .hh-jcard.is-featured .hh-jcard__link::after { background: linear-gradient(0deg, rgba(8, 20, 16, .85) 0%, rgba(8, 20, 16, .3) 45%, rgba(8, 20, 16, 0) 70%), linear-gradient(90deg, rgba(8, 20, 16, .8) 0%, rgba(8, 20, 16, .55) 40%, rgba(8, 20, 16, 0) 68%); }
.hh .hh-jcard.is-featured .hh-jcard__text { width: 100%; max-width: 1440px; margin: 0 auto; padding: 64px var(--hh-pad); }
.hh .hh-jcard.is-featured .hh-jcard__text > * { max-width: 760px; }
.hh .hh-jcard.is-featured .hh-jcard__title { max-width: 760px; font-size: clamp(34px, 4.4vw, 62px); line-height: 1.02; letter-spacing: -0.025em; text-decoration: none; }
.hh .hh-jcard.is-featured .hh-jcard__excerpt { margin: 18px 0 16px; max-width: 56ch; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
.hh .hh-jcard.is-featured .hh-jcard__refs { display: inline-flex; }
.hh .hh-jcard.is-featured .hh-jcard__read { display: inline-flex; }

@media (max-width: 991px) {
	.hh .hh-jcard .hh-jcard__link { min-height: 460px; }
	.hh .hh-jcard.is-featured .hh-jcard__link { min-height: 560px; }
}
@media (max-width: 767px) {
	.hh .hh-jcard .hh-jcard__link { min-height: 420px; }
	.hh .hh-jcard.is-featured .hh-jcard__excerpt { font-size: 16px; }
	.hh .hh-jcard.is-featured .hh-jcard__link::after { background: linear-gradient(0deg, rgba(8, 20, 16, .92) 0%, rgba(8, 20, 16, .65) 55%, rgba(8, 20, 16, .1) 85%); }
	.hh .hh-jfilter { flex-wrap: nowrap; overflow-x: auto; margin-left: calc(-1 * var(--hh-pad)); margin-right: calc(-1 * var(--hh-pad)); padding-left: var(--hh-pad); padding-right: var(--hh-pad); scrollbar-width: none; }
	.hh .hh-jfilter::-webkit-scrollbar { display: none; }
	.hh .hh-jfilter__btn { flex: 0 0 auto; }
	.hh .hh-j2head__row { align-items: flex-start; }
	.hh .hh-j2filter { width: 100%; }
}

/* ==========================================================================
   Article (single-journal.php)
   ========================================================================== */
.hh .hh-progressbar { position: fixed; left: 0; right: 0; top: 0; z-index: 1040; height: 3px; pointer-events: none; }
.hh .hh-progressbar span { display: block; height: 100%; width: 100%; background: var(--hh-green-bright); transform: scaleX(0); transform-origin: left; }
.admin-bar .hh .hh-progressbar { top: 32px; }
/* Header */
.hh .hh-article-head { padding-top: 28px; }
.hh .hh-article-head__inner { max-width: 880px; }
.hh .hh-article-head__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(38px, 4.6vw, 64px); line-height: 1.02; letter-spacing: -0.025em; color: var(--hh-ink); }
.hh .hh-article-head__dek { margin-top: 22px; max-width: 60ch; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; color: var(--hh-body); }
.hh .hh-article-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 26px; font-size: 14px; color: var(--hh-muted); }
.hh .hh-article-meta li { position: relative; }
.hh .hh-article-meta li + li::before { content: ""; position: absolute; left: -12px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: #B7C7C1; transform: translateY(-50%); }
.hh .hh-article-hero { margin-top: 44px; margin-bottom: 0; }
.hh .hh-article-hero img { width: 100%; height: clamp(280px, 38vw, 540px); object-fit: cover; object-position: 50% 22%; border-radius: 6px; }
/* Layout */
.hh .hh-article-layout { padding-top: 56px; padding-bottom: 32px; }
.hh .hh-article { max-width: 780px; }
.hh .hh-article-side { position: relative; }
/* Summary */
.hh .hh-summary { padding: 30px 34px; background: var(--hh-warm); border-left: 4px solid var(--hh-green); border-radius: 0 14px 14px 0; }
.hh .hh-summary__title { margin-bottom: 14px; font-family: var(--hh-font-display); font-size: 22px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-summary__list { padding-left: 20px; }
.hh .hh-summary__list li { margin-bottom: 10px; font-size: 16.5px; line-height: 1.6; color: var(--hh-ink-soft); }
.hh .hh-summary__list li:last-child { margin-bottom: 0; }
.hh .hh-summary__list li::marker { color: var(--hh-green); }
/* Table of contents */
.hh .hh-toc { position: sticky; top: 120px; }
.admin-bar .hh .hh-toc { top: 152px; }
.hh .hh-toc__title { margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--hh-green); }
.hh .hh-toc__list { padding: 0; list-style: none; counter-reset: hhtoc; border-left: 2px solid var(--hh-line); }
.hh .hh-toc__list li { counter-increment: hhtoc; }
.hh .hh-toc__list a { display: block; margin-left: -2px; padding: 8px 0 8px 18px; border-left: 2px solid transparent; font-size: 15px; line-height: 1.4; color: var(--hh-muted); text-decoration: none; transition: color var(--hh-t) var(--hh-ease), border-color var(--hh-t) var(--hh-ease); }
.hh .hh-toc__list a:hover { color: var(--hh-ink); }
.hh .hh-toc__list a.is-active { color: var(--hh-green); font-weight: 700; border-left-color: var(--hh-green); }
.hh .hh-toc--inline { position: static; margin-top: 32px; padding: 22px 24px; border: 1px solid var(--hh-line); border-radius: 14px; }
/* Prose */
.hh .hh-prose { margin-top: 44px; }
.hh .hh-prose > p, .hh .hh-prose li { font-size: 18px; line-height: 1.75; color: var(--hh-ink-soft); }
.hh .hh-prose > p { margin-bottom: 1.2em; }
.hh .hh-prose .hh-prose__lead { font-size: 20px; line-height: 1.65; color: var(--hh-ink); }
.hh .hh-prose h2 { margin: 72px 0 20px; scroll-margin-top: 120px; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(30px, 3vw, 40px); line-height: 1.08; letter-spacing: -0.02em; color: var(--hh-ink); }
.hh .hh-prose h3 { margin: 40px 0 12px; font-family: var(--hh-font-display); font-weight: 700; font-size: 23px; line-height: 1.2; letter-spacing: -0.01em; color: var(--hh-ink); }
.hh .hh-prose a:not(.btn):not(.hh-qa__q) { color: var(--hh-green); font-weight: 600; }
.hh .hh-prose ul:not(.list-unstyled), .hh .hh-prose ol:not(.list-unstyled) { margin: 0 0 1.4em; padding-left: 22px; }
.hh .hh-prose ul li::marker, .hh .hh-prose ol li::marker { color: var(--hh-green); font-weight: 700; }
.hh .hh-prose li { margin-bottom: 8px; }
/* Figures */
.hh .hh-figure { margin: 40px 0; }
.hh .hh-figure img { width: 100%; border-radius: 6px; }
.hh .hh-figure--wide img { height: clamp(260px, 32vw, 440px); object-fit: cover; object-position: 30% 35%; }
.hh .hh-figure--portrait img { object-position: 50% 30%; }
.hh .hh-figure figcaption { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--hh-muted); }
/* Checklist */
.hh .hh-prose .hh-checklist-list { padding-left: 0; list-style: none; }
.hh .hh-prose .hh-checklist-list li { position: relative; padding-left: 32px; }
.hh .hh-prose .hh-checklist-list li::before {
	content: ""; position: absolute; left: 0; top: 7px; width: 20px; height: 20px; background: var(--hh-green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Mid-article CTA */
.hh .hh-midcta { position: relative; display: flex; align-items: center; gap: 24px; overflow: hidden; margin: 64px 0; padding: 40px 44px; border-radius: 20px; background: var(--hh-forest); color: var(--hh-white); }
.hh .hh-midcta__body { position: relative; z-index: 1; flex: 1 1 60%; }
.hh .hh-midcta__body .hh-eyebrow { margin-bottom: 10px; }
.hh .hh-midcta__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.08; letter-spacing: -0.02em; }
.hh .hh-midcta__text { margin: 14px 0 22px; font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.hh .hh-midcta__price { margin-top: 16px; font-size: 13px; color: rgba(255, 255, 255, .75); }
.hh .hh-midcta__media { position: relative; flex: 0 0 34%; display: flex; align-items: center; justify-content: center; min-height: 260px; }
.hh .hh-midcta__halo { position: absolute; width: 230px; height: 230px; border-radius: 50%; background: rgba(155, 227, 208, .16); animation: hh-breathe 8s ease-in-out infinite; }
.hh .hh-midcta__media img { position: relative; width: auto; height: 250px; animation: hh-bob 7s ease-in-out infinite; filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .3)); }
.hh .hh-midcta .hh-btn:focus-visible, .hh .hh-midcta a:focus-visible { outline-color: var(--hh-aqua); }
.hh .hh-prose .hh-midcta a.hh-link--light { color: var(--hh-white); font-weight: 700; }
.hh .hh-prose .hh-midcta a.hh-link--light:hover { color: var(--hh-aqua); }
/* Evidence table */
.hh .hh-evidence-table { margin: 28px 0 12px; border: 0; }
.hh .hh-evidence-table .table { margin: 0; border: 1px solid var(--hh-border); border-collapse: separate; border-spacing: 0; border-radius: 14px; overflow: hidden; }
.hh .hh-evidence-table caption { padding: 0 0 12px; font-family: var(--hh-font-display); font-size: 18px; font-weight: 700; color: var(--hh-ink); text-align: left; }
.hh .hh-evidence-table .table > thead > tr > th { padding: 14px 16px; border: 0; border-bottom: 1px solid var(--hh-border); background: var(--hh-warm); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--hh-muted); }
.hh .hh-evidence-table.table-responsive > .table > thead > tr > th { white-space: normal; }
.hh .hh-evidence-table .table > tbody > tr > th,
.hh .hh-evidence-table .table > tbody > tr > td { padding: 14px 16px; border-top: 0; border-bottom: 1px solid var(--hh-border); font-size: 15.5px; line-height: 1.45; color: var(--hh-ink-soft); white-space: normal; vertical-align: top; }
.hh .hh-evidence-table .table > tbody > tr > th { font-family: var(--hh-font-display); font-size: 17px; color: var(--hh-green); }
.hh .hh-evidence-table .table > tbody > tr:last-child > * { border-bottom: 0; }
/* Botanical headings */
.hh .hh-botanical { display: flex; align-items: center; gap: 16px; margin: 48px 0 14px; }
.hh .hh-botanical h3 { margin: 0 0 6px; }
.hh .hh-botanical__icon { flex: 0 0 60px; width: 60px; height: 60px; object-fit: contain; mix-blend-mode: multiply; }
.hh .hh-botanical__icon--mono { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--hh-accent-soft); font-family: var(--hh-font-display); font-size: 24px; font-weight: 700; color: var(--hh-green); width: 52px; height: 52px; flex-basis: 52px; margin: 0 4px; }
.hh .hh-evidence { font-size: 13px; font-weight: 600; letter-spacing: .4px; color: var(--hh-muted); }
.hh .hh-evidence span { color: var(--hh-green); text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; margin-right: 4px; }
/* Callout */
.hh .hh-callout { margin: 48px 0; padding: 28px 32px; background: var(--hh-mint); border-radius: 14px; }
.hh .hh-callout__title { margin-bottom: 12px; font-family: var(--hh-font-display); font-size: 20px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-callout ul { margin: 0; padding-left: 20px; }
.hh .hh-callout li { margin-bottom: 8px; font-size: 16px; line-height: 1.6; color: var(--hh-ink-soft); }
.hh .hh-callout li:last-child { margin-bottom: 0; }
/* Numbered routine, FAQ */
.hh .hh-prose .hh-steps-list li { padding-left: 6px; margin-bottom: 14px; }
.hh .hh-article-faq.panel-group { max-width: none; margin: 8px 0 0; }
.hh .hh-article-faq .hh-qa__a p { font-size: 16.5px; line-height: 1.7; }
.hh .hh-prose .hh-qa .panel-title { margin: 0; font-family: var(--hh-font-body); font-size: 17.5px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
/* References */
.hh .hh-refs { margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--hh-line); scroll-margin-top: 120px; }
.hh .hh-refs__title { margin-bottom: 20px; font-size: 26px; letter-spacing: -0.01em; }
.hh .hh-refs__list { padding-left: 24px; }
.hh .hh-refs__list li { margin-bottom: 10px; padding-left: 4px; font-size: 14px; line-height: 1.6; color: var(--hh-body); scroll-margin-top: 130px; transition: background-color 600ms ease; }
.hh .hh-refs__list li::marker { color: var(--hh-green); font-weight: 700; }
.hh .hh-refs__list li:target { background: var(--hh-mint); }
.hh .hh-refs__list a { color: var(--hh-green); font-weight: 600; text-decoration: none; }
.hh .hh-refs__list a:hover { text-decoration: underline; }
.hh .hh-refs__back { margin-left: 4px; }
.hh .hh-disclaimer { margin-top: 28px; padding: 18px 20px; background: var(--hh-paper); border-radius: 10px; font-size: 13px; line-height: 1.6; color: var(--hh-muted); }
/* Related */
.hh .hh-related { margin-top: 44px; }
.hh .hh-related__title { margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--hh-green); }
.hh .hh-related li { border-bottom: 1px solid var(--hh-line); }
.hh .hh-related a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-family: var(--hh-font-display); font-size: 19px; font-weight: 700; color: var(--hh-ink); text-decoration: none; transition: color var(--hh-t) var(--hh-ease); }
.hh .hh-related a::after { content: "→"; color: var(--hh-green); transition: transform var(--hh-t) var(--hh-ease); }
.hh .hh-related a:hover { color: var(--hh-green); }
.hh .hh-related a:hover::after { transform: translateX(4px); }
/* Article: note under the bottom call to action (Text Block class "hh-note") */
.hh .hh-launch .hh-note p { margin-left: auto; margin-right: auto; font-size: 12.5px; color: var(--hh-soft); }


body.single-journal h2 {margin-top:5px!important}
body.single-journal .hh .hh-prose .wpb_text_column:not([class*="hh-"]) p {line-height: 1.55;!important}



/* ---------- Article body built in WPBakery (rows and Text Blocks inside .hh-prose) ----------
   Text Block classes for the building blocks:
     hh-summary          "The short version" box (Heading 4 + bulleted list)
     hh-checklist        bulleted list with alert icons
     hh-evidence-table   table with a caption
     hh-callout          mint box (Heading 4 + bulleted list)
     hh-refs             references (Heading 2 + numbered list with id="ref-N" + disclaimer)
   Inner row class hh-midcta: product box (text column + image column).
   Photos: Add Media, caption class "hh-figure--wide" (and "hh-figure--portrait"). */
.hh .hh-prose .wpb_content_element, .hh .hh-prose .vc_row.wpb_row { margin-bottom: 0; }
.hh .hh-prose .wpb_text_column:not([class*="hh-"]) p,
.hh .hh-prose .wpb_text_column:not([class*="hh-"]) li { font-size: 18px; line-height: 1.75; color: var(--hh-ink-soft); }
.hh .hh-prose .wpb_text_column:not([class*="hh-"]) p { margin: 0 0 1.2em; }
.hh .hh-prose .wpb_text_column:not([class*="hh-"]) > .wpb_wrapper > h2:first-child { margin-top: 72px; }
.hh .hh-prose > .vc_row:first-child .wpb_text_column:first-child > .wpb_wrapper > h2:first-child { margin-top: 0; }
@media (max-width: 767px) {
	.hh .hh-prose .wpb_text_column:not([class*="hh-"]) p, .hh .hh-prose .wpb_text_column:not([class*="hh-"]) li { font-size: 17px; }
}

/* Summary box */
.hh .hh-prose .wpb_text_column.hh-summary { padding: 30px 34px; background: var(--hh-warm); border-left: 4px solid var(--hh-green); border-radius: 0 14px 14px 0; }
.hh .hh-summary h4 { margin: 0 0 14px; font-family: var(--hh-font-display); font-size: 22px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-summary ul { margin: 0; padding-left: 20px; }
.hh .hh-summary li { margin-bottom: 10px; font-size: 16.5px; line-height: 1.6; color: var(--hh-ink-soft); }
.hh .hh-summary li:last-child { margin-bottom: 0; }
.hh .hh-summary li::marker { color: var(--hh-green); }
.hh .hh-prose .hh-summary + * { margin-top: 44px; }
@media (max-width: 767px) {
	.hh .hh-prose .wpb_text_column.hh-summary { padding: 24px 22px; }
}

/* Lead paragraph (Formats > Site Styles > Paragraph: Lead) */
.hh .hh-prose p.hh-prose__lead { font-size: 20px; line-height: 1.65; color: var(--hh-ink); }

/* Photos and captions */
.hh .hh-prose .wp-caption { max-width: 100%; margin: 40px 0; }
.hh .hh-prose .wp-caption img, .hh .hh-prose img.hh-wide { width: 100%; border-radius: 6px; }
.hh .hh-prose .hh-figure--wide img, .hh .hh-prose img.hh-wide { height: clamp(260px, 32vw, 440px); object-fit: cover; object-position: 30% 35%; }
.hh .hh-prose .hh-figure--portrait img { object-position: 50% 30%; }
.hh .hh-prose p:has(> img.hh-wide) { margin: 40px 0; }
.hh .hh-prose .wp-caption-text { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--hh-muted); }

/* Checklist */
.hh .hh-prose .hh-checklist ul { margin: 0 0 1.4em; padding-left: 0; list-style: none; }
.hh .hh-prose .hh-checklist li { position: relative; margin-bottom: 8px; padding-left: 32px; font-size: 18px; line-height: 1.75; color: var(--hh-ink-soft); }
.hh .hh-prose .hh-checklist li::before {
	content: ""; position: absolute; left: 0; top: 7px; width: 20px; height: 20px; background: var(--hh-green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Product box: inner row "hh-midcta" (text column + image column) */
.hh .hh-prose .vc_row.vc_inner.hh-midcta { display: flex; flex-wrap: wrap; align-items: center; margin: 64px 0; padding: 40px 29px; overflow: hidden; border-radius: 20px; background: var(--hh-forest); color: var(--hh-white); }
.hh .hh-prose .vc_row.vc_inner.hh-midcta::before, .hh .hh-prose .vc_row.vc_inner.hh-midcta::after { display: none; }
.hh .hh-midcta h6 { margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: 3.5px; text-transform: uppercase; color: var(--hh-aqua); }
.hh .hh-prose .hh-midcta h3 { margin: 0; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.08; letter-spacing: -0.02em; color: var(--hh-white); }
.hh .hh-prose .hh-midcta p { margin: 14px 0 0; font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.hh .hh-prose .hh-midcta p:has(> .hh-btn) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 22px; }
.hh .hh-prose .hh-midcta p:last-child:not(:has(a, img)) { margin-top: 16px; font-size: 13px; color: rgba(255, 255, 255, .75); }
.hh .hh-prose .hh-midcta a.hh-link--light { color: var(--hh-white); font-weight: 700; }
.hh .hh-prose .hh-midcta a.hh-link--light:hover { color: var(--hh-aqua); }
.hh .hh-midcta > .wpb_column:last-child > .vc_column-inner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 260px; }
.hh .hh-midcta > .wpb_column:last-child > .vc_column-inner::before { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; background: rgba(155, 227, 208, .16); animation: hh-breathe 8s ease-in-out infinite; }
.hh .hh-prose .hh-midcta img { position: relative; width: auto; height: 250px; margin: 0 auto; animation: hh-bob 7s ease-in-out infinite; filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .3)); }
@media (max-width: 767px) {
	.hh .hh-prose .vc_row.vc_inner.hh-midcta { flex-direction: column-reverse; padding: 32px 9px; }
	.hh .hh-midcta > .wpb_column:last-child > .vc_column-inner { min-height: 200px; }
	.hh .hh-prose .hh-midcta img { height: 200px; }
}

/* Evidence table */
.hh .hh-prose .wpb_text_column.hh-evidence-table { margin: 28px 0 12px; overflow-x: auto; }
.hh .hh-evidence-table table { width: 100%; margin: 0; }
.hh .hh-evidence-table .table > thead > tr > th { white-space: normal; }

/* Botanical headings: Heading 3 with the illustration (or a letter badge) first, then an "Evidence" line */
.hh .hh-prose h3:has(.hh-botanical__icon) { display: flex; align-items: center; gap: 16px; margin-top: 48px; }
.hh .hh-prose h3 .hh-botanical__icon { flex: 0 0 60px; width: 60px; height: 60px; object-fit: contain; mix-blend-mode: multiply; }
.hh .hh-prose h3 .hh-botanical__icon--mono { flex-basis: 52px; margin: 0 4px; }
.hh .hh-prose p.hh-evidence { margin: -6px 0 16px 76px; font-size: 13px; font-weight: 600; letter-spacing: .4px; color: var(--hh-muted); }
.hh .hh-prose p.hh-evidence strong { margin-right: 4px; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--hh-green); }

/* Callout */
.hh .hh-prose .wpb_text_column.hh-callout { margin: 48px 0; padding: 28px 32px; background: var(--hh-mint); border-radius: 14px; }
.hh .hh-callout h4 { margin: 0 0 12px; font-family: var(--hh-font-display); font-size: 20px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-callout ul { margin: 0; padding-left: 20px; }
.hh .hh-callout li { margin-bottom: 8px; font-size: 16px; line-height: 1.6; color: var(--hh-ink-soft); }
.hh .hh-callout li:last-child { margin-bottom: 0; }
.hh .hh-callout li::marker { color: var(--hh-green); }

/* FAQ element inside an article */
.hh .hh-prose .hh-faq { padding: 0; background: none; }
.hh .hh-prose .hh-faq .hh-wrap { max-width: none; padding: 0; }
.hh .hh-prose .hh-faq__list.panel-group { max-width: none; margin: 8px 0 0; }
.hh .hh-prose .hh-qa .panel-title { margin: 0; font-family: var(--hh-font-body); font-size: 17.5px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.hh .hh-prose .hh-qa__a p { font-size: 16.5px; line-height: 1.7; color: var(--hh-soft); }

/* References */
.hh .hh-prose .wpb_text_column.hh-refs { margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--hh-line); }
.hh .hh-prose .hh-refs h2 { margin: 0 0 20px; font-size: 26px; letter-spacing: -0.01em; }
.hh .hh-refs ol { margin: 0; padding-left: 24px; }
.hh .hh-refs ol li { margin-bottom: 10px; padding-left: 4px; font-size: 14px; line-height: 1.6; color: var(--hh-body); scroll-margin-top: 130px; transition: background-color 600ms ease; }
.hh .hh-refs ol li::marker { color: var(--hh-green); font-weight: 700; }
.hh .hh-refs ol li:target { background: var(--hh-mint); }
.hh .hh-refs ol a { color: var(--hh-green); font-weight: 600; text-decoration: none; }
.hh .hh-refs ol a:hover { text-decoration: underline; }
.hh .hh-refs .hh-disclaimer { margin-top: 28px; padding: 18px 20px; background: var(--hh-paper); border-radius: 10px; font-size: 13px; line-height: 1.6; color: var(--hh-muted); }

/* ==========================================================================
   Our Mission
   ========================================================================== */
/* Hero: row "hh-sec hh-mhero", text column + photo column (Design Options background) with the badge */
.hh .vc_row.hh-sec.hh-mhero { align-items: stretch; min-height: 700px; padding: 0; overflow: hidden; }
.hh .hh-mhero > .wpb_column:first-child { display: flex; align-items: center; }
.hh .hh-mhero > .wpb_column:first-child > .vc_column-inner { width: 100%; max-width: 660px; margin-left: auto; padding: 28px clamp(24px, 4vw, 64px) 72px var(--hh-pad); }
.hh .hh-mhero .hh-breadcrumb.breadcrumb { margin-bottom: 56px; }
.hh .hh-sec.hh-mhero .wpb_text_column > .wpb_wrapper > h1 + p { max-width: 34em; font-size: clamp(17px, 1.35vw, 19px); }
.hh .hh-mhero > .wpb_column + .wpb_column > .vc_column-inner { position: relative; height: 100%; min-height: 520px; padding: 0; background-size: cover; overflow: hidden; }
.hh .hh-mhero .hh-badge { position: absolute; left: 28px; bottom: 28px; z-index: 1; width: 116px; height: 116px; }
@media (max-width: 991px) {
	.hh .vc_row.hh-sec.hh-mhero { min-height: 0; }
	.hh .hh-sec.hh-mhero > .wpb_column { width: 100%; }
	.hh .hh-mhero > .wpb_column:first-child > .vc_column-inner { max-width: none; padding: 28px var(--hh-pad) 48px; }
	.hh .hh-mhero .hh-breadcrumb.breadcrumb { margin-bottom: 32px; }
	.hh .hh-mhero > .wpb_column + .wpb_column > .vc_column-inner { min-height: 420px; }
}
@media (max-width: 767px) {
	.hh .hh-mhero .hh-badge { left: 16px; bottom: 16px; width: 88px; height: 88px; }
}

/* Mission statement: row "hh-sec hh-mstatement", one Text Block with one paragraph */
.hh .vc_row.hh-sec.hh-mstatement { padding-top: clamp(80px, 9vw, 130px); padding-bottom: clamp(80px, 9vw, 130px); overflow: hidden; background: var(--hh-warm); text-align: center; }
.hh .vc_row.hh-sec.hh-mstatement::before, .hh .vc_row.hh-sec.hh-mstatement::after {
	content: ""; display: block; position: absolute; width: 300px; height: 450px; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300' fill='none' stroke='%23C9E8E2' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M100 298C96 220 104 150 100 10'/%3E%3Cpath d='M100 250C72 244 52 222 48 196C76 200 95 220 100 250Z'/%3E%3Cpath d='M100 212C128 206 148 184 152 158C124 162 105 182 100 212Z'/%3E%3Cpath d='M100 170C74 164 56 142 54 118C80 122 97 142 100 170Z'/%3E%3Cpath d='M100 132C124 126 142 106 146 82C120 86 103 104 100 132Z'/%3E%3Cpath d='M100 94C80 88 66 70 64 50C86 54 98 70 100 94Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hh .vc_row.hh-sec.hh-mstatement::before { left: -40px; top: -40px; transform: rotate(-24deg); }
.hh .vc_row.hh-sec.hh-mstatement::after { right: -60px; top: 20px; width: 420px; height: 630px; transform: rotate(16deg); }
.hh .hh-mstatement .wpb_text_column::before {
	content: ""; display: block; width: 40px; height: 40px; margin: 0 auto 26px; background: var(--hh-maple);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L13.5 6L16 5L15 10L19 8L18.5 10.5L21 11L17.5 14L18.5 16L13 15.5L12.5 21L11.5 21L11 15.5L5.5 16L6.5 14L3 11L5.5 10.5L5 8L9 10L8 5L10.5 6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L13.5 6L16 5L15 10L19 8L18.5 10.5L21 11L17.5 14L18.5 16L13 15.5L12.5 21L11.5 21L11 15.5L5.5 16L6.5 14L3 11L5.5 10.5L5 8L9 10L8 5L10.5 6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hh .hh-sec.hh-mstatement p { max-width: 30ch; margin: 0 auto; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(30px, 4vw, 56px); line-height: 1.08; letter-spacing: -0.02em; color: var(--hh-ink); }

/* Forever chemicals: inner row (text + "hh-labelcheck" Text Block), then an "hh-msources" Text Block */
.hh .vc_row.hh-sec.hh-pfas { background: var(--hh-white); }
.hh .hh-pfas .vc_row.vc_inner { align-items: flex-start; row-gap: 40px; }
.hh .hh-sec.hh-pfas .vc_inner > .wpb_column:first-child p { font-size: 18px; line-height: 1.7; color: var(--hh-ink-soft); }
.hh .hh-sec.hh-pfas .vc_inner > .wpb_column:first-child p:last-child { font-family: var(--hh-font-display); font-size: 22px; font-weight: 700; line-height: 1.35; color: var(--hh-green); }
.hh .hh-sec .wpb_text_column.hh-labelcheck { padding: 30px 30px 26px; border-radius: 18px; background: var(--hh-ink); color: var(--hh-white); }
.hh .hh-sec .hh-labelcheck h4 { font-family: var(--hh-font-display); font-size: 22px; font-weight: 700; color: var(--hh-white); }
.hh .hh-sec .hh-labelcheck p { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .8); }
.hh .hh-sec .hh-labelcheck ul { margin: 18px 0 0; padding: 0; list-style: none; }
.hh .hh-sec .hh-labelcheck li { margin-bottom: 8px; padding: 12px 14px; border-radius: 10px; background: rgba(255, 255, 255, .06); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 14px; color: rgba(255, 255, 255, .7); }
.hh .hh-sec .hh-labelcheck li strong { font-weight: 400; color: var(--hh-white); }
.hh .hh-sec .hh-labelcheck mark { padding: 0 2px; border-radius: 3px; background: #F2A444; color: var(--hh-ink); }
.hh .hh-sec .hh-labelcheck ul + p { margin-top: 16px; font-size: 14.5px; color: rgba(255, 255, 255, .85); }
.hh .hh-sec .hh-labelcheck a:not(.btn) { color: var(--hh-aqua); font-weight: 700; }
.hh .hh-sec .wpb_text_column.hh-msources { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--hh-line); }
.hh .hh-msources ol { margin: 0; padding-left: 22px; }
.hh .hh-msources li { margin-bottom: 6px; font-size: 13px; line-height: 1.55; color: var(--hh-muted); scroll-margin-top: 130px; }
.hh .hh-msources li::marker { color: var(--hh-green); font-weight: 700; }
.hh .hh-msources li:target { background: var(--hh-mint); }
.hh .hh-msources a { color: var(--hh-green); font-weight: 600; }

/* Commitments: row "hh-sec hh-commit hh-dark hh-center", heading + Icon Cards (layout: Numbered cards on dark) */
.hh .vc_row.hh-sec.hh-commit { background: var(--hh-forest); }
.hh .hh-sec.hh-commit h2 { font-size: clamp(34px, 4vw, 56px); line-height: 1.02; letter-spacing: -0.02em; }
.hh .hh-sec.hh-commit .wpb_wrapper > .hh-commit__grid { margin-top: 52px; text-align: left; }
.hh .hh-commit__grid { row-gap: 20px; counter-reset: commit; }
.hh .hh-commit__grid.row { display: flex; flex-wrap: wrap; }
.hh .hh-commit__grid.row::before, .hh .hh-commit__grid.row::after { display: none; }
.hh .hh-commit__grid > li { display: flex; counter-increment: commit; }
.hh .hh-commit__item { position: relative; width: 100%; padding: 30px 28px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 18px; transition: background-color 300ms var(--hh-ease), border-color 300ms var(--hh-ease); }
.hh .hh-commit__item::after { content: "0" counter(commit); position: absolute; right: 24px; top: 24px; font-family: var(--hh-font-display); font-size: 15px; font-weight: 700; color: rgba(255, 255, 255, .35); }
.hh .hh-commit__item:hover { background: rgba(255, 255, 255, .06); border-color: var(--hh-aqua); }
.hh .hh-commit__item svg { width: 48px; height: 48px; margin-bottom: 18px; fill: none; stroke: var(--hh-aqua); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hh .hh-commit__item svg text { fill: var(--hh-aqua); stroke: none; font-family: var(--hh-font-display); font-size: 14px; font-weight: 700; }
.hh .hh-commit__item h3 { font-size: 22px; letter-spacing: -0.01em; color: var(--hh-white); }
.hh .hh-commit__item p { margin-top: 10px; font-size: 15.5px; line-height: 1.6; color: rgba(255, 255, 255, .85); }

/* Image band: row "hh-sec hh-mband", photo column (Design Options background) + white panel Text Block */
.hh .vc_row.hh-sec.hh-mband { align-items: center; min-height: 620px; padding: 0; background: var(--hh-mint); }
.hh .hh-mband > .wpb_column:first-child { align-self: stretch; }
.hh .hh-mband > .wpb_column:first-child > .vc_column-inner { height: 100%; min-height: 380px; padding: 0; background-size: cover; }
.hh .hh-mband > .wpb_column + .wpb_column .wpb_text_column { position: relative; z-index: 1; max-width: 560px; margin: 64px var(--hh-pad) 64px -80px; padding: 48px 44px; border-radius: 20px; background: var(--hh-white); box-shadow: 0 30px 60px -36px rgba(13, 89, 74, .45); }
.hh .hh-sec.hh-mband h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.04; letter-spacing: -0.02em; }
@media (max-width: 991px) {
	.hh .vc_row.hh-sec.hh-mband { min-height: 0; }
	.hh .hh-sec.hh-mband > .wpb_column { width: 100%; }
	.hh .hh-mband > .wpb_column + .wpb_column .wpb_text_column { max-width: none; margin: -80px var(--hh-pad) 56px; padding: 36px 28px; }
}

/* Founder quote (Blockquote in the founder Text Block) */
.hh .hh-founder blockquote { margin: 28px 0 0; padding: 0; border: 0; }
.hh .hh-sec.hh-founder blockquote p { font-family: var(--hh-font-display); font-size: clamp(20px, 2vw, 25px); font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; color: var(--hh-ink); }

/* ==========================================================================
   Ingredients
   ========================================================================== */
.hh .hh-bicon { width: 100%; height: 100%; color: var(--hh-green); }
.hh .hh-bicon .f { fill: #DDF1EC; }

/* Hero: row "hh-sec hh-ihero", text column + Botanical Orbit element */
.hh .vc_row.hh-sec.hh-ihero { min-height: 640px; padding-top: 28px; padding-bottom: 0; overflow: hidden; background: linear-gradient(180deg, var(--hh-white) 0%, var(--hh-mint) 100%); }
.hh .hh-ihero > .wpb_column:first-child > .vc_column-inner { padding-bottom: 64px; }
.hh .hh-sec.hh-ihero h1 { font-size: clamp(46px, 6vw, 88px); line-height: .96; }
.hh .hh-sec.hh-ihero .wpb_text_column > .wpb_wrapper > h1 + p { max-width: 34em; font-size: clamp(17px, 1.35vw, 19px); }
.hh .hh-ihero > .wpb_column + .wpb_column > .vc_column-inner > .wpb_wrapper { display: flex; align-items: center; justify-content: center; padding: 24px 0 56px; }
@media (max-width: 991px) {
	.hh .vc_row.hh-sec.hh-ihero { min-height: 0; }
	.hh .hh-sec.hh-ihero > .wpb_column { width: 100%; }
	.hh .hh-ihero > .wpb_column:first-child > .vc_column-inner { padding-bottom: 8px; }
	.hh .hh-orbit { width: min(440px, 88%); }
}
/* Orbiting botanicals */
.hh .hh-orbit { position: relative; width: min(560px, 92%); aspect-ratio: 1; }
.hh .hh-orbit__ring { position: absolute; inset: 0; border: 1.5px dashed #BFE3DB; border-radius: 50%; animation: hh-spin 90s linear infinite; }
.hh .hh-orbit__ring--inner { inset: 17%; border-style: solid; border-color: transparent; background: var(--hh-white); box-shadow: 0 30px 60px -30px rgba(13, 89, 74, .35); animation: hh-breathe 8s ease-in-out infinite; }
.hh .hh-orbit__bottle { position: absolute; left: 50%; top: 50%; width: auto; max-width: none; height: 78%; translate: -50% -50%; animation: hh-float-b 7s ease-in-out -2s infinite; filter: drop-shadow(0 24px 22px rgba(13, 89, 74, .22)); }
.hh .hh-orbit__item { position: absolute; display: flex; align-items: center; justify-content: center; width: 18%; aspect-ratio: 1; padding: 3%; border-radius: 50%; background: var(--hh-white); box-shadow: 0 12px 28px -14px rgba(13, 89, 74, .45); animation: hh-bob 6s ease-in-out infinite; }
.hh .hh-orbit__item--1 { left: 4%; top: 14%; }
.hh .hh-orbit__item--2 { left: 78%; top: 8%; animation-delay: -1s; }
.hh .hh-orbit__item--3 { left: -4%; top: 48%; animation-delay: -2s; }
.hh .hh-orbit__item--4 { left: 84%; top: 44%; animation-delay: -3s; }
.hh .hh-orbit__item--5 { left: 10%; top: 78%; animation-delay: -4s; }
.hh .hh-orbit__item--6 { left: 72%; top: 80%; animation-delay: -5s; }

/* Icon Cards, layout "Botanical cards" (row "hh-sec hh-nine hh-center") */
.hh .hh-sec.hh-nine .wpb_wrapper > .hh-nine__grid { margin-top: 56px; text-align: left; }
.hh .hh-nine__grid { row-gap: 30px; }
.hh .hh-nine__grid.row { display: flex; flex-wrap: wrap; }
.hh .hh-nine__grid.row::before, .hh .hh-nine__grid.row::after { display: none; }
.hh .hh-nine__grid > li { display: flex; }
.hh .hh-bot { position: relative; width: 100%; padding: 32px 30px 28px; border-radius: 20px; background: var(--hh-warm); transition: background-color 300ms var(--hh-ease), box-shadow 300ms var(--hh-ease); }
.hh .hh-bot:hover { background: var(--hh-mint); box-shadow: 0 24px 40px -30px rgba(13, 89, 74, .5); }
.hh .hh-bot__icon { width: 76px; height: 76px; padding: 10px; margin-bottom: 18px; border-radius: 50%; background: var(--hh-white); transition: transform 400ms var(--hh-ease); }
.hh .hh-bot:hover .hh-bot__icon { transform: rotate(-8deg) scale(1.06); }
.hh .hh-bot__name { font-size: 24px; letter-spacing: -0.01em; color: var(--hh-ink); }
.hh .hh-bot__inci { margin-top: 4px; font-size: 13px; font-style: italic; color: var(--hh-muted); }
.hh .hh-bot__text { margin-top: 14px; font-size: 15.5px; line-height: 1.6; color: var(--hh-body); }
.hh .hh-bot__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.hh .hh-bot__tags li { padding: 5px 12px; border-radius: 999px; background: var(--hh-white); font-size: 12px; font-weight: 700; letter-spacing: .6px; color: var(--hh-green); }
@media (max-width: 767px) {
	.hh .hh-bot { padding: 26px 22px 22px; }
}

/* Image Hotspots element */
.hh .hh-nature { background: var(--hh-forest); color: var(--hh-white); overflow: hidden; }
.hh .hh-nature__row { margin: 0; align-items: stretch; }
.hh .hh-nature__media { padding: 0; }
.hh .hh-hotspots { position: relative; height: 100%; }
.hh .hh-hotspots img { width: 100%; height: 100%; aspect-ratio: 1080 / 1350; object-fit: cover; }
.hh .hh-hotspot {
	position: absolute; width: 40px; height: 40px; margin: -20px 0 0 -20px; padding: 0;
	border: 2px solid var(--hh-white); border-radius: 50%; background: var(--hh-forest); color: var(--hh-white);
	font-family: var(--hh-font-display); font-size: 17px; font-weight: 700; line-height: 1; cursor: pointer;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); animation: hh-pulse 2.6s ease-out infinite;
	transition: transform var(--hh-t) var(--hh-ease), background-color var(--hh-t) var(--hh-ease), color var(--hh-t) var(--hh-ease);
}
.hh .hh-hotspot:hover, .hh .hh-hotspot.is-active { transform: scale(1.15); background: var(--hh-white); color: var(--hh-forest); }
.hh .hh-hotspot:focus-visible { outline: 3px solid var(--hh-aqua); outline-offset: 3px; }
.hh .hh-nature__body { display: flex; flex-direction: column; justify-content: center; padding: 72px clamp(24px, 6vw, 96px); }
.hh .hh-nature__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.02; letter-spacing: -0.02em; }
.hh .hh-nature__text { margin: 18px 0 28px; max-width: 42ch; font-size: 17.5px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.hh .hh-spotlist li { display: flex; gap: 18px; padding: 18px 16px; border-radius: 14px; transition: background-color 300ms var(--hh-ease); }
.hh .hh-spotlist li.is-active { background: rgba(255, 255, 255, .1); }
.hh .hh-spotlist__num { flex: 0 0 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid var(--hh-aqua); font-family: var(--hh-font-display); font-weight: 700; color: var(--hh-aqua); }
.hh .hh-spotlist li.is-active .hh-spotlist__num { background: var(--hh-aqua); color: var(--hh-forest); }
.hh .hh-spotlist__name { font-family: var(--hh-font-display); font-size: 20px; font-weight: 700; }
.hh .hh-spotlist p:not(.hh-spotlist__name) { font-size: 15.5px; color: rgba(255, 255, 255, .82); }
@media (max-width: 991px) {
	.hh .hh-hotspots img { height: auto; }
	.hh .hh-nature__body { padding: 56px var(--hh-pad); }
}

/* Scent notes: row "hh-sec hh-scentnotes hh-narrow"; image column + text column with an ordered list:
   each item = bold stage name, then the notes. Bars shorten from top to base. */
.hh .vc_row.hh-sec.hh-scentnotes { background: var(--hh-warm); }
.hh .hh-scentnotes > .wpb_column:first-child > .vc_column-inner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 320px; }
.hh .hh-scentnotes > .wpb_column:first-child > .vc_column-inner::before { content: ""; position: absolute; width: min(320px, 80%); aspect-ratio: 1; border-radius: 50%; background: #FCE9D2; animation: hh-breathe 8s ease-in-out infinite; }
.hh .hh-scentnotes > .wpb_column:first-child img { position: relative; width: min(300px, 76%); margin: 0 auto; animation: hh-bob 7s ease-in-out infinite; }
.hh .hh-scentnotes ol { margin: 30px 0 0; padding: 0; list-style: none; }
.hh .hh-sec.hh-scentnotes ol > li {
	display: grid; grid-template-columns: 70px 1fr; column-gap: 18px; row-gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--hh-border);
	font-family: var(--hh-font-display); font-size: 21px; font-weight: 700; line-height: 1.3; color: var(--hh-ink);
}
.hh .hh-scentnotes ol > li strong { grid-row: span 2; align-self: center; font-family: var(--hh-font-body); font-size: 12px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--hh-green); }
.hh .hh-scentnotes ol > li::after { content: ""; display: block; grid-column: 2; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #F2A444, var(--hh-green-bright)) 0 0 / var(--w, 60%) 100% no-repeat, #E7E2D8; }
.hh .hh-scentnotes ol > li:nth-child(1) { --w: 92%; }
.hh .hh-scentnotes ol > li:nth-child(2) { --w: 70%; }
.hh .hh-scentnotes ol > li:nth-child(3) { --w: 52%; }
.hh .hh-scentnotes ol > li:nth-child(4) { --w: 38%; }
@media (max-width: 767px) {
	.hh .hh-sec.hh-scentnotes ol > li { font-size: 18px; }
}

/* Icon Cards, layout "Grouped lists" (row "hh-sec hh-cast hh-center") */
.hh .hh-sec.hh-cast h2 { max-width: 22ch; }
.hh .hh-sec.hh-cast .wpb_wrapper > .hh-cast__grid { margin-top: 52px; text-align: left; }
.hh .hh-cast__grid { row-gap: 30px; }
.hh .hh-cast__grid.row { display: flex; flex-wrap: wrap; }
.hh .hh-cast__grid.row::before, .hh .hh-cast__grid.row::after { display: none; }
.hh .hh-cast__grid > div { display: flex; }
.hh .hh-castgroup { width: 100%; padding-top: 22px; border-top: 3px solid var(--hh-green); }
.hh .hh-castgroup__icon { width: 44px; height: 44px; margin-bottom: 14px; fill: #DDF1EC; stroke: var(--hh-green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hh .hh-castgroup h3 { font-size: 22px; letter-spacing: -0.01em; color: var(--hh-ink); }
.hh .hh-castgroup__sum { margin: 6px 0 16px; font-size: 15px; color: var(--hh-muted); }
.hh .hh-castgroup__list { margin: 0; }
.hh .hh-castgroup__list dt { margin-top: 14px; font-size: 14.5px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-castgroup__list dd { margin: 2px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--hh-body); }

/* Icon Cards, layout "Icon row" (row "hh-sec hh-freefrom hh-dark hh-center") */
.hh .vc_row.hh-sec.hh-freefrom { padding-top: 80px; padding-bottom: 80px; background: var(--hh-ink); }
.hh .hh-sec.hh-freefrom h2 { font-size: clamp(36px, 4vw, 56px); letter-spacing: -0.02em; }
.hh .hh-freefrom__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px clamp(24px, 5vw, 72px); margin: 44px 0 0; padding: 0; list-style: none; }
.hh .hh-sec .wpb_wrapper > .hh-freefrom__list { margin-top: 44px; }
.hh .hh-freefrom__list li { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 132px; text-align: center; }
.hh .hh-freefrom__list svg { width: 72px; height: 72px; padding: 18px; border: 1.5px solid rgba(255, 255, 255, .25); border-radius: 50%; fill: none; stroke: var(--hh-aqua); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: border-color var(--hh-t) var(--hh-ease); }
.hh .hh-freefrom__list li:hover svg { border-color: var(--hh-aqua); }
.hh .hh-freefrom__list p { font-family: var(--hh-font-display); font-size: 18px; font-weight: 700; color: var(--hh-white); }

/* Full list: row "hh-sec hh-fulllist hh-narrow"; intro column + Ingredient List element */
.hh .vc_row.hh-sec.hh-fulllist { align-items: flex-start; background: var(--hh-paper); }
.hh .hh-sec.hh-fulllist h2 { font-size: clamp(32px, 3.4vw, 46px); }
.hh .hh-sec.hh-fulllist > .wpb_column:first-child p { font-size: 15px; line-height: 1.6; }
@media (min-width: 992px) {
	.hh .hh-fulllist > .wpb_column:first-child > .vc_column-inner { position: sticky; top: 120px; }
}
.hh .hh-fulllist__filter { display: flex; gap: 8px; margin: 0 0 24px; }
.hh .hh-inci { margin: 0; padding: 0; list-style: none; }
.hh .hh-inci__item { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; column-gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--hh-line-strong); transition: opacity 300ms var(--hh-ease), background-color 300ms var(--hh-ease); }
.hh .hh-inci__item:first-child { border-top: 1px solid var(--hh-line-strong); }
.hh .hh-inci__n { font-family: var(--hh-font-display); font-size: 15px; font-weight: 700; color: #A3B3AE; }
.hh .hh-inci__name { font-size: 16px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-inci__what { margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--hh-body); }
.hh .hh-inci__what strong { color: var(--hh-green); font-weight: 700; }
.hh .hh-inci__type { padding: 4px 10px; border-radius: 999px; background: var(--hh-white); font-size: 11.5px; font-weight: 700; letter-spacing: .5px; color: var(--hh-muted); white-space: nowrap; }
.hh .hh-inci__item--botanical .hh-inci__type { background: var(--hh-green); color: var(--hh-white); }
.hh .hh-inci.is-filtered .hh-inci__item:not(.hh-inci__item--botanical) { opacity: .28; }
.hh .hh-inci.is-filtered .hh-inci__item--botanical { background: rgba(21, 119, 101, .06); }
@media (max-width: 767px) {
	.hh .hh-inci__item { grid-template-columns: 30px 1fr; row-gap: 6px; }
	.hh .hh-inci__type { grid-column: 2; justify-self: start; }
}

/* Try-it CTA: row "hh-sec hh-icta hh-dark"; product image column + text column */
.hh .vc_row.hh-sec.hh-icta { min-height: 520px; overflow: hidden; background: var(--hh-forest); }
.hh .hh-icta > .wpb_column:first-child > .vc_column-inner { position: relative; display: flex; align-items: center; justify-content: center; padding-top: 48px; padding-bottom: 48px; }
.hh .hh-icta > .wpb_column:first-child > .vc_column-inner::before { content: ""; position: absolute; width: min(420px, 80%); aspect-ratio: 1; border-radius: 50%; background: rgba(155, 227, 208, .14); animation: hh-breathe 8s ease-in-out infinite; }
.hh .hh-icta > .wpb_column:first-child img { position: relative; width: auto; height: min(420px, 60vw); margin: 0 auto; animation: hh-bob 7s ease-in-out infinite; filter: drop-shadow(0 24px 24px rgba(0, 0, 0, .3)); }
.hh .hh-sec.hh-icta h2 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.02; letter-spacing: -0.02em; }
.hh .hh-sec.hh-icta p { max-width: 44ch; font-size: 17.5px; color: rgba(255, 255, 255, .88); }
.hh .hh-sec.hh-icta p strong { font-family: var(--hh-font-display); font-size: 22px; color: var(--hh-white); }
@media (max-width: 991px) {
	.hh .vc_row.hh-sec.hh-icta { min-height: 0; }
	.hh .hh-sec.hh-icta > .wpb_column { width: 100%; }
}

/* ---------- Motion ---------- */
/* Gentle float with a slight tilt, like the bottles (hh-float-a/b in theme.css) */
@keyframes hh-bob   { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-14px) rotate(2deg); } }
@keyframes hh-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); } 70% { box-shadow: 0 0 0 14px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }

/* ---------- Article: phones ---------- */
@media (max-width: 991px) {
}
@media (max-width: 767px) {
	.hh .hh-article-meta { flex-direction: column; gap: 4px; }
	.hh .hh-article-meta li + li::before { display: none; }
	.hh .hh-summary { padding: 24px 22px; }
	.hh .hh-prose > p, .hh .hh-prose li { font-size: 17px; }
	.hh .hh-midcta { flex-direction: column-reverse; align-items: stretch; padding: 32px 24px; }
	.hh .hh-midcta__media { min-height: 200px; }
	.hh .hh-midcta__media img { height: 200px; }
	.hh .hh-sec .wpb_text_column.hh-labelcheck { padding: 24px 20px; }
}

/* ==========================================================================
   Product page sections (WPBakery, in the product's content)
   Row "hh-sec hh-p2spread": Text Block h2, Botanical Callouts, inner row
   "hh-p2spread__more" of Text Blocks. Routine Timer and Rating & Quotes are
   full-width elements.
   ========================================================================== */
.hh .vc_row.hh-sec.hh-p2spread { padding-top: 96px; padding-bottom: 104px; border-top: 1px solid var(--hh-line); }
.hh .hh-sec.hh-p2spread h2 { max-width: 18ch; font-size: clamp(34px, 4vw, 58px); line-height: 1; }
.hh .hh-sec .vc_row.vc_inner.hh-p2spread__more {
	row-gap: 24px; margin-top: 64px; padding-top: 28px;
	background: linear-gradient(var(--hh-ink), var(--hh-ink)) 15px 0 / calc(100% - 30px) 1px no-repeat;
}
.hh .hh-sec .hh-p2spread__more h3 { font-size: 20px; }
.hh .hh-sec .hh-p2spread__more .wpb_text_column > .wpb_wrapper > h3 + p { margin-top: 6px; }
.hh .hh-sec .hh-p2spread__more p { font-size: 15.5px; line-height: 1.6; color: var(--hh-body); }

/* Botanical Callouts: photo between two columns of callouts, joined by lines (js/theme.js) */
.hh .hh-p2fig { position: relative; display: flex; column-gap: clamp(24px, 5vw, 80px); margin: 0; }
.hh .hh-sec .wpb_wrapper > * + .hh-p2fig { margin-top: 56px; }
.hh .hh-p2fig__lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.hh .hh-p2fig__lines line { stroke: var(--hh-ink); stroke-width: 1; }
.hh .hh-p2fig__lines circle { fill: var(--hh-ink); }
.hh .hh-p2fig__img { position: relative; flex: 0 1 470px; min-width: 0; }
.hh .hh-p2fig__img img { display: block; width: 100%; height: auto; aspect-ratio: 1080 / 1350; object-fit: cover; border-radius: 4px; }
.hh .hh-p2fig__side { position: relative; flex: 1 1 0; min-width: 0; }
.hh .hh-p2call { position: absolute; top: var(--y); transform: translateY(-50%); width: 100%; max-width: 280px; }
.hh .hh-p2fig__side--left .hh-p2call { right: 0; text-align: right; }
.hh .hh-p2fig__side--right .hh-p2call { left: 0; }
.hh .hh-p2fig .hh-p2call h3 { font-size: 22px; letter-spacing: -0.01em; }
.hh .hh-p2fig .hh-p2call p { margin-top: 4px; font-size: 15px; line-height: 1.55; color: var(--hh-body); }
.hh .hh-p2call__n { display: none; }
.hh .hh-p2dot { position: absolute; z-index: 2; width: 14px; height: 14px; margin: -7px 0 0 -7px; border: 2px solid var(--hh-white); border-radius: 50%; background: var(--hh-ink); }
.hh .hh-p2dot span { display: none; }
.hh .hh-p2dot::after { content: ""; position: absolute; inset: -8px; border: 1px solid var(--hh-white); border-radius: 50%; opacity: .7; animation: hh-ring 2.8s ease-out infinite; }

/* Routine Timer: dial + timeline over a darkened photo */
.hh .hh-p2routine { position: relative; overflow: hidden; background: #0B1A12; color: var(--hh-white); }
.hh .hh-p2routine__bg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 70% 50%; opacity: .45; }
.hh .hh-p2routine::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(6, 20, 14, .9) 0%, rgba(6, 20, 14, .7) 60%, rgba(6, 20, 14, .35) 100%); }
.hh .hh-p2routine__inner::before, .hh .hh-p2routine__inner::after { display: none; }
.hh .hh-p2routine__inner { position: relative; z-index: 2; display: flex; align-items: center; gap: clamp(40px, 7vw, 110px); padding-top: 96px; padding-bottom: 96px; }
.hh .hh-p2routine__body { flex: 1 1 0; min-width: 0; }
.hh .hh-p2dial { position: relative; flex-shrink: 0; width: clamp(200px, 22vw, 280px); aspect-ratio: 1; }
.hh .hh-p2dial svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.hh .hh-p2dial__track { fill: none; stroke: rgba(255, 255, 255, .15); stroke-width: 6; }
.hh .hh-p2dial__arc { fill: none; stroke: var(--hh-aqua); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 540.4; stroke-dashoffset: 540.4; transition: stroke-dashoffset 2.4s var(--hh-ease); }
.hh .hh-p2routine.is-in .hh-p2dial__arc { stroke-dashoffset: 0; }
.hh .hh-p2dial__ticks line { stroke: rgba(255, 255, 255, .5); stroke-width: 2; }
.hh .hh-p2dial__num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; font-family: var(--hh-font-logo); font-weight: 800; font-size: clamp(88px, 9vw, 124px); line-height: .85; color: var(--hh-white); }
.hh .hh-p2dial__num span { margin-top: 8px; font-family: var(--hh-font-body); font-weight: 600; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--hh-aqua); }
.hh .hh-p2routine__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(34px, 4vw, 56px); line-height: 1; letter-spacing: -0.02em; color: var(--hh-white); }
.hh .hh-p2routine__lede { margin-top: 14px; max-width: 46ch; font-size: 17px; color: rgba(255, 255, 255, .85); }
.hh .hh-p2line { position: relative; display: flex; gap: 28px; margin: 44px 0 0; padding-top: 28px; }
.hh .hh-p2line::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255, 255, 255, .35); }
.hh .hh-p2line li { position: relative; flex: 1 1 0; min-width: 0; }
.hh .hh-p2line li::before { content: ""; position: absolute; left: 0; top: -34px; width: 11px; height: 11px; border-radius: 50%; background: var(--hh-aqua); box-shadow: 0 0 0 4px rgba(155, 227, 208, .2); }
.hh .hh-p2line__time { display: block; font-family: var(--hh-font-logo); font-weight: 800; font-size: 26px; line-height: 1; color: var(--hh-aqua); }
.hh .hh-p2line h3 { margin-top: 10px; font-size: 19px; color: var(--hh-white); }
.hh .hh-p2line p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .82); }

/* Rating & Quotes */
.hh .hh-p2reviews { padding: 96px 0; }
.hh .hh-p2reviews__row { row-gap: 32px; }
.hh .hh-p2score__num { font-family: var(--hh-font-logo); font-weight: 800; font-size: clamp(96px, 10vw, 144px); line-height: .85; color: var(--hh-ink); }
.hh .hh-p2score__stars { margin-top: 10px; font-size: 24px; }
.hh .hh-p2score__src { margin-top: 12px; max-width: 30ch; font-size: 14px; line-height: 1.55; color: var(--hh-muted); }
.hh .hh-p2quote { margin: 0; padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid var(--hh-line-strong); }
.hh .hh-p2quote blockquote { margin: 0; padding: 0; border: 0; }
.hh .hh-p2quote blockquote p { font-family: var(--hh-font-display); font-weight: 600; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.25; letter-spacing: -0.015em; color: var(--hh-ink); }
.hh .hh-p2quote figcaption { margin-top: 16px; font-size: 14px; font-weight: 600; color: var(--hh-green); }
.hh .hh-p2quote--small { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--hh-line); }
.hh .hh-p2quote--small blockquote p { font-family: var(--hh-font-body); font-size: 19px; font-weight: 400; line-height: 1.55; letter-spacing: 0; color: var(--hh-ink-soft); }

@keyframes hh-ring { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(1.5); opacity: 0; } }

@media (max-width: 991px) {
	.hh .hh-p2fig { flex-direction: column; row-gap: 28px; }
	.hh .hh-p2fig__lines { display: none; }
	.hh .hh-p2fig__img { order: -1; flex: none; width: 100%; max-width: 520px; margin: 0 auto; }
	.hh .hh-p2fig__side { display: flex; flex-wrap: wrap; gap: 24px; flex: none; }
	.hh .hh-p2call { position: relative; top: auto; transform: none; flex: 1 1 calc(50% - 12px); max-width: none; padding-left: 42px; text-align: left !important; }
	.hh .hh-p2call__n { position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hh-ink); color: var(--hh-white); font-family: var(--hh-font-logo); font-weight: 800; font-size: 15px; }
	.hh .hh-p2dot { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -14px 0 0 -14px; }
	.hh .hh-p2dot span { display: block; color: var(--hh-white); font-family: var(--hh-font-logo); font-weight: 800; font-size: 14px; }
	.hh .hh-p2routine__inner { flex-direction: column; align-items: flex-start; }
	.hh .hh-p2routine__body { flex: none; width: 100%; }
}
@media (max-width: 767px) {
	.hh .hh-p2call { flex-basis: 100%; }
	.hh .hh-p2line { flex-direction: column; gap: 26px; margin-top: 32px; padding: 0 0 0 26px; }
	.hh .hh-p2line::before { top: 0; bottom: 0; left: 5px; right: auto; width: 1px; height: auto; }
	.hh .hh-p2line li { flex: none; }
	.hh .hh-p2line li::before { left: -26px; top: 6px; }
	.hh .hh-p2quote { padding-left: 0; border-left: 0; }
	.hh .vc_row.hh-sec.hh-p2spread, .hh .hh-p2reviews { padding-top: 64px; padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) {
	.hh .hh-p2dial__arc { transition: none; stroke-dashoffset: 0; }
	.hh .hh-p2dot::after { animation: none; }
}

/* ==========================================================================
   FAQ page: FAQ Header element, FAQ elements with the "Topic" layout,
   and the contact row (row class "hh-sec hh-fcontact": Text Block with h2 + p,
   Text Block with the email link).
   ========================================================================== */
.hh .hh-fhead { padding: 24px 0 0; border-bottom: 1px solid var(--hh-line); }
.hh .hh-fhead .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-fhead__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; }
.hh .hh-fhead__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(48px, 6vw, 88px); line-height: .9; letter-spacing: -0.035em; color: var(--hh-ink); }
.hh .hh-fhead__dek { margin-top: 12px; font-size: 17px; color: var(--hh-body); }
.hh .hh-fsearch { position: relative; width: min(380px, 100%); }
.hh .hh-fsearch svg { position: absolute; left: 0; top: 50%; width: 20px; height: 20px; margin-top: -10px; fill: none; stroke: var(--hh-ink); stroke-width: 1.8; stroke-linecap: round; }
.hh .hh-fsearch input { width: 100%; height: 48px; padding: 0 0 0 32px; border: 0; border-bottom: 1.5px solid var(--hh-ink); border-radius: 0; background: transparent; font-size: 17px; color: var(--hh-ink); -webkit-appearance: none; appearance: none; }
.hh .hh-fsearch input::placeholder { color: var(--hh-muted); }
.hh .hh-fsearch input:focus { outline: none; border-bottom-color: var(--hh-green); box-shadow: 0 2px 0 0 var(--hh-green); }
.hh .hh-fnav { margin-top: 28px; padding: 16px 0; }
.hh .hh-fnav[hidden] { display: none; }
.hh .hh-fnav .hh-jfilter__btn { display: inline-flex; align-items: center; text-decoration: none; color: var(--hh-ink); }
.hh .hh-fnav .hh-jfilter__btn:hover, .hh .hh-fnav .hh-jfilter__btn:focus { border-color: var(--hh-ink); background: var(--hh-ink); color: var(--hh-white); }
.hh .hh-fempty { padding: 0 0 24px; font-size: 16px; color: var(--hh-body); }
.hh .hh-fempty[hidden] { display: none; }
.hh .hh-fempty a { color: var(--hh-green); font-weight: 600; }

.hh .hh-fgroup { padding: 64px 0; border-bottom: 1px solid var(--hh-line); scroll-margin-top: 100px; }
.hh .hh-fgroup[hidden] { display: none; }
.hh .hh-fgroup__side { position: sticky; top: 120px; padding-bottom: 24px; }
.admin-bar .hh .hh-fgroup__side { top: 152px; }
.hh .hh-fgroup__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(30px, 3vw, 42px); line-height: 1.02; letter-spacing: -0.02em; color: var(--hh-ink); }
.hh .hh-fgroup__count { margin-top: 10px; font-size: 14px; color: var(--hh-muted); }
.hh .hh-fgroup__list.panel-group { max-width: none; margin: 0; border-top: 1px solid var(--hh-ink); }
.hh .hh-fgroup__list .hh-qa[hidden] { display: none; }
.hh .hh-fgroup__list mark { padding: 0 2px; background: var(--hh-mint); color: inherit; }
.hh .hh-qa__a a { color: var(--hh-green); font-weight: 600; }

.hh .vc_row.hh-sec.hh-fcontact { padding-top: 72px; padding-bottom: 72px; background: var(--hh-forest); color: var(--hh-white); }
.hh .hh-sec.hh-fcontact h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.02; letter-spacing: -0.02em; color: var(--hh-white); }
.hh .hh-sec.hh-fcontact .wpb_text_column h2 + p { margin-top: 10px; }
.hh .hh-sec.hh-fcontact p { font-size: 17px; color: rgba(255, 255, 255, .85); }
.hh .hh-sec.hh-fcontact p a:not(.btn) {
	font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(24px, 3vw, 40px); color: var(--hh-white);
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; text-decoration-color: var(--hh-aqua);
	transition: color var(--hh-t) var(--hh-ease);
}
.hh .hh-sec.hh-fcontact p a:not(.btn):hover, .hh .hh-sec.hh-fcontact p a:not(.btn):focus { color: var(--hh-aqua); }
@media (min-width: 768px) {
	.hh .hh-sec.hh-fcontact > .wpb_column:last-child { text-align: right; }
}

@media (max-width: 991px) {
	.hh .hh-fgroup { padding: 48px 0; }
	.hh .hh-fgroup__side { position: static; padding-bottom: 20px; }
}
@media (max-width: 767px) {
	.hh .hh-fsearch { width: 100%; }
	.hh .hh-sec.hh-fcontact > .wpb_column + .wpb_column { margin-top: 16px; }
}

/* ==========================================================================
   Results page
   Header: row "hh-sec hh-rhead" (Breadcrumb, then an Inner Row: Text Block with h1 + p,
   Text Block with the share link). Stories: Results Stories element (featured, cards,
   strips). "hh-sec hh-rexpect": Text Block h2 | Text Block list + hh-note.
   "hh-sec hh-rshare hh-dark": Text Block | Single Image (fills the right half).
   ========================================================================== */
.hh .vc_row.hh-sec.hh-rhead { padding-top: 24px; padding-bottom: 32px; }
.hh .hh-sec.hh-rhead .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-sec.hh-rhead .wpb_wrapper > * + .vc_row { margin-top: 0; }
.hh .hh-sec.hh-rhead .vc_row.vc_inner { align-items: flex-end; row-gap: 18px; }
.hh .hh-sec.hh-rhead h1 { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(48px, 6vw, 88px); line-height: .9; letter-spacing: -0.035em; color: var(--hh-ink); }
.hh .hh-sec.hh-rhead .wpb_text_column h1 + p { margin-top: 12px; }
.hh .hh-sec.hh-rhead p { max-width: 62ch; font-size: 17px; color: var(--hh-body); }
.hh .hh-sec.hh-rhead p a:not(.btn) { font-size: 15px; }
@media (min-width: 768px) {
	.hh .hh-sec.hh-rhead .vc_inner .wpb_column:last-child { text-align: right; }
}

/* Before and after pair (hh_story_pair): two photos, HTML tags */
.hh .hh-rpair { display: flex; gap: 12px; }
.hh .hh-rshot { position: relative; display: block; flex: 1 1 0; min-width: 0; margin: 0; overflow: hidden; aspect-ratio: 1; border-radius: 4px; background: #F3F1ED; }
.hh .hh-rshot img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--hh-ease); }
.hh .hh-rtag { position: absolute; left: 14px; bottom: 14px; display: inline-flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 4px; background: rgba(255, 255, 255, .94); font-size: 12.5px; line-height: 1.3; color: var(--hh-body); text-align: left; }
.hh .hh-rtag b { font-family: var(--hh-font-logo); font-weight: 800; font-size: 18px; letter-spacing: .5px; text-transform: uppercase; color: var(--hh-ink); line-height: 1; }
.hh .hh-rtag--after { background: var(--hh-forest); color: rgba(255, 255, 255, .85); }
.hh .hh-rtag--after b { color: var(--hh-white); }

/* Featured */
.hh .hh-rfeature { padding: 8px 0 24px; }
.hh .hh-rfeature__row { align-items: center; row-gap: 32px; }
.hh .hh-rshot:hover img { transform: scale(1.03); }
.hh .hh-rfeature__story { padding-left: clamp(15px, 3vw, 48px); }
.hh .hh-rstory__meta { font-size: 13.5px; font-weight: 600; letter-spacing: .3px; color: var(--hh-green); }
.hh .hh-rstory__title { margin-top: 8px; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(40px, 4.4vw, 64px); line-height: .95; letter-spacing: -0.03em; color: var(--hh-ink); }
.hh .hh-rstory__text { margin-top: 18px; }
.hh .hh-rstory__text p { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; color: var(--hh-ink-soft); }
.hh .hh-rstory__text p + p { margin-top: 12px; }
.hh .hh-rstory__note { margin-top: 14px; font-size: 13.5px; color: var(--hh-muted); }

/* Two per row: square photos (object-fit: cover) above the full story */
.hh .hh-rsection__title { margin-bottom: 32px; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(30px, 3vw, 42px); letter-spacing: -0.02em; color: var(--hh-ink); }
.hh .hh-rstories { padding: 80px 0 40px; }
.hh .hh-rstories__row { row-gap: 48px; }
.hh .hh-rcase .hh-rpair { gap: 6px; }
.hh .hh-rcase .hh-rtag { left: 10px; bottom: 10px; padding: 6px 10px; }
.hh .hh-rcase .hh-rtag b { font-size: 15px; }
.hh .hh-rcase__body { padding-top: 22px; }
.hh .hh-rcase__title { margin-top: 6px; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(28px, 2.8vw, 40px); line-height: 1; letter-spacing: -0.02em; color: var(--hh-ink); }
.hh .hh-rcase .hh-rstory__text { margin-top: 12px; max-width: 62ch; }
.hh .hh-rcase .hh-rstory__text p { font-size: 17px; line-height: 1.6; color: var(--hh-body); }
.hh .hh-rstories__note { margin-top: 32px; }

/* What to expect */
.hh .vc_row.hh-sec.hh-rexpect { padding-top: 40px; padding-bottom: 80px; align-items: flex-start; }
.hh .hh-sec.hh-rexpect h2 { max-width: 12ch; font-size: clamp(30px, 3vw, 42px); line-height: 1.02; letter-spacing: -0.02em; }
.hh .hh-sec.hh-rexpect ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--hh-ink); }
.hh .hh-sec.hh-rexpect ol li { display: flex; align-items: baseline; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--hh-line-strong); font-size: 17px; line-height: 1.55; color: var(--hh-ink-soft); }
.hh .hh-sec.hh-rexpect ol li strong { flex: 0 0 140px; font-family: var(--hh-font-logo); font-weight: 800; font-size: 34px; line-height: 1; color: var(--hh-green); }
.hh .hh-sec.hh-rexpect .wpb_wrapper > .hh-note { margin-top: 20px; }

/* Share */
.hh .vc_row.hh-sec.hh-rshare { min-height: 460px; overflow: hidden; background: var(--hh-forest); }
.hh .hh-sec.hh-rshare > .wpb_column:first-child { z-index: 2; }
.hh .hh-sec.hh-rshare h2 { max-width: 14ch; font-size: clamp(34px, 4vw, 56px); line-height: 1; letter-spacing: -0.02em; color: var(--hh-white); }
.hh .hh-sec.hh-rshare p { max-width: 38ch; font-size: 17.5px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.hh .hh-sec.hh-rshare > .wpb_column:last-child { position: absolute; right: 0; top: 0; bottom: 0; width: 50%; padding: 0; }
.hh .hh-sec.hh-rshare > .wpb_column:last-child::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--hh-forest) 0%, rgba(13, 89, 74, 0) 45%); }
.hh .hh-sec.hh-rshare > .wpb_column:last-child :is(.vc_column-inner, .wpb_wrapper, .wpb_single_image, figure, .vc_single_image-wrapper) { width: 100%; height: 100%; margin: 0; padding: 0; }
.hh .hh-sec.hh-rshare > .wpb_column:last-child img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 30%; }

@media (max-width: 767px) {
	.hh .hh-rpair { gap: 6px; }
	.hh .hh-rtag { left: 8px; bottom: 8px; padding: 6px 8px; font-size: 11px; }
	.hh .hh-rtag b { font-size: 15px; }
	.hh .hh-rfeature__story { padding-left: 15px; }
	.hh .hh-rfeature { padding-bottom: 16px; }
	.hh .hh-sec.hh-rexpect ol li { flex-direction: column; gap: 6px; }
	.hh .hh-sec.hh-rexpect ol li strong { flex: none; }
	.hh .vc_row.hh-sec.hh-rshare { min-height: 0; padding-top: 0; }
	.hh .hh-sec.hh-rshare > .wpb_column:last-child { position: relative; order: -1; width: calc(100% + 30px); height: 260px; margin: 0 -15px 40px; }
	.hh .hh-sec.hh-rshare > .wpb_column:last-child::after { display: none; }
}

/* ==========================================================================
   Legal pages (Terms, Privacy, Shipping and Returns …)
   Row "hh-sec hh-legal-head": Breadcrumb + Text Block (h1, "Last updated" line).
   Row "hh-sec hh-legal": Page Contents element (1/4) | Text Block with the document (3/4):
   an optional Lead paragraph, then Heading 2 sections (numbered automatically).
   ========================================================================== */
.hh .vc_row.hh-sec.hh-legal-head { padding-top: 24px; padding-bottom: 36px; border-bottom: 1px solid var(--hh-line); }
.hh .hh-sec.hh-legal-head .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-sec.hh-legal-head h1 { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(40px, 5vw, 72px); line-height: .95; letter-spacing: -0.035em; color: var(--hh-ink); }
.hh .hh-sec.hh-legal-head .wpb_text_column h1 + p { margin-top: 12px; }
.hh .hh-sec.hh-legal-head p { font-size: 17px; color: var(--hh-body); }

.hh .vc_row.hh-sec.hh-legal { align-items: flex-start; padding-top: 48px; padding-bottom: 96px; }
.hh .hh-sec.hh-legal > .wpb_column:first-child { align-self: stretch; }
.hh .hh-sec.hh-legal > .wpb_column:first-child > .vc_column-inner { position: sticky; top: 120px; }
.admin-bar .hh .hh-sec.hh-legal > .wpb_column:first-child > .vc_column-inner { top: 152px; }
@media (min-width: 992px) {
	/* Contents column 50px narrower than the 1/4 it's given in the editor; the document gets the space. */
	.hh .hh-sec.hh-legal > .wpb_column:first-child { width: calc(25% - 50px); }
	.hh .hh-sec.hh-legal > .wpb_column:last-child { width: calc(75% + 50px); padding-left: calc(8.333% + 15px); }
}

/* Page Contents */
.hh .hh-pagetoc__title { margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--hh-green); }
.hh .hh-pagetoc ol { margin: 0; padding-left: 20px; }
.hh .hh-pagetoc li { padding: 4px 0; font-size: 14.5px; line-height: 1.4; color: var(--hh-muted); }
.hh .hh-pagetoc li::marker { color: var(--hh-muted); }
.hh .hh-pagetoc a { color: var(--hh-muted); text-decoration: none; transition: color var(--hh-t) var(--hh-ease); }
.hh .hh-pagetoc a:hover, .hh .hh-pagetoc a.is-active { color: var(--hh-green); }
.hh .hh-pagetoc a.is-active { font-weight: 700; }

/* The document */
.hh .hh-sec.hh-legal .wpb_text_column { counter-reset: hhlegal; }
.hh .hh-sec.hh-legal .wpb_text_column > .wpb_wrapper > * + * { margin-top: 0; }
.hh .hh-sec.hh-legal .wpb_text_column p, .hh .hh-sec.hh-legal .wpb_text_column li { max-width: none; font-size: 17px; line-height: 1.75; color: var(--hh-ink-soft); }
.hh .hh-sec.hh-legal .wpb_text_column p { margin-bottom: 1.2em; }
.hh .hh-sec.hh-legal .wpb_text_column ul, .hh .hh-sec.hh-legal .wpb_text_column ol { margin: 0 0 1.2em; padding-left: 22px; }
.hh .hh-sec.hh-legal .wpb_text_column .hh-prose__lead { font-size: 20px; line-height: 1.65; color: var(--hh-ink); }
.hh .hh-sec.hh-legal .wpb_text_column h2 { counter-increment: hhlegal; margin: 52px 0 16px; scroll-margin-top: 110px; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -0.02em; }
.hh .hh-sec.hh-legal .wpb_text_column h2:first-child { margin-top: 0; }
.hh .hh-sec.hh-legal .wpb_text_column h2::before { content: counter(hhlegal) ". "; color: var(--hh-green); }
.hh .hh-sec.hh-legal .wpb_text_column h3 { margin: 32px 0 10px; font-size: 20px; }
.hh .hh-sec.hh-legal .wpb_text_column a:not(.btn) { color: var(--hh-green); font-weight: 600; }

@media (max-width: 991px) {
	.hh .hh-sec.hh-legal > .wpb_column { width: 100%; }
	.hh .hh-sec.hh-legal > .wpb_column:first-child > .vc_column-inner { position: static; }
	.hh .hh-sec.hh-legal > .wpb_column:last-child { margin-top: 32px; }
}

/* ==========================================================================
   Page header row (any page): row "hh-sec hh-pagehead" with a Breadcrumb and a
   Text Block (h1 + intro paragraph).
   ========================================================================== */
.hh .vc_row.hh-sec.hh-pagehead { padding-top: 24px; padding-bottom: 28px; }
.hh .hh-sec.hh-pagehead .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-sec.hh-pagehead h1 { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(48px, 6vw, 88px); line-height: .9; letter-spacing: -0.035em; color: var(--hh-ink); }
.hh .hh-sec.hh-pagehead .wpb_text_column h1 + p { margin-top: 12px; }
.hh .hh-sec.hh-pagehead p { max-width: 62ch; font-size: 17px; color: var(--hh-body); }

/* ==========================================================================
   Contact page
   Row "hh-sec hh-cmain": first column = photo tile (photo from the column's Design Options →
   Background; Text Block: h6 labels, email link, lines, a horizontal line, the address);
   second column = Text Block h2 + the Contact Form 7 form.
   Row "hh-sec hh-cquick": Text Block h2 + Link Tiles.
   ========================================================================== */
.hh .vc_row.hh-sec.hh-cmain { align-items: stretch; padding-top: 8px; padding-bottom: 88px; row-gap: 32px; }
.hh .hh-sec.hh-cmain > .wpb_column:first-child > .vc_column-inner {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end;
	width: auto; /* WPBakery sets 100%, which with the side margins overflowed the page */
	height: 100%; min-height: 600px; overflow: hidden; margin: 0 15px;
	padding: 34px clamp(24px, 3vw, 40px); border-radius: 18px; background-color: #1B1F1D;
	background-position: 50% 45% !important; color: var(--hh-white);
}
/* Dark fade under the text. display: block overrides WPBakery's clearfix (display: table), which collapses it. */
.hh .hh-sec.hh-cmain > .wpb_column:first-child > .vc_column-inner::after { content: ""; position: absolute; inset: 0; display: block; width: auto; height: auto; background: linear-gradient(0deg, rgba(8, 20, 16, .95) 0%, rgba(8, 20, 16, .82) 55%, rgba(8, 20, 16, .15) 90%); }
.hh .hh-sec.hh-cmain > .wpb_column:first-child .wpb_wrapper { position: relative; z-index: 1; }
.hh .hh-sec.hh-cmain > .wpb_column:first-child h6 { display: table; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 11.5px; letter-spacing: 1.8px; color: var(--hh-forest); }
.hh .hh-sec.hh-cmain > .wpb_column:first-child .wpb_text_column > .wpb_wrapper > * + * { margin-top: 0; }
.hh .hh-sec.hh-cmain > .wpb_column:first-child p { margin: 0 0 14px; font-size: 15px; color: rgba(255, 255, 255, .85); }
.hh .hh-sec.hh-cmain > .wpb_column:first-child p a:not(.btn) {
	font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; color: var(--hh-white);
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; text-decoration-color: var(--hh-aqua); word-break: break-word;
}
.hh .hh-sec.hh-cmain > .wpb_column:first-child p a:not(.btn):hover, .hh .hh-sec.hh-cmain > .wpb_column:first-child p a:not(.btn):focus { color: var(--hh-aqua); }
.hh .hh-sec.hh-cmain > .wpb_column:first-child hr { height: 1px; margin: 26px 0 22px; border: 0; background: rgba(255, 255, 255, .25); }
.hh .hh-sec.hh-cmain > .wpb_column:first-child address, .hh .hh-sec.hh-cmain > .wpb_column:first-child p:last-child { margin: 0; font-style: normal; font-size: 17px; line-height: 1.6; color: var(--hh-white); }
.hh .hh-sec.hh-cmain > .wpb_column:last-child > .vc_column-inner { padding-left: calc(15px + clamp(0px, 3vw, 40px)); }
.hh .hh-sec.hh-cmain h2 { margin-bottom: 24px; font-size: clamp(28px, 2.6vw, 36px); letter-spacing: -0.02em; }

/* Contact Form 7, theme style (the form's HTML uses hh-field, hh-cform__grid, hh-cform__foot) */
.hh .wpcf7 { max-width: none; }
.hh .wpcf7 form { position: relative; }
.hh .hh-cform__grid { display: flex; flex-wrap: wrap; gap: 0 28px; }
.hh .hh-cform__grid > .hh-field { flex: 1 1 calc(50% - 14px); min-width: 0; }
.hh .hh-field { margin-bottom: 22px; }
.hh .hh-field label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; color: var(--hh-ink); }
.hh .hh-field label span { font-weight: 400; color: var(--hh-muted); }
.hh .hh-field .wpcf7-form-control-wrap { display: block; }
.hh .hh-field input, .hh .hh-field select, .hh .hh-field textarea {
	width: 100%; min-height: 48px; padding: 10px 0; border: 0; border-bottom: 1.5px solid var(--hh-ink); border-radius: 0;
	background: transparent; font-size: 17px; color: var(--hh-ink); -webkit-appearance: none; appearance: none;
}
.hh .hh-field select { padding-right: 28px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C2C2D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 2px center / 18px no-repeat; cursor: pointer; }
.hh .hh-field textarea { min-height: 140px; resize: vertical; line-height: 1.55; }
.hh .hh-field input:focus, .hh .hh-field select:focus, .hh .hh-field textarea:focus { outline: none; border-bottom-color: var(--hh-green); box-shadow: 0 1.5px 0 0 var(--hh-green); }
.hh .hh-field .wpcf7-not-valid { border-bottom-color: #B3261E; }
.hh .hh-field .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 13.5px; color: #B3261E; }
.hh .hh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hh .hh-cform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 8px; }
.hh .hh-cform__foot .wpcf7-submit { min-width: 200px; }
.hh .hh-cform__small { margin: 0; font-size: 13.5px; color: var(--hh-muted); }
.hh .hh-cform__small a { color: var(--hh-green); font-weight: 600; }
.hh .wpcf7 .wpcf7-spinner { margin: 0; }
.hh .wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border: 0; border-radius: 10px; background: var(--hh-mint); font-size: 15px; font-weight: 600; color: var(--hh-green); }
.hh .wpcf7 form.invalid .wpcf7-response-output, .hh .wpcf7 form.unaccepted .wpcf7-response-output, .hh .wpcf7 form.failed .wpcf7-response-output, .hh .wpcf7 form.spam .wpcf7-response-output { background: #FCEEEE; color: #B3261E; }
.hh .wpcf7 form.sent .hh-cform__grid, .hh .wpcf7 form.sent .hh-field, .hh .wpcf7 form.sent .hh-cform__foot { opacity: .5; }

/* Quick links */
.hh .vc_row.hh-sec.hh-cquick { padding-top: 72px; padding-bottom: 96px; background: var(--hh-warm); }
.hh .hh-sec.hh-cquick h2 { font-size: clamp(28px, 2.8vw, 38px); letter-spacing: -0.02em; }

/* Link Tiles */
.hh .hh-tiles { row-gap: 24px; }
.hh .hh-tiles__col { display: flex; }
.hh .hh-tile { position: relative; display: flex; align-items: flex-end; width: 100%; min-height: 340px; overflow: hidden; border-radius: 18px; background: #1B1F1D; color: var(--hh-white); text-decoration: none; }
.hh .hh-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1000ms var(--hh-ease); }
.hh a.hh-tile:hover .hh-tile__img { transform: scale(1.05); }
.hh .hh-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 20, 16, .92) 0%, rgba(8, 20, 16, .62) 42%, rgba(8, 20, 16, 0) 72%); }
.hh .hh-tile__text { position: relative; z-index: 1; display: block; padding: 30px clamp(22px, 2.6vw, 34px); }
.hh .hh-tile__chip { display: table; margin-bottom: 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 11.5px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--hh-forest); }
.hh .hh-tile__title { display: block; max-width: 20ch; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(22px, 2vw, 28px); line-height: 1.06; letter-spacing: -0.02em; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: transparent; transition: text-decoration-color 400ms var(--hh-ease); }
.hh a.hh-tile:hover .hh-tile__title, .hh a.hh-tile:focus-visible .hh-tile__title { text-decoration-color: currentColor; }
.hh a.hh-tile:focus-visible { outline: 3px solid var(--hh-green-bright); outline-offset: 4px; }

@media (max-width: 991px) {
	.hh .hh-sec.hh-cmain > .wpb_column { width: 100%; }
	.hh .hh-sec.hh-cmain > .wpb_column:first-child > .vc_column-inner { min-height: 460px; }
	.hh .hh-sec.hh-cmain > .wpb_column:last-child > .vc_column-inner { padding-left: 15px; }
}
@media (max-width: 767px) {
	.hh .hh-cform__grid > .hh-field { flex-basis: 100%; }
	.hh .hh-tile { min-height: 260px; }
}

/* ==========================================================================
   Search: header search bar (header.php), search form (searchform.php), results page (search.php)
   ========================================================================== */
.hh .hh-searchbar { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; padding: 18px 0; border-top: 1px solid var(--hh-line); border-bottom: 1px solid var(--hh-line); background: var(--hh-white); box-shadow: 0 24px 40px -28px rgba(18, 18, 18, .35); }
.hh .hh-searchbar[hidden] { display: none; }
.hh .hh-searchbar .hh-wrap { display: flex; align-items: center; gap: 12px; }
.hh .hh-searchbar .hh-searchform { flex: 1 1 auto; }
.hh .hh-searchbar__close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--hh-ink); cursor: pointer; }
.hh .hh-searchbar__close:hover, .hh .hh-searchbar__close:focus-visible { background: var(--hh-mint); color: var(--hh-green); }
.hh .hh-searchbar__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.hh .hh-searchform { position: relative; display: flex; align-items: center; gap: 12px; }
.hh .hh-searchform__icon { position: absolute; left: 2px; top: 50%; width: 22px; height: 22px; margin-top: -11px; fill: none; stroke: var(--hh-ink); stroke-width: 1.8; stroke-linecap: round; pointer-events: none; }
.hh .hh-searchform__input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 0 0 36px; border: 0; border-bottom: 1.5px solid var(--hh-ink); border-radius: 0; background: transparent; font-size: 19px; color: var(--hh-ink); -webkit-appearance: none; appearance: none; }
.hh .hh-searchform__input::placeholder { color: var(--hh-muted); }
.hh .hh-searchform__input:focus { outline: none; border-bottom-color: var(--hh-green); box-shadow: 0 2px 0 0 var(--hh-green); }
.hh .hh-searchform__input::-webkit-search-cancel-button { cursor: pointer; }
.hh .hh-searchform__btn { flex-shrink: 0; min-height: 52px; padding: 0 28px; }

.hh .hh-searchpage__head { padding: 24px 0 40px; border-bottom: 1px solid var(--hh-line); }
.hh .hh-searchpage__head .hh-breadcrumb { margin-bottom: 18px; }
.hh .hh-searchpage__title { font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(40px, 5vw, 72px); line-height: .95; letter-spacing: -0.035em; color: var(--hh-ink); overflow-wrap: anywhere; }
.hh .hh-searchpage__count { margin-top: 12px; font-size: 16px; color: var(--hh-muted); }
.hh .hh-searchpage__form { max-width: 720px; margin-top: 28px; }
.hh .hh-searchpage__section { padding: 56px 0; }
.hh .hh-searchpage__section + .hh-searchpage__section { padding-top: 0; }
.hh .hh-searchpage__h2 { margin-bottom: 28px; font-family: var(--hh-font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -0.02em; color: var(--hh-ink); }
.hh .hh-searchpage__products .woocommerce ul.products { margin: 0; }

.hh .hh-searchlist { max-width: 860px; margin: 0; border-top: 1px solid var(--hh-ink); }
.hh .hh-searchlist__item { padding: 22px 0; border-bottom: 1px solid var(--hh-line); }
.hh .hh-searchlist__type { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--hh-green); }
.hh .hh-searchlist__title { margin-top: 6px; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2; letter-spacing: -0.01em; }
.hh .hh-searchlist__title a { color: var(--hh-ink); text-decoration: none; transition: color var(--hh-t) var(--hh-ease); }
.hh .hh-searchlist__title a:hover, .hh .hh-searchlist__title a:focus { color: var(--hh-green); text-decoration: underline; text-underline-offset: 4px; }
.hh .hh-searchlist__text { margin-top: 8px; max-width: 70ch; font-size: 16px; line-height: 1.6; color: var(--hh-body); }

.hh .hh-searchpage__empty { padding-bottom: 88px; }
.hh .hh-searchpage__lead { font-size: 18px; color: var(--hh-body); }
.hh .hh-searchpage__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.hh .hh-searchpage__links a { display: inline-flex; align-items: center; color: var(--hh-ink); text-decoration: none; }
.hh .hh-searchpage__links a:hover, .hh .hh-searchpage__links a:focus { border-color: var(--hh-ink); background: var(--hh-ink); color: var(--hh-white); }

@media (max-width: 767px) {
	.hh .hh-searchbar { padding: 12px 0; }
	.hh .hh-searchform__btn { padding: 0 18px; }
	.hh .hh-searchform__input { font-size: 17px; }
}

/* ==========================================================================
   Page Switcher (hh_switch): pills between related pages. The row holding it sticks
   under the header while scrolling.
   ========================================================================== */
.hh .vc_row:has(> .wpb_column .hh-iswitch) { position: sticky; top: calc(var(--hh-header-h) - 1px); z-index: 1020; }
.admin-bar .hh .vc_row:has(> .wpb_column .hh-iswitch) { top: calc(var(--hh-header-h) + 31px); }
.hh .hh-iswitch { background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--hh-line); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.hh .hh-iswitch__inner { display: flex; align-items: center; justify-content: center; gap: 16px; padding-top: 10px; padding-bottom: 10px; }
.hh .hh-iswitch__inner::before, .hh .hh-iswitch__inner::after { display: none; }
.hh .hh-iswitch__label { font-size: 13.5px; color: var(--hh-muted); }
.hh .hh-iswitch__group { display: inline-flex; padding: 4px; border: 1.5px solid var(--hh-ink); border-radius: 999px; }
.hh .hh-iswitch__opt { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 20px 0 12px; border-radius: 999px; font-size: 15px; font-weight: 700; color: var(--hh-ink); text-decoration: none; transition: background-color var(--hh-t) var(--hh-ease), color var(--hh-t) var(--hh-ease); }
.hh .hh-iswitch__opt img { width: auto; height: 28px; }
.hh .hh-iswitch__opt:hover, .hh .hh-iswitch__opt:focus { color: var(--hh-green); text-decoration: none; }
.hh .hh-iswitch__opt.is-active, .hh .hh-iswitch__opt.is-active:hover { background: var(--hh-ink); color: var(--hh-white); }
.hh .hh-iswitch__opt:focus-visible { outline: 3px solid var(--hh-green-bright); outline-offset: 2px; }
@media (max-width: 767px) {
	.hh .hh-iswitch__label { display: none; }
	.hh .hh-iswitch__opt { padding: 0 16px 0 10px; font-size: 14px; }
}
@media (max-width: 782px) {
	.admin-bar .hh .vc_row:has(> .wpb_column .hh-iswitch) { top: calc(var(--hh-header-h) + 45px); }
}





