/* ==========================================================================
   Health Haven Clinics — design system
   Brand green #056C5F (from the live site) · accents #F5A887 / #F8A683
   Sections: tokens · base · buttons · header & navigation · layout & containers ·
   heroes · sections & cards · home components · page components · plugin components ·
   footer · motion
   ========================================================================== */

@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree-latin.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Newsreader";
	src: url("../fonts/newsreader-latin.woff2") format("woff2");
	font-weight: 500 600;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--hh-green: #056C5F;
	--hh-green-hover: #04594E;
	--hh-green-deep: #033F37;
	--hh-green-ink: #0B3B30;
	--hh-green-bright: #2F8F7E;
	--hh-peach: #F5A887;
	--hh-peach-2: #F8A683;
	--hh-peach-soft: #FDEDE5;
	--hh-peach-wash: #FFF4EE;
	--hh-terracotta: #9C4221;   /* Accent text on light backgrounds (≥ 5.5:1 on white and peach washes). */
	--hh-mint: #E7F2EF;
	--hh-mint-2: #D6EAE3;
	--hh-sage: #EEF5F1;
	--hh-cream: #FFF9F5;
	--hh-sand: #F7EFE6;
	--hh-white: #FFFFFF;
	--hh-ink: #17302B;
	--hh-ink-soft: #465C56;
	--hh-line: #D6E3DF;
	--hh-field: #6B827B;
	--hh-danger: #A12A1A;
	--hh-danger-soft: #FCE9E6;
	--hh-success-soft: #E3F4EC;
	--hh-focus: #0B3B30;
	--hh-radius-sm: 8px;
	--hh-radius: 14px;
	--hh-radius-lg: 24px;
	--hh-shadow: 0 1px 2px rgba(3, 63, 55, .06), 0 8px 24px rgba(3, 63, 55, .08);
	--hh-shadow-lg: 0 18px 44px rgba(3, 63, 55, .14);
	--hh-sans: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--hh-serif: "Newsreader", Georgia, "Times New Roman", serif;
	/* Containers: wide matches the home hero; content for most sections; prose for long text. */
	--hh-max: 1180px;
	--hh-content: 1040px;
	--hh-prose: 720px;
	--hh-measure: 70ch;
	--hh-gutter: clamp(16px, 4vw, 32px);
	--hh-space: clamp(48px, 7vw, 96px);
	--hh-topbar-h: 40px;
	--hh-bar-h: 78px;
	--hh-ease: cubic-bezier(.2, .7, .3, 1);
}

/* ---------- Base ---------- */
html { scroll-padding-top: calc(var(--hh-bar-h) + 20px); }
body.hh-site {
	background: var(--hh-white);
	color: var(--hh-ink);
	font-family: var(--hh-sans);
	font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
html.hh-menu-open, html:has(dialog[open]) { overflow: hidden; }
.hh-site h1, .hh-site h2, .hh-site h3, .hh-site h4 {
	color: var(--hh-ink);
	font-family: var(--hh-serif);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -.01em;
	margin: 0 0 .6em;
	text-wrap: balance;
}
.hh-site h1 { font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.6rem); }
.hh-site h2 { font-size: clamp(1.65rem, 1.3rem + 1.4vw, 2.4rem); }
.hh-site h3 { font-size: clamp(1.15rem, 1.08rem + .35vw, 1.35rem); font-family: var(--hh-sans); font-weight: 700; letter-spacing: 0; }
.hh-site p { margin-block: 0 1em; }
.hh-site :where(ul, ol) { margin: 0 0 1em; }
.hh-site .entry-content p, .hh-site .entry-content li { max-width: var(--hh-measure); }
.hh-site a { color: var(--hh-green); text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; transition: color .15s ease, text-decoration-thickness .15s ease; }
.hh-site a:hover { color: var(--hh-green-hover); text-decoration-thickness: 2px; }
.hh-site img { max-width: 100%; height: auto; }
.hh-site :focus-visible {
	outline: 3px solid var(--hh-focus);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--hh-white);
	border-radius: 4px;
}
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000;
	top: 8px; left: 8px; padding: 12px 18px; background: var(--hh-white); color: var(--hh-green-ink);
	font-weight: 700; border-radius: var(--hh-radius-sm); box-shadow: var(--hh-shadow);
}
html:not(.hh-js) .hh-js-only { display: none !important; }
/* Component display rules (e.g. buttons as inline-flex) must never override the hidden attribute. */
.hh-site [hidden] { display: none !important; }
.hh-container { max-width: var(--hh-max); margin: 0 auto; padding: 0 var(--hh-gutter); }

/* Astra layout neutralization (page-builder layout gives full-width content) */
.hh-site .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.hh-site #primary, .hh-site .entry-content { margin: 0; padding: 0; }
.hh-site .entry-content > * { margin-block: 0; }
.hh-site .site-content article.page, .hh-site .site-content .ast-article-single { padding: 0 !important; margin: 0 !important; background: transparent; }
.hh-site #ast-scroll-top { background-color: var(--hh-green); color: var(--hh-white); border-radius: 50%; }
.hh-site .entry-content > .wp-block-group:not(.hh-section):not(.hh-hero),
.hh-site .entry-content > p,
.hh-site .entry-content > .wp-block-heading,
.hh-site .entry-content > .wp-block-list,
.hh-site .entry-content > .wp-block-shortcode { max-width: var(--hh-max); margin-inline: auto; padding-inline: var(--hh-gutter); }

/* ---------- Buttons ---------- */
.hh-button,
.hh-site .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; padding: .7rem 1.4rem;
	border: 2px solid transparent; border-radius: 999px;
	font-family: var(--hh-sans); font-weight: 700; font-size: 1rem; line-height: 1.2; text-align: center;
	text-decoration: none; cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .2s ease, transform .2s var(--hh-ease);
}
.hh-button--sm { min-height: 44px; padding: .5rem 1.05rem; font-size: .95rem; }
.hh-button--primary,
.hh-site .wp-block-button__link,
.hh-site .is-style-hh-primary .wp-block-button__link { background: var(--hh-green); color: var(--hh-white); }
.hh-button--primary:hover,
.hh-site .wp-block-button__link:hover { background: var(--hh-green-hover); color: var(--hh-white); text-decoration: none; box-shadow: 0 6px 18px rgba(5, 108, 95, .25); }
.hh-button--secondary,
.hh-site .is-style-hh-peach .wp-block-button__link { background: var(--hh-peach); color: var(--hh-ink); }
.hh-button--secondary:hover,
.hh-site .is-style-hh-peach .wp-block-button__link:hover { background: var(--hh-peach-2); color: var(--hh-ink); box-shadow: 0 6px 18px rgba(245, 168, 135, .45); }
.hh-button--ghost,
.hh-site .is-style-hh-outline .wp-block-button__link { background: transparent; color: var(--hh-green); border-color: var(--hh-green); }
.hh-button--ghost:hover,
.hh-site .is-style-hh-outline .wp-block-button__link:hover { background: var(--hh-mint); color: var(--hh-green-ink); box-shadow: none; }
.hh-button[disabled], .hh-button[aria-disabled="true"] { opacity: .65; cursor: progress; }
@media (hover: hover) {
	.hh-button:not([disabled]):hover, .hh-site .wp-block-button__link:hover { transform: translateY(-1px); }
}
/* Astra styles every <button> (blue on focus/hover); keep brand colors in every state. */
.hh-site button.hh-button { padding: .7rem 1.4rem; box-shadow: none; letter-spacing: 0; text-transform: none; }
.hh-site button.hh-button--sm { padding: .5rem 1.05rem; }
.hh-site button.hh-button--primary, .hh-site button.hh-button--primary:hover, .hh-site button.hh-button--primary:focus, .hh-site button.hh-button--primary:active { background: var(--hh-green); border-color: var(--hh-green); color: var(--hh-white); }
.hh-site button.hh-button--primary:hover { background: var(--hh-green-hover); }
.hh-site button.hh-button--ghost, .hh-site button.hh-button--ghost:focus, .hh-site button.hh-button--ghost:active { background: transparent; border-color: var(--hh-green); color: var(--hh-green); }
.hh-site button.hh-button--ghost:hover { background: var(--hh-mint); color: var(--hh-green-ink); }
/* Links inherit the green link color; buttons must keep their own text colors for contrast. */
.hh-site a.hh-button { text-decoration: none; }
.hh-site a.hh-button--primary, .hh-site a.hh-button--primary:hover { color: var(--hh-white); }
.hh-site a.hh-button--secondary, .hh-site a.hh-button--secondary:hover { color: var(--hh-ink); }
.hh-site a.hh-button--ghost { color: var(--hh-green); }
.hh-site .hh-section--green .is-style-hh-outline .wp-block-button__link,
.hh-site .hh-hero--deep .is-style-hh-outline .wp-block-button__link { color: var(--hh-white); border-color: var(--hh-white); }
.hh-site .hh-section--green .is-style-hh-outline .wp-block-button__link:hover,
.hh-site .hh-hero--deep .is-style-hh-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); color: var(--hh-white); }
.hh-site .wp-block-buttons { gap: .75rem; margin-top: 1.25rem; }
.hh-site .wp-block-buttons.hh-buttons--secondary { margin-top: .75rem; }
.hh-site .wp-block-buttons.hh-center { justify-content: center; margin-top: 2rem; }

/* ---------- Header & navigation ---------- */
/* The header sticks with a negative offset equal to the top bar's height: the top bar scrolls
   away and the main bar stays pinned. No height change on scroll, so content never jumps. */
.hh-header { position: sticky; top: calc(-1 * var(--hh-topbar-h)); z-index: 60; background: var(--hh-white); }
.admin-bar .hh-header { top: calc(32px - var(--hh-topbar-h)); }
@media (max-width: 782px) { .admin-bar .hh-header { top: calc(46px - var(--hh-topbar-h)); } }
@media (max-width: 600px) { .admin-bar .hh-header { top: calc(-1 * var(--hh-topbar-h)); } }
.hh-topbar { background: var(--hh-green-deep); color: #E9F3F0; font-size: .9rem; height: var(--hh-topbar-h); overflow: hidden; }
.hh-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 100%; }
.hh-topbar__note { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hh-topbar__links { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.hh-site .hh-topbar a { color: var(--hh-white); font-weight: 600; text-decoration: none; }
.hh-site .hh-topbar a:hover { text-decoration: underline; }
.hh-site .hh-topbar :focus-visible { outline-color: var(--hh-peach-2); box-shadow: none; outline-offset: -3px; }
@media (max-width: 640px) { .hh-topbar__note { display: none; } .hh-topbar__inner { justify-content: center; } }

.hh-header__main { background: var(--hh-white); border-bottom: 1px solid var(--hh-line); transition: box-shadow .25s ease, border-color .25s ease; }
.hh-header.is-stuck .hh-header__main { box-shadow: 0 6px 22px rgba(3, 63, 55, .1); border-bottom-color: transparent; }
.hh-header__bar { display: flex; align-items: center; gap: 1.25rem; min-height: var(--hh-bar-h); }
.hh-logo { display: inline-flex; align-items: center; background: var(--hh-green); border-radius: var(--hh-radius-sm); padding: 10px 16px; flex: 0 0 auto; }
.hh-logo img { display: block; width: auto; height: 34px; max-width: none; }
.hh-logo--footer { padding: 12px 18px; }
.hh-logo--footer img { height: 38px; }
.hh-site .hh-logo:focus-visible { outline-offset: 3px; }

.hh-nav { margin-left: auto; display: flex; align-items: center; gap: 1rem; min-width: 0; }
.hh-nav__list { display: flex; align-items: center; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.hh-nav__item { position: relative; display: flex; align-items: center; }
.hh-site .hh-nav__link { display: block; padding: .6rem .55rem; color: var(--hh-ink); font-weight: 600; text-decoration: none; border-radius: var(--hh-radius-sm); transition: color .15s ease, background-color .15s ease; }
.hh-site .hh-nav__link:hover, .hh-nav__item.is-current > .hh-nav__link { color: var(--hh-green); }
.hh-nav__item.is-current > .hh-nav__link { box-shadow: inset 0 -3px 0 var(--hh-peach); }
.hh-site .hh-nav__sub-toggle { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-left: -.35rem; padding: 0; border: 0; border-radius: 6px; background: transparent; box-shadow: none; color: var(--hh-ink); cursor: pointer; }
.hh-site .hh-nav__sub-toggle:hover, .hh-site .hh-nav__sub-toggle:focus { background: var(--hh-mint); color: var(--hh-ink); }
.hh-nav__sub-toggle svg { transition: transform .2s ease; }
.hh-nav__sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.hh-nav__sub { list-style: none; margin: 0; padding: .5rem; }
.hh-site .hh-nav__sub .hh-nav__link { padding: .55rem .8rem; font-weight: 500; }
.hh-site .hh-nav__sub .hh-nav__link:hover { background: var(--hh-mint); }
.hh-nav__sub .hh-nav__item.is-current > .hh-nav__link { box-shadow: inset 3px 0 0 var(--hh-peach); }
.hh-nav__actions { display: flex; gap: .6rem; }
.hh-nav__actions .hh-button { white-space: nowrap; padding-inline: 1.1rem; }
.hh-nav-toggle { display: none; }

@media (min-width: 1200px) {
	.hh-nav__sub {
		position: absolute; top: 100%; left: -.5rem; min-width: 250px; z-index: 70;
		background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow-lg);
		margin-top: 8px;
	}
	/* Invisible bridge over the 8px gap so the pointer can travel from parent to submenu. */
	.hh-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
	html:not(.hh-js) .hh-nav__sub { display: none; }
	html:not(.hh-js) .hh-nav__item:hover > .hh-nav__sub, html:not(.hh-js) .hh-nav__item:focus-within > .hh-nav__sub { display: block; }
	.hh-js .hh-nav__sub { visibility: hidden; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .18s ease, transform .2s var(--hh-ease), visibility 0s linear .2s; }
	.hh-js .hh-nav__sub-toggle[aria-expanded="true"] + .hh-nav__sub { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition: opacity .18s ease, transform .2s var(--hh-ease), visibility 0s; }
}
@media (max-width: 1199px) {
	.hh-site .hh-nav-toggle {
		display: inline-flex; align-items: center; gap: .55rem; margin-left: auto;
		min-height: 44px; padding: .5rem .9rem; border: 2px solid var(--hh-green); border-radius: 999px;
		background: var(--hh-white); color: var(--hh-green); font: 700 1rem var(--hh-sans); cursor: pointer;
	}
	.hh-nav-toggle__icon, .hh-nav-toggle__icon::before, .hh-nav-toggle__icon::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; content: ""; transition: transform .2s ease, background-color .2s ease; }
	.hh-nav-toggle__icon::before { position: absolute; top: -6px; }
	.hh-nav-toggle__icon::after { position: absolute; top: 6px; }
	.hh-nav-toggle[aria-expanded="true"] .hh-nav-toggle__icon { background: transparent; }
	.hh-nav-toggle[aria-expanded="true"] .hh-nav-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
	.hh-nav-toggle[aria-expanded="true"] .hh-nav-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }
	.hh-header__bar { flex-wrap: wrap; }
	.hh-nav { display: block; flex-basis: 100%; margin: 0; padding: .5rem 0 1rem; border-top: 1px solid var(--hh-line); }
	.hh-js .hh-nav { display: none; }
	/* The open panel scrolls on its own so long menus stay usable on short phone screens. */
	.hh-js .hh-nav.is-open { display: block; max-height: calc(100dvh - var(--hh-bar-h) - 8px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; animation: hh-drop .22s var(--hh-ease); }
	.hh-nav__list { flex-direction: column; align-items: stretch; }
	.hh-nav__item { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid var(--hh-line); }
	.hh-site .hh-nav__link { padding: .85rem .25rem; flex: 1; min-height: 44px; }
	.hh-site .hh-nav__sub-toggle { width: 44px; height: 44px; margin: 0; }
	.hh-nav__sub { flex-basis: 100%; padding: 0 0 .5rem 1rem; }
	.hh-nav__sub .hh-nav__item { border-bottom: 0; }
	.hh-js .hh-nav__sub { display: none; }
	.hh-js .hh-nav__sub-toggle[aria-expanded="true"] + .hh-nav__sub { display: block; animation: hh-drop .2s var(--hh-ease); }
	.hh-nav__actions { flex-direction: column; margin-top: 1rem; }
	.hh-nav__actions .hh-button { width: 100%; }
}
@media (max-width: 420px) {
	.hh-logo { padding: 8px 12px; }
	.hh-logo img { height: 26px; }
	.hh-nav-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* ---------- Layout & containers ---------- */
.hh-section { padding: var(--hh-space) var(--hh-gutter); position: relative; }
.hh-section > * { max-width: var(--hh-content); margin-inline: auto; }
.hh-section > .wp-block-columns, .hh-section > .hh-cards, .hh-section > .wp-block-shortcode, .hh-section > .wp-block-html { max-width: var(--hh-max); }
.hh-section--tight { padding-block: clamp(36px, 5vw, 64px); }
.hh-section--mint { background: var(--hh-mint); }
.hh-section--cream { background: var(--hh-cream); }
.hh-section--peach { background: var(--hh-peach-wash); }
.hh-section--sage { background: var(--hh-sage); }
.hh-section--green { background: var(--hh-green); color: #F2F8F6; }
.hh-section--green h2, .hh-section--green h3 { color: var(--hh-white); }
.hh-site .hh-section--green a:not(.wp-block-button__link) { color: var(--hh-white); }
.hh-section--green :focus-visible { outline-color: var(--hh-peach-2) !important; box-shadow: none !important; }
.hh-section--narrow, .hh-prose { max-width: var(--hh-prose) !important; margin-inline: auto; }
.hh-section-head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.hh-section-head h2 { margin-bottom: .35em; }
.hh-eyebrow { color: var(--hh-green); font-family: var(--hh-sans); font-size: .95rem; font-weight: 700; letter-spacing: .01em; margin-bottom: .6rem; display: flex; align-items: center; gap: .55rem; }
.hh-eyebrow::before { content: ""; width: 22px; height: 3px; border-radius: 2px; background: var(--hh-peach); flex: 0 0 auto; }
.hh-center .hh-eyebrow { justify-content: center; }
.hh-section--green .hh-eyebrow { color: var(--hh-peach-2); }
.hh-lede { font-size: clamp(1.06rem, 1rem + .35vw, 1.22rem); color: var(--hh-ink-soft); }
.hh-section--green .hh-lede { color: #D3E6E0; }
.hh-center { text-align: center; }
.hh-center p, .hh-center .hh-lede { margin-inline: auto; }
/* A paragraph that is itself centered keeps its reading width and sits in the middle of its container. */
.hh-site p.hh-center, .hh-site .hh-center > p, .hh-site .hh-section-head.hh-center > * { margin-inline: auto; }
.hh-section-head.hh-center { text-align: center; margin-inline: auto; }
.hh-center .wp-block-buttons { justify-content: center; }
.hh-split { align-items: center; gap: clamp(24px, 5vw, 64px) !important; }
.hh-split--text { align-items: flex-start; }
.hh-split .wp-block-image img, .hh-media img { border-radius: var(--hh-radius-lg); width: 100%; object-fit: cover; aspect-ratio: 4 / 3; box-shadow: var(--hh-shadow); }
.hh-split .wp-block-image { margin: 0; }
@media (min-width: 782px) { .hh-split--flip > .wp-block-column:first-child { order: 2; } }

/* ---------- Heroes ---------- */
.hh-hero { position: relative; overflow: hidden; isolation: isolate; padding: clamp(40px, 6vw, 88px) var(--hh-gutter) clamp(40px, 6vw, 80px); }
.hh-hero::before, .hh-hero::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.hh-hero > * { position: relative; max-width: var(--hh-max); margin-inline: auto; }
.hh-hero .wp-block-columns { align-items: center; gap: clamp(24px, 5vw, 64px); margin: 0 auto; }
.hh-hero h1 { margin-bottom: .35em; }
.hh-hero .hh-lede { color: var(--hh-ink-soft); }
.hh-hero .hh-lede--more { font-size: 1.05rem; }
.hh-hero__text { max-width: var(--hh-content) !important; }
.hh-hero__text > * { max-width: 760px; }
.hh-hero__split > .wp-block-column:first-child { flex-basis: 56% !important; }
.hh-hero__split > .wp-block-column:last-child { flex-basis: 44% !important; }
.hh-hero__image { margin: 0; position: relative; }
.hh-hero__image img { border-radius: 28px 28px 28px 120px; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; box-shadow: var(--hh-shadow-lg); }
.hh-hero__image::after { content: ""; position: absolute; z-index: -1; inset: auto -14px -14px auto; width: 70%; height: 70%; border-radius: 28px; background: var(--hh-peach); opacity: .45; }
.hh-hero__cutout img { border-radius: 0; max-height: 520px; width: auto; margin-inline: auto; display: block; }

/* Colored text treatments (the words themselves are unchanged). */
.hh-hl { color: var(--hh-green); background: linear-gradient(transparent 64%, rgba(245, 168, 135, .55) 64%, rgba(245, 168, 135, .55) 92%, transparent 92%); padding-inline: .05em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.hh-kicker { font-family: var(--hh-serif); font-weight: 600; font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); line-height: 1.3; color: var(--hh-terracotta); margin: -.15em 0 .55em; }
.hh-kicker + .hh-kicker { font-family: var(--hh-sans); font-weight: 700; font-size: 1.02rem; color: var(--hh-green-ink); }
.hh-badge-line { display: inline-flex; align-items: center; gap: .4rem; margin: 0 .5rem .45rem 0; padding: .3rem .8rem; border-radius: 999px; background: var(--hh-white); color: var(--hh-green-ink); font-size: .9rem; font-weight: 700; box-shadow: 0 0 0 1px var(--hh-line); vertical-align: middle; }
.hh-badge-line::before { content: "★" / ""; color: #B26A2C; }
.hh-h-kicker { display: block; font-family: var(--hh-sans); font-size: .95rem; font-weight: 700; color: var(--hh-terracotta); margin-bottom: .45rem; }
.hh-text-link { margin: .9rem 0 0; font-weight: 700; }

.hh-hero--home { background: linear-gradient(135deg, var(--hh-cream) 0%, var(--hh-mint) 100%); }
.hh-hero--home::after { width: 520px; height: 520px; right: -160px; top: -200px; background: radial-gradient(circle, rgba(245, 168, 135, .35), rgba(245, 168, 135, 0) 70%); }
.hh-hero--page { padding-block: clamp(36px, 5vw, 72px); }
.hh-hero--page h1 { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.3rem); }
.hh-hero--mint { background: linear-gradient(135deg, #EEF7F4 0%, #D3EAE2 100%); }
.hh-hero--mint::after { width: 460px; height: 460px; right: -140px; top: -180px; background: radial-gradient(circle, rgba(245, 168, 135, .4), rgba(245, 168, 135, 0) 70%); }
.hh-hero--mint::before { width: 300px; height: 300px; left: -120px; bottom: -160px; background: radial-gradient(circle, rgba(5, 108, 95, .14), rgba(5, 108, 95, 0) 70%); }
.hh-hero--sage { background: linear-gradient(160deg, #DCEDE6 0%, #F4F1EA 100%); }
.hh-hero--sage::after { width: 420px; height: 420px; left: -160px; top: -140px; background: radial-gradient(circle, rgba(5, 108, 95, .16), rgba(5, 108, 95, 0) 70%); }
.hh-hero--sage::before { width: 260px; height: 260px; right: 8%; bottom: -150px; background: radial-gradient(circle, rgba(245, 168, 135, .38), rgba(245, 168, 135, 0) 70%); }
.hh-hero--peach { background: linear-gradient(135deg, #FFF1E8 0%, #F9D6C4 100%); }
.hh-hero--peach::after { width: 480px; height: 480px; right: -160px; bottom: -220px; background: radial-gradient(circle, rgba(5, 108, 95, .14), rgba(5, 108, 95, 0) 70%); }
.hh-hero--peach::before { width: 220px; height: 220px; left: 38%; top: -120px; background: radial-gradient(circle, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 70%); }
.hh-hero--sand { background: linear-gradient(135deg, #FBF5EC 0%, #EFE2D0 100%); }
.hh-hero--sand::after { width: 440px; height: 440px; right: -120px; top: -200px; background: radial-gradient(circle, rgba(5, 108, 95, .12), rgba(5, 108, 95, 0) 70%); }
.hh-hero--sand::before { width: 260px; height: 260px; left: -100px; bottom: -140px; background: radial-gradient(circle, rgba(245, 168, 135, .4), rgba(245, 168, 135, 0) 70%); }
.hh-hero--deep { background: radial-gradient(120% 140% at 85% 0%, #0A5A4F 0%, var(--hh-green-deep) 60%); color: #E6F1EE; }
.hh-hero--deep::after { width: 420px; height: 420px; right: -120px; bottom: -220px; background: radial-gradient(circle, rgba(248, 166, 131, .32), rgba(248, 166, 131, 0) 70%); }
.hh-hero--deep h1 { color: var(--hh-white); }
.hh-hero--deep .hh-hl { color: var(--hh-peach-2); background: none; }
.hh-hero--deep .hh-kicker { color: #FDDCCB; }
.hh-hero--deep .hh-lede { color: #D3E6E0; }
.hh-hero--deep .hh-eyebrow { color: var(--hh-peach-2); }
.hh-site .hh-hero--deep a:not(.wp-block-button__link) { color: var(--hh-white); }
.hh-hero--deep :focus-visible { outline-color: var(--hh-peach-2) !important; box-shadow: none !important; }
@media (max-width: 781px) {
	.hh-hero__image { max-width: 520px; margin-inline: auto; }
	.hh-hero__image::after { inset: auto -8px -8px auto; }
}

/* ---------- Sections & cards ---------- */
.hh-cards { gap: clamp(16px, 2.5vw, 28px) !important; align-items: stretch !important; }
.hh-cards > .wp-block-column { display: flex; flex-direction: column; }
.hh-cards > .wp-block-column > .hh-card { flex: 1 1 auto; height: auto; }
.hh-cards + .hh-cards { margin-top: clamp(16px, 2.5vw, 28px); }
.hh-card { position: relative; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); padding: clamp(20px, 2.5vw, 28px); box-shadow: var(--hh-shadow); height: 100%; display: flex; flex-direction: column; }
.hh-card:not(.hh-medcard) > .wp-block-image:first-child { margin: calc(-1 * clamp(20px, 2.5vw, 28px)) calc(-1 * clamp(20px, 2.5vw, 28px)) 1.1rem; overflow: hidden; border-radius: var(--hh-radius) var(--hh-radius) 0 0; }
.hh-card:not(.hh-medcard) > .wp-block-image:first-child img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .5s var(--hh-ease); }
.hh-card h2, .hh-card h3 { margin-bottom: .4em; }
.hh-card h2 { font-family: var(--hh-sans); font-weight: 700; font-size: clamp(1.15rem, 1.08rem + .35vw, 1.35rem); letter-spacing: 0; }
.hh-card p:last-child { margin-bottom: 0; }
.hh-card .wp-block-buttons { margin-top: auto; padding-top: .75rem; }
.hh-card--accent { border-top: 5px solid var(--hh-green); }
.hh-card--accent.hh-card--peach { border-top-color: var(--hh-peach); }
@media (hover: hover) {
	.hh-card--lift { transition: transform .25s var(--hh-ease), box-shadow .25s ease, border-color .25s ease; }
	.hh-card--lift:hover { transform: translateY(-4px); box-shadow: var(--hh-shadow-lg); border-color: var(--hh-mint-2); }
	.hh-card--lift:hover > .wp-block-image:first-child img { transform: scale(1.03); }
}
/* Icon cards (decorative icons; the heading carries the meaning). */
.hh-card--feature { padding-top: clamp(24px, 3vw, 32px); }
.hh-card--feature::before { content: ""; display: block; width: 52px; height: 52px; margin-bottom: 1rem; border-radius: 16px; background: var(--hh-mint) var(--hh-icon) center / 26px no-repeat; }
.hh-card--feature:nth-child(even)::before, .wp-block-column:nth-child(even) > .hh-card--feature::before { background-color: var(--hh-peach-soft); }
.hh-icon--plan { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M8.5 10.5l1.5 1.5 3-3M8.5 16h7'/%3E%3C/svg%3E"); }
.hh-icon--pen { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 3l3 3M16 5l3 3-9 9H7v-3zM7 17l-3 3M13 8l3 3'/%3E%3C/svg%3E"); }
.hh-icon--chat { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h12v9H9l-4 3v-3H4zM16 9h4v8h-1v3l-4-3h-4v-3'/%3E%3C/svg%3E"); }
.hh-icon--mind { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.hh-icon--book { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2zM4 19V5M9 8h6'/%3E%3C/svg%3E"); }
.hh-icon--mail { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.hh-icon--clock { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.hh-icon--phone { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.hh-card--contact { text-align: left; }
.hh-card--contact::before { content: ""; display: block; width: 48px; height: 48px; margin-bottom: .9rem; border-radius: 50%; background: var(--hh-mint) var(--hh-icon) center / 24px no-repeat; }
.hh-card--contact h2 { font-size: 1.2rem; }
.hh-card--service h2, .hh-card--service h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); }

/* Lists */
.hh-check-list { list-style: none; padding: 0; }
.hh-check-list li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
.hh-check-list li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--hh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23056C5F' stroke-width='2'/%3E%3C/svg%3E") center / 80% no-repeat; }
.hh-section--green .hh-check-list li::before { background-color: rgba(255,255,255,.15); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23F8A683' stroke-width='2'/%3E%3C/svg%3E"); }
.hh-numbered { counter-reset: hh-step; list-style: none; padding: 0; display: grid; gap: 1rem; }
.hh-numbered > li { counter-increment: hh-step; position: relative; padding: 1.1rem 1.25rem 1.1rem 4.1rem; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); }
.hh-numbered > li::before { content: counter(hh-step); position: absolute; left: 1.1rem; top: 1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--hh-green); color: var(--hh-white); font-weight: 700; display: grid; place-items: center; }
.hh-number-list { counter-reset: hh-n; list-style: none; padding: 0; display: grid; gap: .75rem; margin-bottom: 1.25rem; }
.hh-number-list > li { counter-increment: hh-n; display: grid; grid-template-columns: 2.6rem 1fr; gap: .9rem; align-items: center; font-weight: 600; background: var(--hh-white); border-radius: var(--hh-radius); padding: .7rem 1rem .7rem .7rem; box-shadow: var(--hh-shadow); }
.hh-number-list > li::before { content: counter(hh-n); width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--hh-peach-soft); color: var(--hh-terracotta); font-family: var(--hh-serif); font-size: 1.3rem; font-weight: 600; }
.hh-number-list > li:nth-child(even)::before { background: var(--hh-mint); color: var(--hh-green); }
.hh-doc-list { list-style: none; padding: 0; display: grid; gap: .5rem; }
.hh-doc-list li { position: relative; padding: .6rem .9rem .6rem 2.6rem; background: var(--hh-white); border-radius: var(--hh-radius-sm); border: 1px solid #F3D9CB; }
.hh-doc-list li::before { content: ""; position: absolute; left: .85rem; top: .85rem; width: 1rem; height: 1.2rem; border-radius: 3px; border: 2px solid var(--hh-terracotta); border-top-right-radius: 8px; }
.hh-doc-list--tools li::before { border-radius: 50%; width: 1.1rem; height: 1.1rem; border-color: var(--hh-green); }
.hh-taglist { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .55rem; max-width: var(--hh-max) !important; }
.hh-taglist li { margin: 0; padding: .45rem 1rem; border-radius: 999px; background: var(--hh-white); border: 1px solid var(--hh-mint-2); font-weight: 600; font-size: .95rem; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
@media (hover: hover) { .hh-taglist li:hover { border-color: var(--hh-green-bright); transform: translateY(-2px); } }
.hh-pills { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.hh-pills li { margin: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 999px; background: rgba(255, 255, 255, .85); font-weight: 700; font-size: .92rem; color: var(--hh-green-ink); box-shadow: 0 0 0 1px var(--hh-line); }
.hh-pills li::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--hh-peach); }
.hh-link-list { padding-left: 1.1rem; }

/* Callouts */
.hh-callout { border-left: 5px solid var(--hh-peach); background: var(--hh-peach-soft); padding: 1.1rem 1.35rem; border-radius: 0 var(--hh-radius-sm) var(--hh-radius-sm) 0; }
.hh-callout--warning { border-left-color: var(--hh-danger); background: var(--hh-danger-soft); }
.hh-callout--safety { border-left-color: var(--hh-green); background: var(--hh-white); box-shadow: var(--hh-shadow); }
.hh-callout--safety h2 { font-family: var(--hh-sans); font-size: 1.15rem; font-weight: 700; }
.hh-callout > :last-child { margin-bottom: 0; }
.hh-pullquote { font-family: var(--hh-serif); font-size: clamp(1.4rem, 1.15rem + 1.1vw, 2rem); line-height: 1.3; color: var(--hh-green); border-left: 5px solid var(--hh-peach); padding: .2rem 0 .2rem 1.25rem; margin: 2rem 0 0; }
.hh-goal { margin-top: 1.25rem; background: var(--hh-white); border-radius: var(--hh-radius); padding: 1rem 1.2rem; border: 2px dashed var(--hh-green-bright); }
.hh-goal p { margin: 0; }
.hh-cta-line { font-weight: 700; color: var(--hh-terracotta); margin-bottom: 0; }
.hh-site a.hh-cta-link { display: inline-block; font-weight: 700; padding: .8rem 1.1rem; border-radius: var(--hh-radius); background: var(--hh-peach-soft); color: var(--hh-green-ink); text-decoration: none; border: 1px solid #F3D9CB; }
.hh-site a.hh-cta-link:hover { background: var(--hh-peach); color: var(--hh-ink); }
.hh-source-line { margin-top: 1.75rem; color: var(--hh-ink-soft); font-style: italic; }

/* FAQ (core Details block) with a gentle reveal of the answer */
.hh-faq { display: grid; gap: .75rem; margin-bottom: 2rem; }
.hh-site .wp-block-details { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); padding: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.hh-site .wp-block-details[open] { border-color: var(--hh-mint-2); box-shadow: var(--hh-shadow); }
.hh-site .wp-block-details summary { cursor: pointer; list-style: none; padding: 1rem 3rem 1rem 1.25rem; font-weight: 700; position: relative; border-radius: var(--hh-radius); }
.hh-site .wp-block-details summary::-webkit-details-marker { display: none; }
.hh-site .wp-block-details summary::after { content: "+"; position: absolute; right: 1.15rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; line-height: 1; color: var(--hh-green); transition: transform .2s ease; }
.hh-site .wp-block-details[open] summary::after { content: "−"; }
.hh-site .wp-block-details[open] summary { border-bottom: 1px solid var(--hh-line); border-radius: var(--hh-radius) var(--hh-radius) 0 0; }
.hh-site .wp-block-details > :not(summary) { padding: 0 1.25rem; }
.hh-site .wp-block-details > :not(summary):first-of-type { padding-top: 1rem; }
.hh-site .wp-block-details > :last-child { padding-bottom: 1.1rem; margin-bottom: 0; }
.hh-site .wp-block-details[open] > :not(summary) { animation: hh-fade-down .25s var(--hh-ease); }
.hh-faq-nav { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.hh-faq-nav a { display: inline-block; padding: .45rem .9rem; border-radius: 999px; background: var(--hh-mint); text-decoration: none; font-weight: 600; }

/* Editor notes (visible only to signed-in editors) */
.hh-editor-note { border: 2px dashed #8a6d00; background: #fff8db; color: #3d3000; padding: .8rem 1rem; border-radius: var(--hh-radius-sm); font-size: .92rem; max-width: var(--hh-content); margin: 1.5rem auto 0; }

/* ---------- Home components ---------- */
/* The Journey (layout from the rebuild reference): sticky intro column + numbered steps on a line. */
.hh-section--journey { background: linear-gradient(180deg, var(--hh-white) 0%, var(--hh-sage) 100%); }
.hh-journey { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; max-width: var(--hh-content) !important; }
.hh-journey__head { position: sticky; top: calc(var(--hh-bar-h) + 28px); }
.hh-journey__head h2 { margin-bottom: .4em; }
.hh-journey__steps { list-style: none; margin: 0; padding: 0; }
.hh-journey__step { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 1.1rem; padding-bottom: 1.6rem; max-width: none !important; }
.hh-journey__step:not(:last-child)::after { content: ""; position: absolute; left: 25px; top: 56px; bottom: .3rem; width: 2px; background: var(--hh-line); }
.hh-journey__num { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-family: var(--hh-serif); font-size: 1.35rem; font-weight: 600; background: var(--hh-green); color: var(--hh-white); box-shadow: 0 0 0 6px var(--hh-white); transition: background-color .45s ease, transform .45s var(--hh-ease); }
.hh-journey__step:nth-child(even) .hh-journey__num { background: var(--hh-peach); color: var(--hh-ink); }
.hh-journey__card { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); padding: 1.05rem 1.3rem 1.15rem; box-shadow: var(--hh-shadow); }
.hh-journey__card h3 { margin-bottom: .45rem; }
.hh-journey__card ul { margin: 0; padding-left: 1.1rem; }
.hh-journey__card li { margin-bottom: .2rem; }
.hh-journey__card li::marker { color: var(--hh-green-bright); }
@media (max-width: 860px) {
	.hh-journey { grid-template-columns: 1fr; gap: 1.5rem; }
	.hh-journey__head { position: static; }
}
/* Before a step is revealed its number is outlined, then fills in. */
.hh-journey__step.hh-reveal:not(.is-in) .hh-journey__num { background: var(--hh-white); color: var(--hh-ink-soft); box-shadow: 0 0 0 2px var(--hh-field) inset, 0 0 0 6px var(--hh-white); }

/* Statistics band — deliberately different from the white feature cards. */
.hh-stats { list-style: none; margin: clamp(2rem, 4vw, 3rem) auto 0 !important; padding: clamp(14px, 2vw, 18px); display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 1.5vw, 14px); background: var(--hh-green-deep); border-radius: var(--hh-radius-lg); max-width: var(--hh-max) !important; box-shadow: var(--hh-shadow-lg); }
.hh-stat { margin: 0; padding: clamp(18px, 2.4vw, 26px) clamp(16px, 2vw, 22px); border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); max-width: none !important; }
.hh-stat__num { display: block; font-family: var(--hh-serif); font-weight: 600; font-size: clamp(2.6rem, 2rem + 2.2vw, 3.6rem); line-height: 1; color: var(--hh-peach-2); margin-bottom: .5rem; letter-spacing: -.02em; }
.hh-stat--2 .hh-stat__num, .hh-stat--4 .hh-stat__num { color: #9FE0CF; }
.hh-stat__label { display: block; color: #D7E9E3; font-size: .98rem; line-height: 1.45; }
@media (max-width: 900px) { .hh-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .hh-stats { grid-template-columns: 1fr; } }

/* ---------- Page components ---------- */
/* Provider cards and full-profile dialog */
.hh-provider-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(16px, 2.5vw, 28px); }
.hh-provider-card { display: flex; flex-direction: column; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); overflow: hidden; box-shadow: var(--hh-shadow); transition: transform .25s var(--hh-ease), box-shadow .25s ease; }
@media (hover: hover) { .hh-provider-card:hover { transform: translateY(-5px); box-shadow: var(--hh-shadow-lg); } }
.hh-provider-card__photo { background: linear-gradient(160deg, var(--hh-mint), var(--hh-peach-soft)); overflow: hidden; }
.hh-provider-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.hh-provider-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.35rem 1.4rem; }
.hh-site .hh-provider-card__name { font-family: var(--hh-serif); font-weight: 600; font-size: clamp(1.35rem, 1.2rem + .5vw, 1.6rem); margin-bottom: .2rem; letter-spacing: -.01em; }
.hh-provider-card__creds { color: var(--hh-green); font-weight: 700; font-size: .9rem; margin: 0 0 .15rem; }
.hh-provider-card__role { color: var(--hh-ink-soft); font-size: .92rem; margin: 0 0 .8rem; }
.hh-provider-card__short { margin-bottom: 1rem; }
.hh-provider-card__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: auto; }
.hh-modal { border: 0; padding: 0; width: min(680px, calc(100vw - 2rem)); max-height: min(88dvh, 900px); border-radius: 24px; box-shadow: var(--hh-shadow-lg); color: var(--hh-ink); background: var(--hh-white); }
.hh-modal[open] { display: flex; flex-direction: column; animation: hh-modal-in .26s var(--hh-ease); }
.hh-modal::backdrop { background: rgba(3, 40, 34, .55); backdrop-filter: blur(3px); }
.hh-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.3rem 1.5rem 1rem; border-bottom: 1px solid var(--hh-line); background: linear-gradient(135deg, var(--hh-cream), var(--hh-mint)); }
.hh-site .hh-modal__title { margin: 0; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); }
.hh-site .hh-modal__x { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid var(--hh-field); background: var(--hh-white); color: var(--hh-ink); padding: 0; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.hh-site .hh-modal__x:hover, .hh-site .hh-modal__x:focus { background: var(--hh-green); color: var(--hh-white); border-color: var(--hh-green); }
.hh-modal__body { padding: 1.4rem 1.5rem; overflow-y: auto; overscroll-behavior: contain; }
.hh-modal__profile { display: grid; grid-template-columns: 120px 1fr; gap: 1.1rem; align-items: center; margin-bottom: 1.2rem; }
.hh-modal__photo { width: 120px; height: 120px; object-fit: cover; object-position: top; border-radius: 18px; }
.hh-modal__profile .hh-taglist li { font-size: .85rem; padding: .3rem .75rem; }
.hh-modal__foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; padding: 1rem 1.5rem 1.25rem; border-top: 1px solid var(--hh-line); background: var(--hh-cream); }
@media (max-width: 520px) {
	.hh-modal__profile { grid-template-columns: 1fr; }
	.hh-modal__foot .hh-button { flex: 1 1 100%; }
}

/* Appointment pricing cards */
.hh-price-cards { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(16px, 2.5vw, 28px); max-width: var(--hh-max); }
.hh-price-card { position: relative; display: flex; flex-direction: column; gap: .35rem; margin: 0; max-width: none !important; padding: 1.6rem 1.5rem 1.5rem; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); overflow: hidden; transition: transform .25s var(--hh-ease), box-shadow .25s ease; }
.hh-price-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--hh-green); }
.hh-price-card--2::before { background: var(--hh-peach); }
.hh-price-card--3::before { background: linear-gradient(90deg, var(--hh-green), var(--hh-peach)); }
@media (hover: hover) { .hh-price-card:hover { transform: translateY(-4px); box-shadow: var(--hh-shadow-lg); } }
.hh-site .hh-price-card__name { font-family: var(--hh-sans); font-weight: 700; font-size: 1.15rem; margin: .2rem 0 .3rem; }
.hh-price-card__price { margin: 0; color: var(--hh-ink-soft); font-weight: 600; }
.hh-price-card__price strong { font-family: var(--hh-serif); font-size: 2.6rem; line-height: 1; color: var(--hh-green); margin-right: .25rem; }
.hh-price-card__time { display: inline-flex; align-items: center; gap: .4rem; margin: .2rem 0 1rem; color: var(--hh-green-ink); font-weight: 600; background: var(--hh-mint); border-radius: 999px; padding: .25rem .75rem; align-self: flex-start; }
.hh-price-card__summary { color: var(--hh-ink-soft); font-size: .95rem; }
.hh-price-card .hh-button { margin-top: auto; }
/* Older price list (kept for any page still using it) */
.hh-price-list { list-style: none; padding: 0; display: grid; gap: 1rem; }

/* Medication cards, included card, method cards */
.hh-card--med ul { padding-left: 1.1rem; }
.hh-card--included { border-top: 5px solid var(--hh-peach); }
.hh-card--method { border-left: 5px solid var(--hh-green); }
.wp-block-column:nth-child(even) > .hh-card--method { border-left-color: var(--hh-peach); }

/* Key benefits grid */
.hh-benefits { list-style: none; margin: 0 auto; padding: 0; max-width: var(--hh-content) !important; --hh-cols: 3; --hh-gap: clamp(12px, 2vw, 20px); }
.hh-benefit { position: relative; margin: 0; max-width: none !important; padding: 1.15rem 1.2rem 1.15rem 3.6rem; background: var(--hh-white); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); font-weight: 600; min-height: 4.5rem; display: flex; align-items: center; }
.hh-benefit::before { content: ""; position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--hh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23056C5F' stroke-width='2'/%3E%3C/svg%3E") center / 70% no-repeat; }
.hh-benefit:nth-child(even)::before { background-color: var(--hh-peach-soft); }
@media (max-width: 900px) { .hh-benefits { --hh-cols: 2; } }
@media (max-width: 560px) { .hh-benefits { --hh-cols: 1; } }

/* ==========================================================================
   Plugin components (forms, booking, plans, account, reviews, sitemap)
   ========================================================================== */
.hh-flow, .hh-status, .hh-account, .hh-account-login, .hh-plans, .hh-reviews, .hh-sitemap { max-width: var(--hh-content); margin-inline: auto; }
.hh-flow, .hh-status, .hh-account-login { max-width: 880px; }
.hh-form { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); padding: clamp(20px, 4vw, 40px); box-shadow: var(--hh-shadow); }
.hh-form__title { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); }
.hh-form__title:focus { outline: none; }
.hh-form__status { margin: .75rem 0 0; font-weight: 600; color: var(--hh-green); min-height: 1.5em; }
.hh-field { margin: 0 0 1.15rem; border: 0; padding: 0; min-width: 0; }
.hh-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .hh-field-row { grid-template-columns: 1fr; } }
.hh-field > label, .hh-field > legend { display: block; font-weight: 700; margin-bottom: .35rem; }
.hh-req { color: var(--hh-danger); }
.hh-site .hh-field input[type="text"], .hh-site .hh-field input[type="email"], .hh-site .hh-field input[type="tel"], .hh-site .hh-field input[type="password"], .hh-site .hh-field select, .hh-site .hh-field textarea,
.hh-site #hh-loginform input[type="text"], .hh-site #hh-loginform input[type="password"] {
	width: 100%; min-height: 48px; padding: .65rem .85rem; border: 1.5px solid var(--hh-field); border-radius: var(--hh-radius-sm);
	background: var(--hh-white); color: var(--hh-ink); font: inherit;
}
.hh-site .hh-field input:focus-visible, .hh-site .hh-field select:focus-visible { border-color: var(--hh-green); }
.hh-site [aria-invalid="true"] { border-color: var(--hh-danger) !important; border-width: 2px !important; }
.hh-hint { color: var(--hh-ink-soft); font-size: .92rem; margin: .1rem 0 .5rem; }
.hh-error { color: var(--hh-danger); font-weight: 600; font-size: .95rem; margin: .35rem 0 0; }
.hh-error::before { content: "⚠ "; }
.hh-error[hidden] { display: none; }
.hh-error-summary { border: 2px solid var(--hh-danger); background: var(--hh-danger-soft); border-radius: var(--hh-radius-sm); padding: 1rem 1.25rem; margin-bottom: 1.25rem; }
.hh-error-summary ul { margin: .25rem 0 0; }
.hh-site .hh-error-summary a { color: var(--hh-danger); font-weight: 600; }
.hh-field > label.hh-check, .hh-check, .hh-choice { display: flex; gap: .65rem; align-items: flex-start; font-weight: 500 !important; cursor: pointer; }
.hh-check input, .hh-choice input { width: 1.3rem; height: 1.3rem; margin-top: .2rem; flex: 0 0 auto; accent-color: var(--hh-green); }
.hh-choice-row { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.hh-choice--card { border: 1.5px solid var(--hh-line); border-radius: var(--hh-radius-sm); padding: .8rem 1rem; margin-bottom: .6rem; }
.hh-fine-print { font-size: .9rem; color: var(--hh-ink-soft); }
.hh-honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.hh-notice { background: var(--hh-mint); border-left: 5px solid var(--hh-green); padding: 1rem 1.25rem; border-radius: 0 var(--hh-radius-sm) var(--hh-radius-sm) 0; }
.hh-notice--success { background: var(--hh-success-soft); }
.hh-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; }

/* Steps indicator */
.hh-steps { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; counter-reset: none; }
.hh-steps li { flex: 1; display: flex; align-items: center; gap: .5rem; padding: .6rem .75rem; border-radius: var(--hh-radius-sm); background: var(--hh-mint); color: var(--hh-ink-soft); font-weight: 600; font-size: .92rem; transition: background-color .25s ease, color .25s ease; max-width: none !important; }
.hh-steps li span { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--hh-white); color: var(--hh-green); font-weight: 700; flex: 0 0 auto; }
.hh-steps li.is-current { background: var(--hh-green); color: var(--hh-white); }
.hh-steps li.is-done span { background: var(--hh-peach); color: var(--hh-ink); }
@media (max-width: 640px) { .hh-steps li { font-size: 0; gap: 0; justify-content: center; } .hh-steps li span { font-size: .95rem; } }
[data-step]:not([hidden]) { animation: hh-fade-up .3s var(--hh-ease); }

/* Choice cards */
.hh-type-choice, .hh-treatment-choice { border: 0; padding: 0; margin: 0 0 1rem; display: grid; gap: .85rem; }
.hh-treatment-choice { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.hh-treatment-choice legend { font-weight: 700; margin-bottom: .5rem; grid-column: 1 / -1; }
.hh-type-card, .hh-treatment-card { position: relative; display: grid; gap: .25rem; padding: 1.1rem 1.25rem 1.1rem 3.25rem; border: 2px solid var(--hh-line); border-radius: var(--hh-radius); cursor: pointer; background: var(--hh-white); transition: border-color .18s ease, background-color .18s ease; }
.hh-type-card input, .hh-treatment-card input { position: absolute; left: 1.15rem; top: 1.3rem; width: 1.3rem; height: 1.3rem; accent-color: var(--hh-green); }
.hh-type-card:has(input:checked), .hh-treatment-card:has(input:checked) { border-color: var(--hh-green); background: var(--hh-mint); }
.hh-type-card:has(input:focus-visible), .hh-treatment-card:has(input:focus-visible) { outline: 3px solid var(--hh-focus); outline-offset: 2px; }
.hh-type-card__name, .hh-treatment-card__name { font-weight: 700; font-size: 1.08rem; }
.hh-type-card__meta { display: flex; gap: 1rem; font-weight: 600; color: var(--hh-ink-soft); }
.hh-type-card__price, .hh-treatment-card__price { color: var(--hh-green); font-weight: 700; }
.hh-type-card__summary, .hh-treatment-card__terms { color: var(--hh-ink-soft); font-size: .95rem; }

/* Booking: provider, calendar and slots */
.hh-visit-line { font-weight: 700; color: var(--hh-green-ink); background: var(--hh-mint); border-radius: 999px; padding: .35rem .9rem; display: inline-block; }
.hh-site .hh-cal-heading { font-family: var(--hh-serif); font-weight: 600; font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); margin: 2rem 0 .3rem; }
.hh-tz { background: var(--hh-peach-soft); padding: .6rem .9rem; border-radius: var(--hh-radius-sm); }
.hh-earliest { margin: 0 0 1rem; }
.hh-site button.hh-button svg { flex: 0 0 auto; }
.hh-cal { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); padding: clamp(.8rem, 2vw, 1.3rem); box-shadow: var(--hh-shadow); }
.hh-cal__top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; }
.hh-site .hh-cal__month { margin: 0; font-family: var(--hh-sans); font-weight: 700; font-size: 1.15rem; }
.hh-cal__nav { display: flex; gap: .4rem; }
.hh-site .hh-cal__arrow { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1.5px solid var(--hh-field); background: var(--hh-white); color: var(--hh-ink); cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.hh-site .hh-cal__arrow:hover:not(:disabled), .hh-site .hh-cal__arrow:focus { background: var(--hh-mint); border-color: var(--hh-green); color: var(--hh-green-ink); }
.hh-site .hh-cal__arrow:disabled { opacity: .4; cursor: not-allowed; }
.hh-cal__status { font-weight: 600; font-size: .95rem; color: var(--hh-ink-soft); min-height: 1.5em; margin: 0 0 .6rem; }
.hh-cal__dow, .hh-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .3rem; }
.hh-cal__dow span { text-align: center; font-size: .78rem; font-weight: 700; color: var(--hh-ink-soft); padding: .2rem 0; }
.hh-site .hh-cal__day { position: relative; aspect-ratio: 1; min-height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 0; border-radius: 12px; border: 1.5px solid transparent; background: var(--hh-mint); color: var(--hh-ink); font: 700 1rem var(--hh-sans); cursor: pointer; transition: transform .15s ease, border-color .15s ease, background-color .15s ease; }
.hh-site .hh-cal__day:hover:not(:disabled) { border-color: var(--hh-green); transform: translateY(-2px); }
.hh-site .hh-cal__day:disabled { background: transparent; color: #6E807B; cursor: not-allowed; font-weight: 500; }
.hh-site .hh-cal__day.is-empty { background: transparent; border: 0; cursor: default; }
.hh-site .hh-cal__day.is-today { box-shadow: inset 0 0 0 2px var(--hh-peach); }
.hh-site .hh-cal__day[aria-pressed="true"] { background: var(--hh-green); color: var(--hh-white); border-color: var(--hh-green); }
.hh-cal__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--hh-green); }
.hh-cal__day[aria-pressed="true"] .hh-cal__dot { background: var(--hh-white); }
.hh-cal.is-loading .hh-cal__grid { opacity: .45; pointer-events: none; transition: opacity .2s ease; }
.hh-cal__legend { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .85rem; color: var(--hh-ink-soft); margin-top: .9rem; }
.hh-cal__legend span { display: inline-flex; align-items: center; gap: .4rem; }
.hh-cal__legend i { width: 14px; height: 14px; border-radius: 4px; display: block; }
.hh-cal__legend .is-selected { background: var(--hh-green); }
.hh-cal__legend .is-today { background: var(--hh-mint); box-shadow: inset 0 0 0 2px var(--hh-peach); }
.hh-cal__legend .is-open { background: var(--hh-mint); }
.hh-slots { border: 0; padding: 0; margin: 1.4rem 0 0; min-width: 0; }
.hh-site .hh-slots__legend { font-weight: 700; margin-bottom: .7rem; padding: 0; }
.hh-slots__legend:focus { outline: none; }
.hh-slots__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .55rem; }
.hh-site .hh-slot { min-height: 48px; padding: .5rem .4rem; border-radius: 12px; border: 1.5px solid var(--hh-field); background: var(--hh-white); color: var(--hh-ink); font: 700 1rem var(--hh-sans); cursor: pointer; line-height: 1.2; transition: transform .15s ease, border-color .15s ease, background-color .15s ease; }
.hh-slot small { display: block; font-weight: 500; font-size: .76rem; color: var(--hh-ink-soft); margin-top: .15rem; }
.hh-site .hh-slot:hover { border-color: var(--hh-green); background: var(--hh-mint); transform: translateY(-2px); }
.hh-site .hh-slot[aria-pressed="true"] { background: var(--hh-green); border-color: var(--hh-green); color: var(--hh-white); }
.hh-slot[aria-pressed="true"] small { color: rgba(255, 255, 255, .9); }
.hh-picked { background: var(--hh-success-soft); border: 2px solid var(--hh-green-bright); border-radius: 12px; padding: .9rem 1.1rem; margin: 1.2rem 0 0; font-weight: 600; animation: hh-fade-up .25s var(--hh-ease); }
.hh-picked:focus { outline: 3px solid var(--hh-focus); outline-offset: 2px; }
@media (max-width: 480px) {
	.hh-cal__dow, .hh-cal__grid { gap: .18rem; }
	.hh-site .hh-cal__day { min-height: 40px; font-size: .9rem; border-radius: 9px; }
	.hh-slots__grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
}

/* Summaries */
.hh-summary-card { background: var(--hh-mint); border-radius: var(--hh-radius); padding: 1.1rem 1.35rem; margin: 0 0 1.25rem; }
.hh-summary-card h3 { font-size: 1.05rem; margin-bottom: .5rem; }
.hh-summary-card dl { display: grid; gap: .4rem; margin: 0; }
.hh-summary-card dl > div { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 1rem; }
.hh-summary-card dt { font-weight: 700; }
.hh-summary-card dd { margin: 0; }
.hh-next-steps { padding-left: 1.25rem; }
.hh-status { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); padding: clamp(20px, 4vw, 40px); box-shadow: var(--hh-shadow); }
.hh-status__title:focus { outline: none; }

/* Treatment price panel */
.hh-price-panel { background: var(--hh-white); border: 2px solid var(--hh-green); border-radius: var(--hh-radius-lg); padding: clamp(20px, 3vw, 32px); box-shadow: var(--hh-shadow); }
.hh-price-panel__eyebrow { font-size: .95rem; font-weight: 700; color: var(--hh-green); margin-bottom: .35rem; }
.hh-price-panel__price { font-size: 1.25rem; margin-bottom: .5rem; }
.hh-price-panel__price strong { font-family: var(--hh-serif); font-size: 2.6rem; color: var(--hh-green); line-height: 1; }
.hh-price-panel__terms { list-style: none; padding: 0; margin: 0 0 .75rem; }
.hh-price-panel__terms li { padding: .45rem 0; border-top: 1px solid var(--hh-line); }
.hh-price-panel__note { font-size: .9rem; color: var(--hh-ink-soft); margin: 0; }
.hh-inline-price { display: block; margin: .25rem 0 .5rem; padding: .6rem .8rem; background: var(--hh-peach-soft); border-radius: var(--hh-radius-sm); font-size: .95rem; }
.hh-inline-price strong { color: var(--hh-green-ink); }

/* Plans */
.hh-plans__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.hh-plan { background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 6px solid var(--hh-green); border-radius: var(--hh-radius); padding: 1.5rem; box-shadow: var(--hh-shadow); display: flex; flex-direction: column; max-width: none !important; }
.hh-plan--bronze { border-top-color: #A9693A; }
.hh-plan--silver { border-top-color: #7C8C89; }
.hh-plan--gold { border-top-color: #B98A1D; }
.hh-plan__price strong { font-family: var(--hh-serif); font-size: 2.2rem; color: var(--hh-green); }
.hh-plan__benefits { padding-left: 1.1rem; }
.hh-plan .hh-button { margin-top: auto; }
.hh-plan__pending { color: var(--hh-ink-soft); font-weight: 600; }

/* Account */
.hh-account__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.hh-badge { display: inline-block; padding: .15rem .65rem; border-radius: 999px; font-weight: 700; font-size: .9rem; background: var(--hh-mint); }
.hh-badge--active { background: var(--hh-success-soft); color: #0A4B3A; }
.hh-badge--pending_payment, .hh-badge--past_due { background: var(--hh-peach-soft); color: #6B3418; }
.hh-table-wrap { overflow-x: auto; }
.hh-table { width: 100%; border-collapse: collapse; }
.hh-table th, .hh-table td { text-align: left; padding: .65rem .75rem; border-bottom: 1px solid var(--hh-line); }
.hh-table th { background: var(--hh-mint); }
.hh-account-login { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); padding: clamp(20px, 4vw, 40px); box-shadow: var(--hh-shadow); }
#hh-loginform label { display: block; font-weight: 700; margin-bottom: .35rem; }
#hh-loginform p { margin-bottom: 1rem; }
#hh-loginform .login-remember label { display: flex; gap: .5rem; align-items: center; font-weight: 500; }
#hh-loginform input[type="submit"] { min-height: 48px; padding: .7rem 1.6rem; border: 0; border-radius: 999px; background: var(--hh-green); color: var(--hh-white); font: 700 1rem var(--hh-sans); cursor: pointer; }

/* Reviews and videos */
.hh-reviews__list, .hh-videos__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.hh-review figure { margin: 0; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); padding: 1.25rem; height: 100%; }
.hh-review__rating { color: #8A5A00; font-size: 1.1rem; margin-bottom: .4rem; }
.hh-review blockquote { margin: 0 0 .75rem; padding: 0; border: 0; font-style: normal; }
.hh-review__meta { font-size: .9rem; color: var(--hh-ink-soft); }
.hh-reviews__sources { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1.5rem; }
.hh-video figure { margin: 0; }
.hh-video video { width: 100%; border-radius: var(--hh-radius); background: #000; aspect-ratio: 16 / 9; }
.hh-video figcaption { display: grid; gap: .2rem; margin-top: .6rem; }
.entry-content > .hh-videos { padding: var(--hh-space) var(--hh-gutter); max-width: var(--hh-max); }

/* Sitemap */
.hh-sitemap { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem 2rem; }
.hh-sitemap__group h2 { font-size: 1.2rem; font-family: var(--hh-sans); font-weight: 700; border-bottom: 3px solid var(--hh-peach); padding-bottom: .35rem; }
.hh-sitemap__group ul { padding-left: 1.1rem; }

/* ---------- Footer (background and type from the rebuild reference file) ---------- */
.hh-footer { background: linear-gradient(135deg, #143F35 0%, #10485A 45%, #2E2749 78%, #43263B 100%); color: #F1F5F2; font-size: .97rem; }
.hh-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2rem 3rem; padding-block: clamp(48px, 6vw, 72px) 2rem; }
@media (max-width: 960px) { .hh-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hh-footer__grid { grid-template-columns: 1fr; } }
.hh-site .hh-footer a { color: #EAF3EF; text-decoration: underline; text-underline-offset: .2em; text-decoration-color: rgba(234, 243, 239, .45); }
.hh-site .hh-footer a:hover { color: var(--hh-white); text-decoration-color: currentColor; text-decoration-thickness: 2px; }
.hh-footer :focus-visible { outline-color: var(--hh-peach-2) !important; box-shadow: none !important; }
/* The logo sits directly on the footer background (no box behind it). */
.hh-footer .hh-logo { background: transparent; box-shadow: none; padding: 0; margin-bottom: 1.1rem; }
.hh-footer .hh-logo img { height: 42px; }
.hh-site .hh-footer .hh-logo { text-decoration: none; }
.hh-footer__heading { font-family: var(--hh-sans) !important; font-size: 1rem !important; font-weight: 700 !important; letter-spacing: .01em; color: var(--hh-white) !important; margin-bottom: .9rem !important; }
.hh-footer ul { list-style: none; padding: 0; margin: 0; }
.hh-footer__group li { margin-bottom: .6rem; }
.hh-footer__contact li { margin-bottom: .45rem; }
.hh-footer__label { display: inline-block; min-width: 3.6rem; font-weight: 700; color: #FBD3C1; }
.hh-footer__social { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem !important; }
.hh-site .hh-footer__social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid rgba(255, 255, 255, .7); border-radius: 50%; color: var(--hh-white); text-decoration: none; transition: background-color .18s ease, color .18s ease, transform .18s ease; }
.hh-site .hh-footer__social a:hover { background: var(--hh-white); color: #143F35; transform: translateY(-2px); }
.hh-social-icon { width: 20px; height: 20px; display: block; }
.hh-footer__legal { border-top: 1px solid rgba(255,255,255,.24); padding-block: 1.5rem; font-size: .88rem; color: #E1EBE6; }
.hh-footer__legal p { margin-bottom: .5rem; max-width: 90ch; }
.hh-footer__bottom { background: rgba(0, 0, 0, .22); }
.hh-footer__bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1rem; font-size: .9rem; }
.hh-footer__bottom p { margin: 0; }
.hh-site .hh-powered { color: #E1EBE6; }
.hh-site .hh-powered a { color: #FBD3C1; font-weight: 700; }

/* ---------- Mobile quick actions (Call Now / Schedule Appointment) ---------- */
.hh-action-bar { display: none; }
@media (max-width: 781px) {
	.hh-action-bar { position: fixed; z-index: 55; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1.4fr; gap: .6rem; padding: .6rem var(--hh-gutter) calc(.6rem + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); box-shadow: 0 -6px 20px rgba(3, 63, 55, .12); }
	.hh-action-bar .hh-button { min-height: 46px; padding-inline: .6rem; }
	/* Space so the bar never covers the footer links or form controls. */
	body.hh-site { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
	/* Fields and links scrolled into view or focused stay above the bar (WCAG 2.4.11 Focus Not Obscured). */
	html { scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
	/* Astra's back-to-top button sits above the bar instead of over "Schedule Appointment". */
	.hh-site #ast-scroll-top { bottom: calc(86px + env(safe-area-inset-bottom)); }
	html.hh-menu-open .hh-action-bar, html:has(dialog[open]) .hh-action-bar { display: none; }
}

/* ---------- Motion ----------
   Short, purposeful transitions. Reveal classes are added by site.js only (content stays visible
   without JavaScript), and everything here is disabled for prefers-reduced-motion. */
@keyframes hh-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes hh-fade-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes hh-fade-down { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes hh-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes hh-modal-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: no-preference) {
	.hh-hero h1, .hh-hero .hh-eyebrow, .hh-hero .hh-kicker, .hh-hero .hh-lede, .hh-hero .wp-block-buttons, .hh-hero .hh-pills, .hh-hero .wp-block-image {
		animation: hh-rise .6s var(--hh-ease) both;
	}
	.hh-hero .hh-kicker { animation-delay: .06s; }
	.hh-hero .hh-lede { animation-delay: .12s; }
	.hh-hero .wp-block-buttons, .hh-hero .hh-pills { animation-delay: .18s; }
	.hh-hero .wp-block-image { animation-delay: .1s; animation-duration: .8s; }
	.hh-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--hh-ease), transform .6s var(--hh-ease); transition-delay: var(--hh-delay, 0ms); }
	.hh-reveal.is-in { opacity: 1; transform: none; }
	.hh-card--lift.hh-reveal.is-in, .hh-provider-card.hh-reveal.is-in, .hh-price-card.hh-reveal.is-in { transition: opacity .6s var(--hh-ease), transform .25s var(--hh-ease), box-shadow .25s ease; }
	.hh-journey__step.is-in .hh-journey__num { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.hh-reveal { opacity: 1 !important; transform: none !important; }
}
@media print {
	.hh-reveal { opacity: 1 !important; transform: none !important; }
	.hh-header { position: static; }
}

/* ==========================================================================
   Refinement 2026-10-21: homepage, cards, pricing, memberships, documents
   ========================================================================== */

/* Trust bar */
.hh-section--trust { padding-block: clamp(18px, 3vw, 28px); background: var(--hh-white); border-bottom: 1px solid var(--hh-line); }
.hh-trustbar { list-style: none; margin: 0 auto; padding: 0; }
.hh-trustbar__item { display: flex; align-items: center; margin: 0; font-weight: 700; color: var(--hh-green-ink); max-width: none !important; }
.hh-trustbar__item::before { content: ""; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; background: var(--hh-mint) var(--hh-ti) center / 20px no-repeat; }
.hh-trustbar__item:nth-child(even)::before { background-color: var(--hh-peach-soft); }
.hh-ti--heart { --hh-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.hh-ti--badge { --hh-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='M9 13.5 8 21l4-2 4 2-1-7.5'/%3E%3C/svg%3E"); }
.hh-ti--chat { --hh-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h12v9H9l-4 3v-3H4zM16 9h4v8h-1v3l-4-3h-4v-3'/%3E%3C/svg%3E"); }
.hh-ti--shield { --hh-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.hh-ti--video { --hh-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='13' height='12' rx='2'/%3E%3Cpath d='m16 10 5-3v10l-5-3'/%3E%3C/svg%3E"); }
@media (max-width: 560px) {
	.hh-trustbar__item { font-size: .92rem; }
	.hh-trustbar__item::before { width: 32px; height: 32px; background-size: 17px; }
}
.hh-icon--heart { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.hh-icon--shield { --hh-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056C5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }

/* Generic card grids (equal heights, centered rows) */
.hh-grid { display: grid; gap: clamp(16px, 2.4vw, 26px); max-width: var(--hh-max) !important; margin-inline: auto; }
.hh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .hh-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .hh-grid--4 { grid-template-columns: 1fr; } }
.hh-grid > .hh-card { height: 100%; }

/* Why Choose Us */
.hh-split--why { align-items: center; }
.hh-why__lead p { font-size: 1.08rem; }
.hh-why-list { list-style: none; padding: 0; display: grid; gap: .8rem; margin: 1.25rem 0; }
.hh-why-list li { position: relative; padding: 1rem 1.1rem 1rem 3.3rem; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); max-width: none !important; }
.hh-why-list li::before { content: ""; position: absolute; left: 1rem; top: 1.1rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--hh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23056C5F' stroke-width='2'/%3E%3C/svg%3E") center / 70% no-repeat; }
.hh-why-list strong { display: block; color: var(--hh-green-ink); margin-bottom: .15rem; }

/* Providers: wider section, larger photos, aligned cards */
.hh-section--wide > * { max-width: 1280px !important; }
.hh-provider-card__body { padding: 1.4rem 1.5rem 1.6rem; }
.hh-provider-card__short { flex: 1; }

/* Pathway note */
.hh-journey__note { font-size: .98rem; color: var(--hh-ink-soft); background: var(--hh-white); border-left: 4px solid var(--hh-peach); border-radius: 0 var(--hh-radius-sm) var(--hh-radius-sm) 0; padding: .8rem 1rem; }

/* Testimonials and reviews */
.hh-section--reviews { background: linear-gradient(180deg, var(--hh-white) 0%, var(--hh-sage) 100%); }
.hh-reviews { text-align: center; }
.hh-reviews__intro { margin-inline: auto; color: var(--hh-ink-soft); }
.hh-reviews__list { text-align: left; }
.hh-review figure { box-shadow: var(--hh-shadow); border-radius: var(--hh-radius-lg); padding: 1.4rem; }
.hh-videos { max-width: var(--hh-content); margin: clamp(2rem, 4vw, 3rem) auto 0; text-align: center; }
.hh-videos__list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); justify-content: center; text-align: left; }
.hh-video video { display: block; max-width: 100%; height: auto; box-shadow: var(--hh-shadow); }

/* Resources (homepage) */
.hh-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
@media (max-width: 560px) { .hh-resources { grid-template-columns: 1fr; } }
.hh-resource { position: relative; background: var(--hh-white); border-radius: var(--hh-radius); padding: 1.1rem 1.1rem 1rem; border: 1px solid #F3D9CB; box-shadow: var(--hh-shadow); }
.hh-resource::before { content: ""; display: block; width: 36px; height: 36px; border-radius: 10px; margin-bottom: .6rem; background: var(--hh-mint) var(--hh-icon) center / 19px no-repeat; }
.hh-site .hh-resource h4 { font-family: var(--hh-sans); font-weight: 700; font-size: 1.05rem; margin-bottom: .3rem; }
.hh-resource p { font-size: .95rem; margin-bottom: .5rem; }
.hh-resource__link { font-weight: 700; margin: 0 !important; }

/* Medication cards (Weight Loss) */
.hh-med-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: clamp(16px, 2.4vw, 26px); max-width: var(--hh-max) !important; margin-inline: auto; }
.hh-med-grid > .hh-card--med { grid-column: span 2; height: 100%; min-width: 0; }
.hh-med-grid > .hh-card--med:nth-child(4) { grid-column: 2 / span 2; }
.hh-med-grid > .hh-card--med:nth-child(5) { grid-column: 4 / span 2; }
@media (max-width: 1000px) {
	.hh-med-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hh-med-grid > .hh-card--med, .hh-med-grid > .hh-card--med:nth-child(4), .hh-med-grid > .hh-card--med:nth-child(5) { grid-column: auto; }
	.hh-med-grid > .hh-card--med:nth-child(5) { grid-column: 1 / -1; justify-self: center; width: calc(50% - clamp(16px, 2.4vw, 26px) / 2); }
}
@media (max-width: 640px) {
	.hh-med-grid { grid-template-columns: 1fr; }
	.hh-med-grid > .hh-card--med:nth-child(5) { width: 100%; }
}
.hh-card--med { border-top: 5px solid var(--hh-green); padding-top: 1.5rem; }
.hh-med-grid > .hh-card--med:nth-child(even) { border-top-color: var(--hh-peach); }
.hh-site .hh-card--med h3 { font-family: var(--hh-serif); font-weight: 600; font-size: clamp(1.25rem, 1.15rem + .4vw, 1.45rem); color: var(--hh-green-ink); }
.hh-med-card__body { flex: 1; font-size: .98rem; }
.hh-med-card__body ul { padding-left: 1.15rem; }
.hh-card--med .hh-inline-price { margin: .75rem 0 0; background: var(--hh-mint); font-size: 1rem; }
.hh-med-card__price-note { margin: .75rem 0 0 !important; padding: .6rem .8rem; border-radius: var(--hh-radius-sm); background: var(--hh-cream); color: var(--hh-ink-soft); font-size: .95rem; }
.hh-card--med .wp-block-buttons { margin-top: 1rem; padding-top: 0; }
.hh-card--med .wp-block-button, .hh-card--med .wp-block-button__link { width: 100%; }

/* Semaglutide consultation call to action: sentence, then a separate button */
.hh-cta-block { margin-top: 1.5rem; padding: 1.2rem 1.3rem; border-radius: var(--hh-radius); background: var(--hh-peach-soft); border: 1px solid #F3D9CB; }
.hh-cta-text { font-weight: 600; color: var(--hh-green-ink); margin: 0 !important; }
.hh-cta-block .wp-block-buttons { margin-top: .9rem; }

/* Appointment pricing cards: centered */
.hh-price-cards { display: flex; flex-wrap: wrap; justify-content: center; }
.hh-price-card { flex: 0 1 330px; text-align: center; align-items: center; }
.hh-price-card__time { align-self: center; }
.hh-price-card .hh-button { width: 100%; }

/* Telehealth conditions: centered card grid */
.hh-conditions { list-style: none; margin: 0 auto; padding: 0; max-width: var(--hh-max) !important; }
.hh-conditions li { margin: 0; display: flex; align-items: center; gap: .65rem; padding: .85rem 1rem; background: var(--hh-white); border-radius: var(--hh-radius); border: 1px solid var(--hh-mint-2); box-shadow: var(--hh-shadow); font-weight: 600; max-width: none !important; }
.hh-conditions li::before { content: ""; width: 1.4rem; height: 1.4rem; flex: 0 0 auto; border-radius: 50%; background: var(--hh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23056C5F' stroke-width='2'/%3E%3C/svg%3E") center / 72% no-repeat; }

/* Membership plans */
.hh-plans__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 26px); align-items: stretch; }
@media (max-width: 960px) { .hh-plans__list { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; } }
.hh-plan { padding: 0; overflow: hidden; border-top: 0; border-radius: var(--hh-radius-lg); }
.hh-plan__head { padding: 1.5rem 1.5rem 1.2rem; background: linear-gradient(135deg, #F3E1D2, #FBF2EA); border-bottom: 1px solid var(--hh-line); }
.hh-plan--silver .hh-plan__head { background: linear-gradient(135deg, #E4ECEA, #F6F9F8); }
.hh-plan--gold .hh-plan__head { background: linear-gradient(135deg, #F6E7BF, #FFF8E6); }
.hh-site .hh-plan__name { font-family: var(--hh-serif); font-size: 1.5rem; margin-bottom: .35rem; }
.hh-plan__price { margin: 0; }
.hh-plan__price strong { font-family: var(--hh-serif); font-size: 2.6rem; color: var(--hh-green); line-height: 1; }
.hh-plan__price span { color: var(--hh-ink-soft); font-weight: 600; }
.hh-plan__billing { margin: .4rem 0 0; font-weight: 600; color: var(--hh-green-ink); font-size: .95rem; }
.hh-site .hh-plan__includes { margin: 1.2rem 1.5rem .2rem; font-weight: 700; color: var(--hh-terracotta); }
.hh-plan .hh-plan__benefits { list-style: none; padding: 0 1.5rem; margin: 1rem 0 1.25rem; display: grid; gap: .5rem; }
.hh-plan .hh-plan__includes + .hh-plan__benefits { margin-top: .4rem; }
.hh-plan__benefits li { position: relative; padding-left: 1.8rem; max-width: none !important; }
.hh-plan__benefits li::before { content: ""; position: absolute; left: 0; top: .25em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--hh-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23056C5F' stroke-width='2'/%3E%3C/svg%3E") center / 80% no-repeat; }
.hh-plan__pending { margin: auto 1.5rem 1.5rem; }
.hh-site .hh-plans__note { max-width: 70ch; margin: 1.75rem auto 0; text-align: center; color: var(--hh-ink-soft); font-size: .95rem; }

/* Membership checkout */
.hh-checkout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; max-width: var(--hh-content); margin-inline: auto; }
@media (max-width: 860px) { .hh-checkout { grid-template-columns: 1fr; } }
.hh-checkout__summary { background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 6px solid var(--hh-green); border-radius: var(--hh-radius-lg); padding: 1.5rem; box-shadow: var(--hh-shadow); }
.hh-site .hh-checkout__plan { font-size: 1.5rem; margin-bottom: .3rem; }
.hh-checkout__terms { display: grid; gap: .35rem; margin: 1rem 0; padding: .9rem 1rem; background: var(--hh-mint); border-radius: var(--hh-radius-sm); }
.hh-checkout__terms > div { display: flex; justify-content: space-between; gap: 1rem; }
.hh-checkout__terms dt { font-weight: 700; }
.hh-checkout__terms dd { margin: 0; text-align: right; }
.hh-checkout__summary .hh-plan__includes { margin: 1rem 0 .4rem; }
.hh-checkout__summary .hh-plan__benefits { list-style: none; padding: 0; display: grid; gap: .45rem; }
.hh-button--block { width: 100%; }

/* Assessment */
.hh-med-choice .hh-choice--card { display: flex; margin-bottom: .55rem; }
.hh-status-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .9rem; border-radius: 999px; background: #FCF0D5; color: #5C3F00; font-weight: 700; }
.hh-status-pill__dot { width: .6rem; height: .6rem; border-radius: 50%; background: #B07A00; }

/* Long documents: legal pages, GLP-1 safety, injection instructions */
.hh-doc { font-size: 1.02rem; }
.hh-site .hh-doc h2 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid var(--hh-line); }
.hh-site .hh-doc h3 { margin-top: 1.5rem; }
.hh-doc ul, .hh-doc ol { padding-left: 1.3rem; }
.hh-doc li { margin-bottom: .4rem; }
.hh-toc { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); padding: 1rem 1.25rem; box-shadow: var(--hh-shadow); margin-bottom: 1.5rem; }
.hh-toc__title { font-weight: 700; margin-bottom: .4rem !important; color: var(--hh-green-ink); }
.hh-toc ol { margin: 0; padding-left: 1.2rem; columns: 2 220px; column-gap: 2rem; }
.hh-toc li { margin-bottom: .3rem; break-inside: avoid; }
.hh-related { margin-top: 2.5rem; padding: 1rem 1.25rem; border-radius: var(--hh-radius); background: var(--hh-mint); }
.hh-related__title { font-weight: 700; margin-bottom: .3rem !important; }
.hh-related ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.hh-doc .hh-callout { margin: 1.25rem 0; }
.hh-doc .hh-callout--warning h2 { border-top: 0; margin-top: 0; padding-top: 0; }
/* Injection steps: each numbered step heading reads as a step card. */
.hh-doc--steps h3 { display: flex; align-items: center; gap: .6rem; padding: .75rem 1rem; background: var(--hh-mint); border-radius: var(--hh-radius-sm); font-size: 1.1rem; }
.hh-doc--steps h3 + ol, .hh-doc--steps h3 + ul { background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 0; border-radius: 0 0 var(--hh-radius-sm) var(--hh-radius-sm); margin-top: -.6rem; padding: 1rem 1rem 1rem 2.4rem; }

/* ---------- Heroes without an image (2026-10-22) ----------
   A restrained brand mark (heart and pulse line in a soft shield) on the right, and a slightly
   taller, better proportioned text block. Decorative only: hidden from assistive technology
   (CSS background) and removed on narrow screens so it never crowds the text. */
.hh-hero--page .hh-hero__text { position: relative; min-height: clamp(150px, 16vw, 210px); display: flex; flex-direction: column; justify-content: center; }
.hh-hero--page:not(.hh-hero--plain, .hh-hero--photo):has(> .hh-hero__text)::before { width: clamp(220px, 26vw, 340px); height: clamp(220px, 26vw, 340px); right: max(4vw, calc((100% - var(--hh-max)) / 2)); left: auto; top: 50%; bottom: auto; transform: translateY(-50%); border-radius: 42% 58% 55% 45% / 48% 42% 58% 52%; background: rgba(255, 255, 255, .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M60 12 96 27v27c0 21-15 37-36 44C39 91 24 75 24 54V27Z' fill='none' stroke='%23056C5F' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M40 58h10l5-12 9 24 6-14 3 6h9' fill='none' stroke='%23F5A887' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 46% no-repeat; box-shadow: 0 20px 50px rgba(3, 63, 55, .1), inset 0 0 0 1px rgba(255, 255, 255, .7); z-index: 0; }
.hh-hero--page:not(.hh-hero--plain, .hh-hero--photo):has(> .hh-hero__text) > .hh-hero__text > * { max-width: min(760px, 62%); }
.hh-hero--deep:not(.hh-hero--plain, .hh-hero--photo):has(> .hh-hero__text)::before { background-color: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M60 12 96 27v27c0 21-15 37-36 44C39 91 24 75 24 54V27Z' fill='none' stroke='%23FFFFFF' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M40 58h10l5-12 9 24 6-14 3 6h9' fill='none' stroke='%23F8A683' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
@media (max-width: 900px) {
	.hh-hero--page:not(.hh-hero--plain, .hh-hero--photo):has(> .hh-hero__text)::before { display: none; }
	.hh-hero--page:not(.hh-hero--plain, .hh-hero--photo):has(> .hh-hero__text) > .hh-hero__text > * { max-width: 100%; }
	.hh-hero--page .hh-hero__text { min-height: 0; }
}

/* ---------- GoHighLevel embeds ---------- */
.hh-ghl { max-width: 1100px; margin-inline: auto; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); padding: clamp(.5rem, 1.5vw, 1rem); }
.hh-ghl__frame { display: block; width: 100%; min-height: 640px; border: 0; border-radius: var(--hh-radius); background: var(--hh-white); }
.hh-ghl--form .hh-ghl__frame { min-height: 900px; }
.hh-ghl__fallback { margin: .75rem .5rem .25rem; font-size: .92rem; color: var(--hh-ink-soft); text-align: center; max-width: none !important; }
.hh-ghl--missing { padding: clamp(1.25rem, 3vw, 2rem); text-align: center; }
.hh-ghl--missing .hh-notice { text-align: left; max-width: 640px; margin: 0 auto 1rem; }
.hh-ghl--missing p { margin-inline: auto; }
.hh-hero__image--contain img { aspect-ratio: auto; object-fit: contain; max-height: 440px; background: var(--hh-white); }
@media (max-width: 640px) { .hh-ghl__frame { min-height: 980px; } }

/* ---------- Free assessment (three steps; the indicator is .hh-steps above) ----------
   All three steps share the site's content width (--hh-content, as every .hh-section block), centered. The
   :has() rule widens pages whose assessment still sits in the older narrow .hh-prose wrapper. */
.hh-flow--assessment { max-width: var(--hh-content); }
.hh-prose:has(> .hh-flow--assessment) { max-width: var(--hh-content) !important; }
.hh-flow--assessment .hh-ghl { max-width: none; }
.hh-after-submit { margin: 1rem 0 0; text-align: center; }
.hh-steps__back { margin: 1rem auto 0; font-size: .95rem; color: var(--hh-ink-soft); text-align: center; max-width: none !important; }
.hh-form--embed .hh-ghl { margin-top: 1rem; }
/* Step 1 form: its embed code's height, so a short form leaves no empty band (GoHighLevel resizes it to fit). */
.hh-flow--step-1 .hh-ghl--form .hh-ghl__frame { min-height: 711px; }

/* ---------- Form sections, choices and callouts ---------- */
.hh-form-section { border-top: 1px solid var(--hh-line); padding-top: 1.25rem; margin-top: 1.25rem; }
.hh-form-section:first-of-type { border-top: 0; padding-top: 0; margin-top: .5rem; }
.hh-site .hh-form-section__title { font-family: var(--hh-sans); font-size: 1.1rem; font-weight: 700; color: var(--hh-green-ink); margin-bottom: 1rem; }
.hh-choice-group > legend { font-weight: 700; margin-bottom: .5rem; }
.hh-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .5rem; }
.hh-choice-grid .hh-choice--card { margin: 0; align-items: center; transition: border-color .15s ease, background-color .15s ease; }
.hh-choice--card:has(input:checked) { border-color: var(--hh-green); background: var(--hh-mint); }
.hh-choice--card:has(input:focus-visible) { outline: 3px solid var(--hh-focus); outline-offset: 2px; }
.hh-legal-links { font-weight: 600; }
.hh-next-callout { font-size: 1.1rem; color: var(--hh-green-ink); }
.hh-plan__cta { margin: auto 1.5rem 1.5rem; display: grid; gap: .4rem; }
.hh-plan__cta .hh-button { width: 100%; }
.hh-site .hh-plan__secure { margin: 0; font-size: .88rem; color: var(--hh-ink-soft); text-align: center; }

/* =====================================================================
   2026-10-22: screenshot fixes, booking page, medications
   ===================================================================== */

/* Shared: component lists are centered blocks without Astra's list indent (.entry-content ul adds
   padding-left: 20px and resets margins, which outranked each component's own "margin: 0 auto"). */
.hh-site .entry-content :is(.hh-trustbar, .hh-benefits, .hh-conditions, .hh-price-cards, .hh-plans__list, .hh-packages, .hh-steps-inline, .hh-resource-links, .hh-reviews__sources) { padding-inline: 0; margin-inline: auto; }

/* Shared: items inside grid and flex groups never get WordPress flow-layout top margins
   (they pushed every card after the first 24px lower). */
.hh-site :is(.hh-grid, .hh-med-grid, .hh-cards, .hh-provider-grid, .hh-benefits, .hh-conditions, .hh-trustbar, .hh-stats, .hh-price-cards, .hh-packages, .hh-steps-inline, .hh-resources, .hh-picker__grid) > * { margin-block: 0; }

/* Shared: centered rows of equal-width items. The last row is centered when it is not full.
   Set --hh-cols (items per row) and --hh-gap on the container. */
.hh-benefits, .hh-conditions, .hh-trustbar, .hh-packages, .hh-picker__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--hh-gap); }
.hh-benefits > *, .hh-conditions > *, .hh-trustbar > *, .hh-packages > *, .hh-picker__grid > * { flex: 0 0 calc((100% - (var(--hh-cols) - 1) * var(--hh-gap)) / var(--hh-cols)); min-width: 0; }

/* Home: trust bar, centered as a whole and inside each item. */
.hh-trustbar { --hh-cols: 5; --hh-gap: clamp(12px, 2vw, 24px); max-width: var(--hh-max) !important; }
.hh-trustbar__item { flex-direction: column; justify-content: flex-start; text-align: center; gap: .55rem; line-height: 1.35; }
@media (max-width: 1100px) { .hh-trustbar { --hh-cols: 3; } }
@media (max-width: 640px) { .hh-trustbar { --hh-cols: 2; } }

/* Home: statistics centered in the green band. */
.hh-site .entry-content .hh-stats { padding: clamp(14px, 2vw, 18px); }
.hh-stat { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.hh-stat__label { max-width: 22ch; }

/* Home: What Sets Us Apart and the two resource cards. */
.hh-grid--2 { grid-template-columns: repeat(2, minmax(0, 460px)); justify-content: center; }
@media (max-width: 700px) { .hh-grid--2 { grid-template-columns: minmax(0, 520px); } }
.hh-grid > .hh-card:not(.hh-medcard) { display: flex; flex-direction: column; }
.hh-card--resource h3 { margin-bottom: .75rem; }
.hh-resource-links { list-style: none; display: grid; gap: .75rem; margin: 0 !important; }
.hh-resource-links li { margin: 0; max-width: none !important; padding: .8rem .95rem; border-radius: var(--hh-radius); background: var(--hh-cream); border: 1px solid var(--hh-line); transition: border-color .2s ease, background-color .2s ease; }
.hh-resource-links li:hover { border-color: var(--hh-mint-2); background: var(--hh-mint); }
.hh-resource-links a { display: block; font-weight: 700; }
.hh-resource-links span { display: block; color: var(--hh-ink-soft); font-size: .95rem; margin-top: .15rem; }

/* Home: testimonials centered in the section and in each card. */
.hh-reviews__list, .hh-videos__list { text-align: center; justify-items: center; }
.hh-reviews__list > *, .hh-videos__list > * { width: 100%; }

/* Providers: photo beside the text, same height as the text, same photo width on Home and Our Providers. */
.hh-provider-grid { --hh-provider-photo: 220px; }
.hh-provider-grid--grid > .hh-provider-card { flex: 0 1 560px; }
.hh-provider-grid--list { flex-direction: column; align-items: center; }
.hh-provider-grid--list > .hh-provider-card { width: 100%; max-width: 920px; }
@media (min-width: 640px) {
	.hh-provider-card { flex-direction: row; align-items: stretch; }
	.hh-provider-card__photo { flex: 0 0 var(--hh-provider-photo); }
	.hh-provider-card__photo img { height: 100%; min-height: 100%; }
}
@media (max-width: 639px) {
	.hh-provider-card__photo { aspect-ratio: 4 / 3; max-height: 300px; }
}
.hh-provider-card__body { justify-content: center; }
.hh-provider-card__short { flex: 0 1 auto; }
.hh-provider-card__actions { margin-top: .25rem; }

/* Our Providers: hero with a background photo under a brand gradient (text stays on the solid side). */
.hh-hero--photo { display: flex; align-items: center; min-height: clamp(340px, 34vw, 480px); padding-block: clamp(56px, 7vw, 104px); }
.hh-hero--photo > .hh-hero__text { width: 100%; min-height: 0; }
.hh-site .hh-hero--photo > .hh-hero__text > * { max-width: min(600px, 100%); }
.hh-hero--photo { background: var(--hh-green-deep); }
/* The photo fills the right part of the hero, so its subject never sits behind the text. */
.hh-hero--photo .hh-hero__bg { position: absolute; inset: 0 0 0 42%; z-index: -2; margin: 0; max-width: none; }
.hh-hero--photo .hh-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 35%; border-radius: 0; box-shadow: none; }
.hh-hero.hh-hero--photo::after { inset: 0; width: auto; height: auto; border-radius: 0; background: linear-gradient(90deg, var(--hh-green-deep) 0%, var(--hh-green-deep) 42%, rgba(3, 63, 55, .6) 56%, rgba(3, 63, 55, .12) 80%, rgba(3, 63, 55, 0) 100%); }
@media (max-width: 781px) {
	.hh-hero--photo .hh-hero__bg { inset: 0; }
	.hh-hero.hh-hero--photo::after { background: linear-gradient(180deg, rgba(3, 63, 55, .86) 0%, rgba(3, 63, 55, .94) 100%); }
	.hh-hero--photo .hh-hero__bg img { object-position: 70% 20%; }
}

/* Plain heroes (FAQ, safety and instruction pages): no decorative mark, centered and balanced. */
.hh-hero--plain .hh-hero__text { min-height: 0; text-align: center; align-items: center; }
.hh-hero--plain .hh-hero__text > * { max-width: 780px; margin-inline: auto; }
.hh-hero--plain .hh-eyebrow { justify-content: center; }

/* Weight Loss: compact medication cards; the details are one tap away. */
.hh-card--med { padding: 1.35rem 1.4rem 1.4rem; }
.hh-site .hh-card--med h3 { margin-bottom: .55rem; }
.hh-med-card__body > p { margin-bottom: .6rem; }
.hh-med-card__body .wp-block-details { margin: .25rem 0 0; border-top: 1px solid var(--hh-line); padding-top: .55rem; }
.hh-med-card__body .wp-block-details > summary { cursor: pointer; font-weight: 700; color: var(--hh-green); padding: .25rem 0; list-style-position: inside; }
.hh-med-card__body .wp-block-details[open] > summary { margin-bottom: .4rem; }
.hh-card--med .hh-inline-price { display: block; padding: .5rem .75rem; border-radius: var(--hh-radius-sm); }
.hh-med-card__price-note { padding: .5rem .75rem; }

/* Text and image sections (medication images replace the price panels). */
/* WordPress core sets align-items: normal !important on columns; text and image are centered against each other here. */
.hh-site .hh-split--media { align-items: center !important; }
.hh-split--media > .wp-block-column { flex: 1 1 0 !important; min-width: 0; }
.hh-split--media > .wp-block-column:has(> .hh-media--product) { flex: 0 1 40% !important; }
.hh-media--product { margin: 0 auto; max-width: 480px; background: var(--hh-white); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); padding: clamp(10px, 1.5vw, 18px); }
.hh-site .hh-media--product img { aspect-ratio: auto; object-fit: contain; max-height: 460px; width: 100%; box-shadow: none; border-radius: var(--hh-radius); }
@media (min-width: 782px) { .hh-split--image-first > .wp-block-column:first-child { order: 0; } }

/* Price statement inside text: clear, not a button. */
.hh-price-statement { margin: 1.1rem 0 1.25rem !important; padding: .7rem 1rem; border-left: 4px solid var(--hh-peach); background: var(--hh-white); border-radius: 0 var(--hh-radius-sm) var(--hh-radius-sm) 0; font-size: 1.08rem; color: var(--hh-green-ink); }
.hh-price-statement strong { color: var(--hh-green); }
.hh-hero .hh-price-statement { background: rgba(255, 255, 255, .7); }

/* Telehealth: condition cards, equal and centered; restrained hover. */
.hh-conditions { --hh-cols: 5; --hh-gap: .75rem; }
@media (max-width: 1100px) { .hh-conditions { --hh-cols: 4; } }
@media (max-width: 860px) { .hh-conditions { --hh-cols: 3; } }
@media (max-width: 600px) { .hh-conditions { --hh-cols: 2; } }
@media (max-width: 380px) { .hh-conditions { --hh-cols: 1; } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.hh-conditions li, .hh-benefit, .hh-trustbar__item::before { transition: transform .2s var(--hh-ease), box-shadow .2s ease; }
	.hh-conditions li:hover, .hh-benefit:hover { transform: translateY(-3px); box-shadow: var(--hh-shadow-lg); }
}

/* Booking page (Option C). */
.hh-picker { max-width: 1040px; margin-inline: auto; }
.hh-picker__form { background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); padding: clamp(1.1rem, 3vw, 2rem); }
.hh-picker__step { border: 0; margin: 0 0 1.5rem; padding: 0; min-width: 0; }
.hh-site .hh-picker__legend { display: flex; align-items: center; gap: .6rem; font-family: var(--hh-sans); font-size: 1.15rem; font-weight: 700; color: var(--hh-green-ink); margin: 0 0 .9rem; padding: 0; }
.hh-picker__num { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--hh-green); color: var(--hh-white); font-size: .95rem; }
.hh-picker__grid { --hh-gap: .75rem; }
.hh-picker__grid--providers { --hh-cols: 4; }
.hh-picker__grid--services { --hh-cols: 3; }
@media (max-width: 960px) { .hh-picker__grid--providers { --hh-cols: 2; } .hh-picker__grid--services { --hh-cols: 1; } }
@media (max-width: 520px) { .hh-picker__grid--providers { --hh-cols: 1; } }
.hh-choice--provider, .hh-choice--service { align-items: center; gap: .75rem; margin: 0; }
.hh-choice__photo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: top; flex: 0 0 auto; }
.hh-choice__text { display: flex; flex-direction: column; gap: .1rem; line-height: 1.3; }
.hh-choice__text > span { color: var(--hh-ink-soft); font-size: .92rem; }
.hh-choice__note:empty { display: none; }
.hh-site .hh-choice__note { color: var(--hh-terracotta); font-weight: 600; font-size: .88rem; }
.hh-choice.is-unavailable { opacity: .6; cursor: not-allowed; background: var(--hh-cream); }
.hh-picker__submit { margin: 0 auto; text-align: center; }
.hh-picker__times { margin-top: clamp(1.5rem, 3vw, 2.5rem); scroll-margin-top: calc(var(--hh-bar-h) + 20px); }
.hh-picker__summary { margin-bottom: .4rem; font-size: 1.05rem; }
.hh-picker__help { color: var(--hh-ink-soft); }
.hh-picker .hh-error-summary p { margin: 0; }
.hh-site .hh-picker__error { margin: .75rem 0 0; color: var(--hh-danger); font-weight: 600; }
.hh-picker__error:empty, .hh-picker__status:empty { display: none; }
.hh-site .hh-picker__refresh-note { max-width: none !important; margin: 0 0 1.25rem; font-size: .95rem; color: var(--hh-ink); }
.hh-site .hh-picker__status { margin: .75rem 0 0; text-align: center; color: var(--hh-ink-soft); font-weight: 600; }
.hh-site .hh-picker__stale { max-width: none !important; margin: clamp(1.5rem, 3vw, 2.5rem) 0 0; color: var(--hh-ink); }
.hh-site .hh-picker__loading { margin: 0 0 .75rem; padding: .75rem 1rem; border-radius: var(--hh-radius-sm); background: var(--hh-mint); color: var(--hh-ink); font-weight: 600; text-align: center; }

/* Medications page (layout from medications.png) and purchase pages. */
.hh-medcards { grid-template-columns: repeat(2, minmax(0, 560px)); }
@media (max-width: 900px) { .hh-medcards { grid-template-columns: minmax(0, 560px); } }
.hh-medcard { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); align-items: center; gap: clamp(14px, 2vw, 24px); padding: clamp(1rem, 2.4vw, 1.6rem); border-radius: 28px; }
.hh-medcard { align-items: start; }
.hh-medcard__image { margin: 0; align-self: center; }
.hh-site .hh-medcard__image img { aspect-ratio: auto; object-fit: contain; width: 100%; max-height: 320px; box-shadow: none; border-radius: var(--hh-radius); }
.hh-site .hh-medcard h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.85rem); margin-bottom: .4rem; }
.hh-medcard .hh-inline-price { display: block; margin: .25rem 0 1rem; padding: .55rem .8rem; border-radius: var(--hh-radius-sm); background: var(--hh-mint); font-size: 1rem; }
.hh-medcard .wp-block-buttons { gap: .5rem; }
@media (max-width: 480px) { .hh-medcard { grid-template-columns: 1fr; text-align: center; } .hh-medcard .wp-block-buttons { justify-content: center; } }
.hh-medications__note { max-width: 760px !important; margin: clamp(1.5rem, 3vw, 2rem) auto 0 !important; text-align: center; }

.hh-buy { display: grid; gap: clamp(2rem, 4vw, 3rem); max-width: var(--hh-max); margin-inline: auto; }
.hh-packages { --hh-cols: 3; --hh-gap: clamp(14px, 2vw, 24px); list-style: none; max-width: var(--hh-max); }
@media (max-width: 960px) { .hh-packages { --hh-cols: 1; max-width: 520px; } }
.hh-package { margin: 0; max-width: none !important; display: flex; flex-direction: column; padding: 1.5rem; background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 5px solid var(--hh-green); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); }
.hh-package--silver { border-top-color: #9AA7A4; }
.hh-package--gold { border-top-color: var(--hh-peach); }
.hh-site .hh-package__name { font-family: var(--hh-serif); font-weight: 600; font-size: 1.5rem; margin-bottom: .2rem; }
.hh-package__price { margin-bottom: .2rem !important; }
.hh-package__price strong { font-family: var(--hh-serif); font-size: 2.2rem; color: var(--hh-green); }
.hh-package__term { color: var(--hh-green-ink); font-weight: 600; padding: .45rem .7rem; border-radius: var(--hh-radius-sm); background: var(--hh-mint); }
.hh-package__includes { font-weight: 700; margin-bottom: .4rem !important; }
.hh-package__benefits { padding-left: 1.15rem; margin-bottom: 0 !important; }
.hh-steps-inline { list-style: none; counter-reset: hh-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 20px); max-width: var(--hh-max); }
@media (max-width: 960px) { .hh-steps-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .hh-steps-inline { grid-template-columns: 1fr; } }
.hh-steps-inline li { counter-increment: hh-step; position: relative; max-width: none !important; padding: 2.9rem 1.2rem 1.2rem; background: var(--hh-white); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); }
.hh-steps-inline li::before { content: counter(hh-step); position: absolute; top: 1rem; left: 1.2rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--hh-green); color: var(--hh-white); font-weight: 700; font-size: .9rem; }
.hh-steps-inline strong { display: block; margin-bottom: .25rem; color: var(--hh-green-ink); }
.hh-buy__disclaimer { max-width: 820px !important; margin: clamp(1rem, 2vw, 1.5rem) auto 0 !important; text-align: center; }
.hh-buy__checkout { scroll-margin-top: calc(var(--hh-bar-h) + 20px); }
.hh-ghl--checkout .hh-ghl__frame { min-height: 900px; }
/* Appointment price cards: names take two lines everywhere, so prices and durations line up across the row. */
.hh-price-card__name { min-height: 2.6em; display: flex; align-items: center; justify-content: center; }

/* ==========================================================================
   Reviews update 2026-10-24: Why Choose Us closing CTA, featured reviews, Reviews page
   ========================================================================== */

/* Why Choose Us: closing message and button grouped under the image. */
.hh-why__close { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.25rem; margin-top: 1.25rem; padding: 1.1rem 1.25rem; background: var(--hh-white); border-left: 4px solid var(--hh-peach); border-radius: 0 var(--hh-radius) var(--hh-radius) 0; box-shadow: var(--hh-shadow); }
.hh-site .hh-why__close-text { flex: 1 1 240px; margin: 0; font-family: var(--hh-serif); font-size: 1.12rem; font-weight: 600; line-height: 1.4; color: var(--hh-green-ink); }
.hh-why__close .wp-block-buttons { flex: 0 0 auto; margin: 0; }
/* Stacked: the heading and reasons come first, then the image with its call to action. */
@media (max-width: 781px) { .hh-split--why > .wp-block-column:last-child { order: -1; } }

/* Featured reviews (clinic-supplied). Source is shown as text, never by color alone. */
.hh-section > .hh-freviews { max-width: var(--hh-max); }
.hh-section--reviews-compact { padding-block: clamp(40px, 5.5vw, 76px); }
.hh-freviews { margin-inline: auto; }
.hh-site .hh-freviews__list { list-style: none; margin: 0 auto; padding: 0; display: grid; gap: clamp(16px, 2.4vw, 24px); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hh-site .hh-freviews__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hh-site .hh-freviews__list--2 { grid-template-columns: repeat(2, minmax(0, 520px)); justify-content: center; }
.hh-site .hh-freviews__list--1 { grid-template-columns: minmax(0, 640px); justify-content: center; }
@media (max-width: 1100px) { .hh-site .hh-freviews__list--4, .hh-site .hh-freviews__list--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .hh-site .hh-freviews__list { grid-template-columns: minmax(0, 1fr); } }
.hh-site .hh-freview { display: flex; margin: 0; max-width: none !important; }
.hh-freview__card { flex: 1; display: flex; flex-direction: column; gap: .9rem; margin: 0; padding: clamp(1.15rem, 2.2vw, 1.5rem); background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 4px solid var(--hh-mint-2); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); text-align: left; }
.hh-freview--zocdoc .hh-freview__card { border-top-color: var(--hh-peach); }
.hh-site .hh-freview__source { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin: 0; max-width: none !important; }
.hh-source-badge { display: inline-flex; align-items: center; gap: .45rem; padding: .28rem .75rem .28rem .3rem; border-radius: 999px; background: var(--hh-sage); box-shadow: 0 0 0 1px var(--hh-line); color: var(--hh-green-ink); font-size: .9rem; font-weight: 700; line-height: 1.2; }
.hh-freview--zocdoc .hh-source-badge { background: var(--hh-peach-wash); box-shadow: 0 0 0 1px #F3D9CB; }
.hh-source-badge__mark { flex: 0 0 auto; width: 24px; height: 24px; padding: 3px; border-radius: 50%; background: var(--hh-white); box-sizing: border-box; }
span.hh-source-badge__mark { display: inline-grid; place-items: center; padding: 0; background: var(--hh-ink); color: var(--hh-white); font-size: .8rem; font-weight: 800; }
.hh-freview__kind { color: var(--hh-ink-soft); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.hh-freview__text { flex: 1; margin: 0; padding: 0; border: 0; }
.hh-site .hh-freview__text p { margin: 0; max-width: none; font-family: var(--hh-serif); font-size: 1.08rem; line-height: 1.55; color: var(--hh-ink); }
.hh-freview__meta { display: flex; flex-direction: column; justify-content: center; gap: .15rem; min-height: calc(3rem + .8rem); padding-top: .8rem; border-top: 1px solid var(--hh-line); color: var(--hh-ink-soft); font-size: .92rem; }
.hh-freview__author { color: var(--hh-green-ink); font-weight: 700; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.hh-freview__card { transition: transform .25s var(--hh-ease), box-shadow .25s ease; }
	.hh-freview__card:hover { transform: translateY(-3px); box-shadow: var(--hh-shadow-lg); }
}
.hh-site .hh-freviews__note { max-width: 70ch; margin: 1.25rem auto 0; color: var(--hh-ink-soft); font-size: .92rem; text-align: center; }
.hh-site .hh-freviews__link { margin: 1rem auto 0; text-align: center; font-weight: 700; }

/* "More Patient Reviews": a call to action, styled unlike the review cards. */
.hh-freviews__more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(20px, 3vw, 32px); padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3.5vw, 2.5rem); border-radius: var(--hh-radius-lg); background: radial-gradient(120% 160% at 100% 0%, #0A5A4F 0%, var(--hh-green-deep) 70%); color: #E6F1EE; box-shadow: var(--hh-shadow); }
.hh-freviews__more-text { flex: 1 1 320px; }
.hh-site .hh-freviews__more-title { margin: 0 0 .3rem; color: var(--hh-white); font-family: var(--hh-serif); font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); font-weight: 600; }
.hh-site .hh-freviews__more p { margin: 0; color: #E6F1EE; }
.hh-freviews__more .hh-button { flex: 0 0 auto; }
.hh-freviews__more :focus-visible { outline-color: var(--hh-peach-2) !important; box-shadow: none !important; }
@media (max-width: 480px) { .hh-freviews__more .hh-button { width: 100%; } }

/* ==========================================================================
   Blog, comments, Reviews page widget containers, social icons (2026-10-24)
   ========================================================================== */

/* Blog listing cards */
.hh-section--blog { padding-top: clamp(32px, 4.5vw, 56px); }
.hh-section > .hh-post-cards { max-width: var(--hh-max); }
.hh-site .hh-post-cards { list-style: none; margin: 0 auto; padding: 0; display: grid; gap: clamp(18px, 2.6vw, 28px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hh-site .hh-post-cards--2 { grid-template-columns: repeat(2, minmax(0, 540px)); justify-content: center; }
.hh-site .hh-post-cards--1 { grid-template-columns: minmax(0, 560px); justify-content: center; }
@media (max-width: 1100px) { .hh-site .hh-post-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .hh-site .hh-post-cards { grid-template-columns: minmax(0, 1fr); } }
.hh-site .hh-post-card { display: flex; margin: 0; max-width: none !important; }
.hh-post-card__inner { flex: 1; display: flex; flex-direction: column; overflow: hidden; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); }
.hh-post-card__media { display: block; aspect-ratio: 1200 / 628; overflow: hidden; background: var(--hh-mint); }
.hh-site .hh-post-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hh-post-card__body { flex: 1; display: flex; flex-direction: column; gap: .65rem; padding: clamp(1.15rem, 2.2vw, 1.6rem); }
.hh-site .hh-post-card__date { margin: 0; color: var(--hh-terracotta); font-size: .9rem; font-weight: 700; }
.hh-site .hh-post-card__title { margin: 0; font-family: var(--hh-serif); font-size: clamp(1.25rem, 1.12rem + .45vw, 1.5rem); font-weight: 600; line-height: 1.28; }
.hh-site .hh-post-card__title a { color: var(--hh-ink); text-decoration: none; }
.hh-site .hh-post-card__title a:hover { color: var(--hh-green); text-decoration: underline; }
.hh-site .hh-post-card__excerpt { margin: 0; max-width: none; color: var(--hh-ink-soft); }
.hh-post-card__more { align-self: flex-start; margin-top: auto; }
.hh-post-card__inner:focus-within { border-color: var(--hh-mint-2); box-shadow: var(--hh-shadow-lg); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.hh-post-card__inner { transition: transform .25s var(--hh-ease), box-shadow .25s ease, border-color .25s ease; }
	.hh-post-card__img { transition: transform .5s var(--hh-ease); }
	.hh-post-card__inner:hover { transform: translateY(-4px); border-color: var(--hh-mint-2); box-shadow: var(--hh-shadow-lg); }
	.hh-post-card__inner:hover .hh-post-card__img { transform: scale(1.03); }
}
.hh-site .hh-post-cards__empty { text-align: center; color: var(--hh-ink-soft); margin-inline: auto; }

/* Single article */
.hh-post__header { padding: clamp(40px, 6vw, 80px) var(--hh-gutter) clamp(96px, 13vw, 168px); background: linear-gradient(135deg, var(--hh-cream) 0%, var(--hh-mint) 100%); }
.hh-post__header-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.hh-post__header .hh-eyebrow { justify-content: center; }
.hh-site .hh-post__header .hh-eyebrow a { color: var(--hh-green); text-decoration: none; }
.hh-site .hh-post__header .hh-eyebrow a:hover { text-decoration: underline; }
.hh-site .hh-post__title { margin: .15em 0 .45em; font-size: clamp(1.85rem, 1.35rem + 2.1vw, 3rem); line-height: 1.15; }
.hh-site .hh-post__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1.25rem; margin: 0 auto; max-width: none; color: var(--hh-ink-soft); font-weight: 600; }
.hh-post__cats { color: var(--hh-green-ink); }
.hh-site .hh-post__image { max-width: calc(960px + 2 * var(--hh-gutter)); margin: calc(-1 * clamp(64px, 10vw, 128px)) auto 0; padding: 0 var(--hh-gutter); box-shadow: none; } /* Astra adds a shadow to figures in single posts; the image carries its own. */
.hh-site .hh-post__image img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 628; object-fit: cover; border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow-lg); }
.hh-post__content, .hh-post__footer, .hh-comments { max-width: calc(var(--hh-prose) + 2 * var(--hh-gutter)); margin-inline: auto; padding-inline: var(--hh-gutter); }
.hh-post__content { margin-top: clamp(32px, 5vw, 56px); font-size: 1.06rem; }
.hh-site .hh-post__content h2 { margin: 2em 0 .5em; font-size: clamp(1.45rem, 1.25rem + .8vw, 1.9rem); }
.hh-site .hh-post__content h3 { margin: 1.4em 0 .4em; }
.hh-post__content ul { padding-left: 1.35rem; }
.hh-post__content li { margin-bottom: .4rem; }
.hh-post__content li::marker { color: var(--hh-green); }
.hh-site .hh-post-tip { max-width: none; padding: .85rem 1.1rem; background: var(--hh-peach-wash); border-left: 4px solid var(--hh-peach); border-radius: 0 var(--hh-radius-sm) var(--hh-radius-sm) 0; }
.hh-site .hh-post-next { max-width: none; margin-top: 2rem; padding: 1.1rem 1.25rem; background: var(--hh-mint); border-radius: var(--hh-radius); }
.hh-post__footer { margin-top: clamp(28px, 4vw, 40px); }

/* Comments: WordPress comment list and comment_form() */
.hh-comments { margin-top: clamp(40px, 6vw, 64px); margin-bottom: clamp(48px, 7vw, 96px); }
.hh-site .hh-comments__title, .hh-site .hh-comments__form-title { margin: 0 0 1rem; font-size: clamp(1.4rem, 1.22rem + .7vw, 1.8rem); }
.hh-comment-list, .hh-comment-list .children { list-style: none; padding: 0; display: grid; gap: 1rem; }
.hh-comment-list { margin: 0 0 2.5rem; }
.hh-comment-list .children { margin: 1rem 0 0; padding-left: clamp(.9rem, 4vw, 2.5rem); }
.hh-site .hh-comment-list li { max-width: none; margin: 0; }
.hh-comment-list .comment-body { padding: 1.1rem 1.25rem; background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius); box-shadow: var(--hh-shadow); }
.hh-comment-list .comment-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .6rem; }
.hh-comment-list .comment-author { display: flex; align-items: center; gap: .65rem; }
.hh-comment-list .comment-author .avatar { border-radius: 50%; }
.hh-comment-list .comment-author .fn { color: var(--hh-green-ink); font-weight: 700; font-style: normal; }
.hh-comment-list .says { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hh-comment-list .comment-metadata { font-size: .88rem; }
.hh-site .hh-comment-list .comment-metadata a { color: var(--hh-ink-soft); }
.hh-comment-list .comment-awaiting-moderation { display: block; flex-basis: 100%; padding: .45rem .75rem; background: #FCF0D5; color: #6B4A00; border-radius: var(--hh-radius-sm); font-style: normal; font-weight: 600; font-size: .92rem; }
.hh-site .hh-comment-list .comment-content p { max-width: none; margin: 0 0 .6rem; }
.hh-comment-list .reply a { font-weight: 700; }
.hh-comments .comment-respond { padding: clamp(1.25rem, 3vw, 2rem); background: var(--hh-white); border: 1px solid var(--hh-line); border-top: 5px solid var(--hh-green); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); }
.hh-comment-list .comment-respond { margin-top: 1rem; }
.hh-comments #cancel-comment-reply-link { margin-left: .75rem; font-family: var(--hh-sans); font-size: .9rem; font-weight: 700; }
.hh-site .hh-comment-form p { max-width: none; margin: 0 0 1.1rem; }
.hh-comment-form label { display: block; margin-bottom: .35rem; font-weight: 700; }
.hh-comment-form .required { color: var(--hh-danger); }
.hh-site .hh-comment-form input[type="text"], .hh-site .hh-comment-form input[type="email"], .hh-site .hh-comment-form input[type="url"], .hh-site .hh-comment-form textarea { width: 100%; min-height: 48px; padding: .65rem .85rem; border: 1.5px solid var(--hh-field); border-radius: var(--hh-radius-sm); background: var(--hh-white); color: var(--hh-ink); font: inherit; }
.hh-site .hh-comment-form textarea { min-height: 160px; resize: vertical; }
.hh-site .hh-comment-form :is(input, textarea):focus-visible { border-color: var(--hh-green); }
.hh-site .hh-comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: .6rem; }
.hh-comment-form .comment-form-cookies-consent label { margin: 0; font-weight: 500; }
.hh-comment-form .comment-form-cookies-consent input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--hh-green); }
.hh-site .hh-comment-form :is(.comment-notes, .logged-in-as, .hh-comment-form__privacy) { color: var(--hh-ink-soft); font-size: .95rem; }
.hh-site .hh-comment-form .form-submit { margin-bottom: 0; }
@media (max-width: 480px) { .hh-comment-form .form-submit .hh-button { width: 100%; } }
.hh-site .hh-comments__closed { color: var(--hh-ink-soft); }

/* Reviews page: containers reserved for the Google and Zocdoc widgets */
.hh-section--reviews-intro { padding-block: clamp(28px, 4vw, 48px) 0; }
.hh-review-widget { display: flex; flex-direction: column; justify-content: center; min-height: 160px; padding: clamp(1rem, 3vw, 2rem); background: var(--hh-white); border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); box-shadow: var(--hh-shadow); overflow-x: auto; }
.hh-review-widget > * { max-width: 100%; }
.hh-site .hh-review-widget__pending { margin: 0 auto; max-width: none; color: var(--hh-ink-soft); text-align: center; }
.hh-review-widget > .hh-review-widget__pending:not(:only-child) { display: none; }
.hh-review-widget .hh-reviews__sources { margin-top: 0; }

/* Footer: four link groups (Care, Patients, Blog, Sitemap) */
.hh-footer__grid { grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); gap: 2rem 2.25rem; }
@media (max-width: 1100px) { .hh-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .hh-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 960px) { .hh-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hh-footer__grid { grid-template-columns: 1fr; } }

/* Social icons: official marks in brand colors on round white backgrounds */
.hh-site .hh-footer__social a { width: 44px; height: 44px; border: 0; background: var(--hh-white); box-shadow: 0 1px 3px rgba(0, 0, 0, .25); }
.hh-site .hh-footer__social a:hover { background: var(--hh-white); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, .3); }
.hh-social-icon { width: 24px; height: 24px; }
/* Comment submit button: the site's primary button (Astra styles input#submit and #comments .submit blue and square; ID selectors are needed to override it). */
.hh-site #comments .hh-comment-form input#submit { min-height: 48px; padding: .7rem 1.6rem; border: 2px solid var(--hh-green); border-radius: 999px; background: var(--hh-green); color: var(--hh-white); font: 700 1rem/1.2 var(--hh-sans); letter-spacing: 0; text-transform: none; cursor: pointer; }
.hh-site #comments .hh-comment-form input#submit:hover { background: var(--hh-green-hover); border-color: var(--hh-green-hover); color: var(--hh-white); box-shadow: 0 6px 18px rgba(5, 108, 95, .25); }
.hh-site #comments .hh-comment-form input#submit:focus-visible { outline: 3px solid var(--hh-focus); outline-offset: 3px; }
/* Article reading rhythm (the page-builder layout removes paragraph and list margins). */
.hh-site .hh-post__content > p, .hh-site .hh-post__content > ul, .hh-site .hh-post__content > ol { margin: 0 0 1.1em; }
.hh-site .hh-post__content > p:has(+ ul) { margin-bottom: .45em; }
.hh-site .hh-post__content .hh-lede { margin-bottom: 1.25em; }
.hh-site .hh-post__content > .hh-post-tip { margin: 1.25em 0 1.5em; }
.hh-post__content ol { padding-left: 1.5rem; }
.hh-post__content ol > li::marker { color: var(--hh-green); font-weight: 700; }
.hh-site .hh-appointments__help { margin: clamp(20px, 3vw, 32px) auto 0; color: var(--hh-ink-soft); text-align: center; }
/* The theme zeroes .entry-content margins site-wide; articles need their centered reading column back. */
.hh-site .entry-content.hh-post__content { margin: clamp(32px, 5vw, 56px) auto 0; }
.hh-site .hh-post__image--contain img { object-fit: contain; background: linear-gradient(135deg, var(--hh-cream) 0%, var(--hh-mint) 100%); }

/* =====================================================================
   2026-10-29: medication dosage selector (/medications/, [hh_medication_selector])
   Three cards; injectable and oral are told apart by a badge and a colored top edge.
   ===================================================================== */
.hh-section > .hh-medpick { max-width: var(--hh-max); }
.hh-medpick__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2.4vw, 26px); align-items: stretch; }
.hh-medpick__card { padding: 0; overflow: hidden; border-top: 6px solid var(--hh-green); }
.hh-medpick__card--oral { border-top-color: var(--hh-peach); }
.hh-site .hh-medpick__image { display: block; width: 100%; height: 220px; object-fit: contain; background: var(--hh-sage); padding: 1rem; }
.hh-medpick__card--oral .hh-medpick__image { object-fit: cover; padding: 0; }
.hh-medpick__body { display: flex; flex-direction: column; gap: .75rem; padding: clamp(18px, 2.4vw, 26px); flex: 1; }
.hh-site .hh-medpick__body > * { margin: 0; max-width: none; }
.hh-medpick__badge { align-self: flex-start; padding: .25rem .7rem; border-radius: 999px; font-size: .82rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; background: var(--hh-mint); color: var(--hh-green-ink); }
.hh-medpick__badge--oral { background: var(--hh-peach-soft); color: var(--hh-terracotta); }
.hh-site .hh-medpick__title { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.65rem); }
.hh-medpick__summary { color: var(--hh-ink-soft); }
.hh-medpick__from { padding: .7rem .9rem; border-radius: var(--hh-radius-sm); background: var(--hh-mint); }
.hh-medpick__card--oral .hh-medpick__from { background: var(--hh-peach-wash); }
.hh-site .hh-medpick__from p { margin: 0; }
.hh-medpick__from strong { font-size: 1.25rem; color: var(--hh-green-ink); }
.hh-medpick__from .hh-inline-price { margin: 0; padding: 0; background: none; }
.hh-medpick__product { font-weight: 600; }
.hh-site .hh-medpick__pending { font-size: .9rem; color: var(--hh-ink-soft); margin-top: .25rem; }
.hh-medpick__form { display: flex; flex-direction: column; gap: .6rem; margin-top: auto; }
.hh-medpick__choose { border: 1px solid var(--hh-line); border-radius: var(--hh-radius-sm); background: var(--hh-white); }
.hh-medpick__choose > summary { cursor: pointer; padding: .75rem .9rem; font-weight: 700; color: var(--hh-green-ink); list-style-position: inside; }
.hh-medpick__choose > summary:focus-visible { outline: 3px solid var(--hh-focus); outline-offset: 2px; }
.hh-medpick__group { border: 0; margin: 0; padding: 0 .6rem .6rem; }
.hh-medpick__group + .hh-medpick__group { border-top: 1px solid var(--hh-line); padding-top: .4rem; }
.hh-medpick__group > legend { padding: .4rem .3rem; font-weight: 700; font-size: .92rem; }
.hh-medpick__option { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; margin: .3rem 0; padding: .6rem .7rem; min-height: 44px; border: 1px solid var(--hh-line); border-radius: var(--hh-radius-sm); cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.hh-medpick__option:hover { border-color: var(--hh-green-bright); }
.hh-medpick__option:has(input:checked), .hh-medpick__option.is-selected { border: 2px solid var(--hh-green); background: var(--hh-mint); }
.hh-medpick__option:has(input:focus-visible) { outline: 3px solid var(--hh-focus); outline-offset: 2px; }
.hh-medpick__option input { width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--hh-green); }
.hh-medpick__dose { font-weight: 600; }
.hh-medpick__price { font-weight: 700; color: var(--hh-green-ink); white-space: nowrap; }
.hh-site .hh-medpick__selected { font-weight: 600; color: var(--hh-green-ink); }
.hh-site .hh-medpick__msg { padding: .6rem .8rem; border-radius: var(--hh-radius-sm); background: var(--hh-danger-soft); color: var(--hh-danger); font-size: .92rem; }
.hh-site .hh-medpick__alt { font-size: .92rem; }
.hh-medpick__notice { margin-bottom: 1.25rem; }
@media (prefers-reduced-motion: reduce) { .hh-medpick__option { transition: none; } }

/* 2026-10-30: order panel (the medication's GoHighLevel order form, embedded after "Continue to Order") */
.hh-medorder { max-width: var(--hh-content); margin-inline: auto; }
.hh-medorder[hidden], .hh-medpick__grid[hidden] { display: none; }
.hh-site .hh-medorder > * { max-width: none; }
.hh-medorder__back { margin: 0 0 1rem; }
.hh-site .hh-medorder__title { font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem); margin: 0 0 .35rem; }
.hh-medorder__title:focus { outline: none; }
.hh-medorder__price { font-size: 1.15rem; font-weight: 700; color: var(--hh-green-ink); margin: 0 0 1rem; }
.hh-medorder__single { font-weight: 600; color: var(--hh-green-ink); }
.hh-medorder__multi { margin: 0 0 1.25rem; }
.hh-medorder__multi p { margin: 0; }
.hh-ghl--order { max-width: none; }
.hh-medorder__frame { min-height: 1800px; } /* GoHighLevel order form: 1,250–1,575px of content at desktop width (2026-10-30; Stripe varies), plus room for messages. */
@media (max-width: 640px) { .hh-medorder__frame { min-height: 2400px; } } /* 1,830–1,930px on a phone. */
.hh-site .hh-medorder__note { margin-top: 1rem; font-size: .92rem; color: var(--hh-ink-soft); }
